delphi函数大全

abort 函数 引起放弃的意外处理
abs 函数 绝对值函数
addexitproc 函数 将一过程添加到运行时库的结束过程表中
addr 函数 返回指定对象的地址
adjustlinebreaks 函数 将给定字符串的行分隔符调整为cr/lf序列
align 属性 使控件位于窗口某部分
alignment 属性 控件标签的文字位置
allocmem 函数 在堆栈上分配给定大小的块
allowgrayed 属性 允许一个灰度选择
ansicomparestr 函数 比较字符串(区分大小写)
ansicomparetext 函数 比较字符串(不区分大小写)
ansilowercase 函数 将字符转换为小写
ansiuppercase 函数 将字符转换为大写
append 函数 以附加的方式打开已有的文件
arctan 函数 余切函数
assignfile 函数 给文件变量赋一外部文件名
assigned 函数 测试函数或过程变量是否为空
autosize 属性 自动控制标签的大小
backgrounddi2001.jpg 属性 背景色
beginthread 函数 以适当的方式建立用于内存管理的线程
bevelinner 属性 控件方框的内框方式
bevelouter 属性 控件方框的外框方式
bevelwidth 属性 控件方框的外框宽度
blockread 函数 读一个或多个记录到变量中
blockwrite 函数 从变量中写一个或多个记录
borderstyle 属性 边界类型
borderwidth 属性 边界宽度
break 命令 终止for、while、repeat循环语句
brush 属性 画刷
caption 属性 标签文字的内容
changefileext 函数 改变文件的后缀
chdir 函数 改变当前目录
checked 属性 确定复选框选中状态
chr 函数 返回指定序数的字符
closefile 命令 关闭打开的文件
color 属性 标签的颜色
columns 属性 显示的列数
comparestr 函数 比较字符串(区分大小写)
concat 函数 合并字符串
continue 命令 继续for、while、repeat的下一个循环
copy 函数 返回一字符串的子串
cos 函数 余弦函数
ctl3d 属性 是否具有3d效果
cursor 属性 鼠标指针移入后的形状
date 函数 返回当前的日期
datetimetofiledate 函数 将delphi的日期格式转换为dos的日期格式
datetimetostr 函数 将日期时间格式转换为字符串
datetimetostring 函数 将日期时间格式转换为字符串
datetostr 函数 将日期格式转换为字符串
dayofweek 函数 返回星期的数值
dec 函数 递减变量值
decodedate 函数 将日期格式分解为年月日
decodetime 函数 将时间格式分解为时、分、秒、毫秒
delete 函数 从字符串中删除子串
deletefile 命令 删除文件
diskfree 函数 返回剩余磁盘空间的大小
disksize 函数 返回指定磁盘的容量
dispose 函数 释放动态变量所占的空间
disposestr 函数 释放字符串在堆栈中的内存空间
ditherbackgrounddi2001.jpg?使背景色的色彩加重或减少50%
dragcursor 属性 当鼠标按下时光标的形状
dragmode 属性 按动的作用方式
dropdowncount 属性 容许的显示数据项的数目
editmask 属性 编辑模式
enabled 属性 是否使标签呈现打开状态
encodedate 函数 将年月日合成为日期格式
encodetime 函数 将时、分、秒、毫秒合成为时间格式
endmargin 属性 末尾边缘
eof 函数 对有类型或无类型文件测试是否到文件尾
eoln 函数 返回文本文件的行结束状态
erase 命令 删除外部文件
exceptaddr 函数 返回引起当前意外的地址
exclude 函数 从集合中删除一些元素
exceptobject 函数 返回当前意外的索引
exit 命令 立即从当前的语句块中退出
exp 函数 指数函数
expandfilename 函数 返回包含绝对路径的字符串
extendedselect 属性 是否允许存在选择模式,true时,multiselect才有意义
extractfiledir 函数 返回驱动器和路径
extractfileext 函数 返回文件的后缀
extractfilename 函数 返回文件名
extractfilepath 函数 返回指定文件的路径
fileage 函数 返回文件已存在的时间
fileclose 命令 关闭指定的文件
filecreate 命令 用指定的文件名建立新文件
filedatetodatetime 函数 将dos的日期格式转换为delphi的日期格式
fileexists 函数 检查文件是否存在
filegatattr 函数 返回文件的属性
filegetdate 函数 返回文件的dos日期时间标记
fileopen 命令 用指定的存取模式打开指定的文件
filepos 函数 返回文件的当前指针位置
fileread 命令 从指定的文件读取
filesearch 命令 在目录中搜索指定的文件
fileseek 函数 改变文件的指针
filesetattr 函数 设置文件属性
filesetdate 函数 设置文件的dos日期时间标记
filesize 函数 返回当前文件的大小
filewrite 函数 对指定的文件做写操作
fillchar 函数 用指定的值填充连续字节的数
findclose 命令 终止findfirst/findnext序列
findfirst 命令 对指定的文件名及属性搜索目录
findnext 命令 返回与文件名及属性匹配的下一入口
floattodecimal 函数 将浮点数转换为十进制数
floattostrf 函数 将浮点数转换为字符串
floattostr 函数 将浮点数转换为字符串
floattotext 函数 将给定的浮点数转换为十进制数
floattotextfmt 函数 将给定的浮点数转换为十进制数
flush 函数 将缓冲区的内容刷新到输出的文本文件中
fmtloadstr 函数 从程序的资源字符串表中装载字符串
fmtstr 函数 格式化一系列的参数,其结果以参数result返回
font 属性 设置字体
format 函数 格式化一系列的参数并返回pascal字符串
formatbuf 函数 格式化一系列的参数
formatdatetime 函数 用指定的格式来格式化日期和时间
formatfloat 函数 指定浮点数格式
frac 函数 返回参数的小数部分
freemem 函数 按给定大小释放动态变量所占的空间
getdir 返回指定驱动器的当前目录
getheapstatus 返回内存管理器的当前状态
getmem 建立一指定大小的动态变量,并将指针指向该处
getmemorymanager 返回内存管理器的入口点
glyph 函数 按钮上的图象
halt 停止程序的执行并返回到操作系统
hi 返回参数的高地址位
high 返回参数的上限值
hint 属性 提示信息
int 返回参数的整数部分
include 添加元素到集合中
insert 在字符串中插入子串
inttohex 将整型数转换为十六进制数
inttostr 将整型数转换为字符串
ioresult 返回最新的i/o操作完成状态
isvalidident 测试字符串是否为有效的标识符
items 属性 默认显示的节点
kind 属性 摆放样式
largechange 属性 最大改变值
layout 属性 图象布局
length 函数 返回字符串的动态长度
lines 属性 缺省显示内容
ln 函数 自然对数函数
lo 函数 返回参数的低地址位
loadstr 函数 从应用程序的可执行文件中装载字符资源
lowercase 函数 将给定的字符串变为小写
low 函数 返回参数的下限值
max 属性 最大值
maxlength 属性 最大长度
min 属性 最小值
mkdir 命令 建立一子目录
move 函数 从源到目标复制字节
multiselect 属性 允许同时选择几个数据项
name 属性 控件的名字
new 函数 建立新的动态变量并设置一指针变量指向他
newstr 函数 在堆栈上分配新的字符串
now 函数 返回当前的日期和时间
odd 测试参数是否为奇数
onactivate 事件 焦点移到窗体上时触发
onclick 事件 单击窗体空白区域触发
ondblclick 事件 双击窗体空白区域触发
onclosequery 事件 使用者试图关闭窗体触发
onclose 事件 窗体关闭后才触发
oncreate 事件 窗体第一次创建时触发
ondeactivate 事件 用户切换到另一应用程序触发
ondragdrop 事件 鼠标拖放操作结束时触发
ondragover 事件 有其他控件从他上面移过触发
onmousedown 事件 按下鼠标键时触发
onmouseup 事件 释放鼠标键时触发
onmousemove 事件 移动鼠标时触发
onhide 事件 隐藏窗体时触发
onkeydown 事件 按下键盘某键时触发
onkeypress 事件 按下键盘上的单个字符键时触发
onkeyup 事件 释放键盘上的某键时触发
onpaint 事件 窗体上有新部分暴露出来触发
onresize 事件 重新调整窗体大小触发
onshow 事件 在窗体实际显示之前瞬间触发
ord 返回序数类的序数
outlinestyle 属性 类型
outofmemoryerror 引起outofmemory意外
pageindex 属性 页索引
pages 属性 页
paramcount 函数 返回在命令行上传递给程序的参数数量
paramstr 函数 返回指定的命令行参数
pen 属性 画刷设置
pi 函数 返回圆周率pi
picture 属性 显示图象
pictureclosed 属性 设置closed位图
pictureleaf 属性 设置leaf位图
pictureminus 属性 设置minus位图
pictureopen 属性 设置open位图
pictureplus 属性 设置plus位图
pos 函数 在字符串中搜索子串
pred 函数 返回先前的参数
random 函数 返回一随机函数
randomize 函数 用一随机数初始化内置的随机数生成器
read 函数 对有格式的文件,读一文件组件到变量中;
对文本文件,读一个或多个值到一个或多个变量中
readln 函数 执行read过程,然后跳到文件下一行
readonly 属性 只读属性
reallocmem 函数 分配一动态变量
rename 函数 重命名外部文件
renamefile 函数 对文件重命名
reset 函数 打开已有的文件
rewrite 函数 建立并打开一新的文件
rmdir 函数 删除空的子目录
round 函数 将实数值舍入为整型值
runerror 函数 停止程序的执行
scrollbars 属性 滚动条状态
seek 函数 将文件的当前指针移动到指定的组件上
seekeof 函数 返回文件的文件结束状态
seekeoln 函数 返回文件的行结束状态
selectedcolor 属性 选中颜色
setmemorymanager 函数 设置内存管理器的入口点
settextbuf 函数 给文本文件指定i/o缓冲区
shape 属性 显示的形状
showexception 函数 显示意外消息与地址
sin 函数 正弦函数
sizeof 函数 返回参数所占的字节数
smallchange 属性 最小改变值
sorted 属性 是否允许排序
sqr 函数 平方函数
sqrt 函数 平方根函数
startmargin 属性 开始边缘
state 属性 控件当前状态
str 函数 将数值转换为字符串
stralloc 函数 给以null结束的字符串分配最大长度-1的缓冲区
strbufsize 函数 返回存储在由stralloc分配的字符缓冲区的最大字符数
strcat 函数 将一字符串附加到另一字符串尾并返回合并的字符串
strcomp 函数 比较两个字符串
strcopy 函数 将一个字符串复制到另一个字符串中
strdispose 函数 释放堆栈上的字符串
strecopy 函数 将一字符串复制到另一个字符串并返回结果字符串尾部的指针
strend 函数 返回指向字符串尾部的指针
stretch 属性 自动适应控件的大小
strfmt 函数 格式化一系列的参数
stricomp 函数 比较两个字符串(不区分大小写)
stringtowidechar 函数 将ansi字符串转换为unicode字符串
strlcat 函数 将一字符串中的字符附加到另一字符串尾并返回合并的字符串
strlcomp 函数 以最大长度比较两个字符串
strlcopy 函数 将一个字符串中的字符复制到另一个字符串中
strlen 函数 返回字符串中的字符数
strlfmt 函数 格式化一系列的参数,其结果中包含有指向目标缓冲区的指针
strlicomp 函数 以最大长度比较两个字符串(不区分大小写)
strlower 函数 将字符串中的字符转换为小写
strmove 函数 将一个字符串中的字符复制到另一个字符串中
strnew 函数 在堆栈上分配一个字符串
strpas 函数 将以null结束的字符串转换为pascal类的字符串
strpcopy 函数 将pascal类的字符串复制为以null结束的字符串
strplcopy 函数 从pascal类的最大长度字符串复制为以null结束的字符串
strpos 函数 返回一个字符串在另一个字符串中首次出现指针
strrscan 函数 返回字符串中最后出现字符的指针
strscan 函数 返回字符串中出现首字符的指针
strtodate 函数 将字符串转换为日期格式
strtodatetime 函数 将字符串转换为日期/时间格式
strtofloat 函数 将给定的字符串转换为浮点数
strtoint 函数 将字符串转换为整型
strtointdef 函数 将字符串转换为整型或默认值
strtotime 函数 将字符串转换为时间格式
strupper 函数 将字符串中的字符转换为大写
style 属性 类型选择
suce 函数 返回后继的参数
swap 函数 交换参数的高低地址位
tabs 属性 标记每一项的内容
tabindex 属性 标记索引
text 属性 显示的文本
texttofloat 函数 将字符串(以null结束的格式)转换为浮点数
time 函数 返回当前的时间
timetostr 函数 将时间格式转换为字符串
trim 函数 从给定的字符串中删除前导和尾部的空格及控制字符
trimleft 函数 从给定的字符串中删除首部的空格及控制字符
trimright 函数 从给定的字符串中删除尾部的空格及控制字符
trunc 函数 将实型值截取为整型值
truncate 函数 截去当前文件位置后的内容
unselectedcolor 属性 未选中颜色
upcase 将字符转换为大写
uppercase 将给定的字符串变为大写
val 函数 将字符串转换为整型值
vararraycreate 函数 以给定的界限和维数建立变体数组
vararraydimcount 函数 返回给定变体的维数
vararrayhighbound 函数 返回给定变体数组维数的上界
vararraylock 函数 锁定给定的变体数组
vararraylowbound 函数 返回给定变体数组维数的下界
vararrayof 函数 返回指定变体的数组元素
vararrayredim 函数 通过改变上限来调整变体的大小
vararrayunlock 函数 解锁指定的变体数组
varastype 函数 将变体转换为指定的类型
varcase 函数 将变体转换为指定的类型并保存他
varclear 函数 清除指定的变体
varcopy 函数 将指定的变体复制为指定的变体
varformdatetime 函数 返回包含日期时间的变体
varisarray 函数 测试变体是否为数组
varisempty 函数 测试变体是否为unassigned
varisnull 函数 测试变体是否为null
vartodatetime 函数 将给定的变体转换为日期时间
vartype 函数 将变体转换为指定的类型并保存他
visible 属性 控件的可见性
wantreturns 属性 为true时,按回车键产生一个回车符;
为false时,按下ctrl+enter才产生回车符
write 命令 对有格式的文件,写一变量到文件组件中; 对文本文件,写一个或多个值到文件中
writeln 命令 执行write过程,然后输出一行结束标志
widecharlentostring 函数 将ansi字符串转换为unicode字符串
widecharlentostrwar 函数 将unicode字符串转换为ansi字符串变量
widechartostring 函数 将unicode字符串转换为ansi字符串
widechartostrvar 函数 将unicode字符串转换为ansi字符串变量

posted @ 2006-02-13 12:01 青蛙學堂 阅读(1354) | 评论 (1)编辑 收藏

个人服务器之Win2000 DNS服务器的设置

一、DNS概述
  计算机在网络上通讯时只能识别如“192.168.0.48”之类的数字地址,那为什么当我们打开浏览器,在地址栏中输入如“www.abc.com”的域名后,就能看到我们所需要的页面呢?这是在我们输入域名后,有一种“DNS服务器”的计算机自动把我们的域名“翻译”成了相应的IP地址,然后调出那个IP地址所对应的网页,最后再传回给我们的浏览器,我们才能得到结果。
  
  DNS是域名系统 (Domain Name System)的缩写,是一种组织成域层次结构的计算机和网络服务命名系统。DNS 命名用于TCP/IP网络,如Internet,用来通过用户友好的名称定位计算机和服务。当用户在应用程序中输入DNS 名称时,DNS服务可以将此名称解析为与此名称相关的其他信息,如IP地址。
  
  所以,我们想要我们自己内部网上的域名能成功地被解析(即翻译成IP地址),就需要将我们自己的2K机建立成一个DNS服务器,里面包含有我们的域名和IP地址之间的映射表。这通常需要建立一种A记录,A是Address的简写,意为“主机记录”或“主机地址记录”,是所有DNS记录中最常见的一种。
  
  二、DNS的设置
  1、打开DNS控制台:选“开始菜单→程序→管理工具→DNS”。
  
  2、建立域名“admin.abc.com”映射IP地址“192.168.0.50”的主机记录。
  
  ①建立“com”区域:选“DNS→WY(你的服务器名)→正向搜索区域→右键→新建区域”,然后根据提示选“标准主要区域”、在“名称”处输入“com”。如下图:
  
 

  ②建立“abc”域:选“com→右键→新建域”,在“键入新域名”处输入“abc”。
  
  ③建立“admin”主机。选“abc→右键→新建主机”,“名称”处为“admin”,“IP地址”处输入“192.168.0.50”,再按“添加主机”。
  
 

  3、建立域名“www.abc.com”映射IP地址“192.168.0.48”的主机记录。
  
  ①由于域名“www.abc.com”和域名“admin.abc.com”均位于同一个“区域”和“域”中,均在上步已建立好,因此应直接使用,只需再在“域”中添加相应“主机名”即可。
  
  ②建立“www”主机:选“abc→右键→新建主机”,在“名称”处输入“www”,“IP地址”处输入“192.168.0.48”,最后再“添加主机”即可。
  
  4、建立域名“ftp.abc.com”映射IP地址“192.168.0.49”的主机记录方法同上。
  
  5、建立域名“abc.com”映射IP地址“192.168.0.48”的主机记录方法也和上述相同,只是必须保持“名称”一项为空!建立好后它的“名称”处将显示“与父文件夹相同”。建立好的DNS控制台如下图所示:
  
 

  6、建立更多的主机记录或其他各种记录方法类似。更多的建立后如下图所示:
  
 

  7、建立时也有可以采用将“abc.com”整个作为“区域”,然后在它下面直接建立“主机”的作法。不过对于同类记录较多时,这种方法显得较为不便。
  
  三、DNS设置后的验证
  为了测试所进行的设置是否成功,通常采用2K自带的“ping”命令来完成。格式如“ping www.abc.com”。成功的测试如下图所示:
  

posted @ 2006-02-11 13:43 青蛙學堂 阅读(295) | 评论 (0)编辑 收藏

研究DNS原理

计算机在网络上进行通讯时只能识别如“201.51.0.73”之类的IP地址,而不能认识域名.但是,当打开浏览器,在地址栏中输入域名后,就能看到所需要的页面,这是因为有一个叫“DNS服务器”的计算机自动把我们的域名“翻译”成了相应的IP地址,然后调出IP地址所对应的网页。
  
  什么是DNS
  
  DNS( Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它主要是用来通过用户亲切而友好的名称代替枯燥而难记的IP地址以定位相应的计算机和相应服务。因此,要想让亲切而友好的名称能被网络所认识,则需要在名称和IP地址之间有一位“翻译官”,它能将相关的域名翻译成网络能接受的相应IP地址。DNS就是这样的一位“翻译官”,它的工作原理可用图1来表示。
  
 

  
图1

  
  如何建立DNS
  
  在校园网内部使用DNS,可以建立内部的DNS服务,使我们的校园网络的应用更加具有人性化。
  
  1、欲实现的目标
  
  某学校由于工作的需要,想配置一名为sjsgz.net的域,如图2所示。
  
 

  
图2

  
  在这个域中,为了使用户在浏览器地址栏中键入相应的主机名就会找到相应的服务,为此,需要设置相应的DNS服务器。
  
  2、DNS服务的安装
  
  我们从guanli.sjsgz.net开始,准备在这台计算机上安装DNS服务器服务。安装DNS的步骤如下:
  
  (1)选“开始→设置→控制面板”,打开“添加/删除程序”。
  
  (2)单击“添加/删除Windows组件”,等待Windows组件向导启动。
  
  (3)单击[下一步]按钮弹出Windows组件清单。
  
  (4)单击[网络服务],然后再单击[详细情况]按钮。
  
  (5)单击“DNS(域名系统)”旁的复选框。
  
  (6)单击[确定]按钮返回“Windows组件”对话框。
  
  (7)单击[下一步]安装相应的服务,然后逐一单击[完成]和[关闭]按钮即可完成。
  
  不需要重新启动计算机,单击“开始→程序→管理工具→DNS”,出现如图3所示的窗口,此时可以在左边的窗口中看到代表你的服务器的图标(guanli)。
  
  3、创建“sjsgz.net”区域
  
  (1)用鼠标单击图3中“guanli”旁边的“+”号,然后用鼠标右键单击“guanli”,选“新建区域”以进入新建区域向导中。
  
  (2)当向导提示到要让选择“区域类型”时,此处应该选“标准主要区域”,而在“正向或反向搜索区域中”应选“正向搜索区域”,单击“正向搜索区域”旁边的“+”号,用鼠标右键单击“正向搜索区域”,单击[下一步]按钮。
  
  (3)屏幕出现询问“区域名”,则在“名称”后的文字框中输入“sjsgz.net”,接着向导进入到“区域文件”提示窗口中,默认的,系统会自动选中“创建新文件,文件名为”一项,并在其后的文字框中自动填有“sjsgz.net.dns”的名字(如图4所示),单击[下一步]按钮,然后单击[完成]即可完成区域创建,此时在DNS管理器的左边的“guanli→正向搜索区域”里可以看到“sjsgz.net”区域(如图3所示)。
  
 

  
图3

  
  注意:创建正向搜索区域的目的是为了将主机名翻译为IP地址,你也可以创建反向搜索区域,便于将IP地址翻译成相应的主机名,创建方法和正向搜索区域的创建相似。
  
  4、创建主机
  
  下面我们将以创建图2中Web服务器(www.sjsgz.net)主机为例说明如何创建主机。
  
  (1)在图3所示窗口中的“sjsgz.net”区域上单击右键,选“新建主机”,在其后的对话框中的“名称”栏中输入主机名“www”,在“IP地址”栏输入“10.88.56.2”。
  
  (2)单击[添加主机]按钮,即成功地创建了主机地址记录www.sjsgz.net,在“新建主机”窗口再选“完成”便可回到DNS管理器中。
  
  (3)上述记录建好以后,就可以在DNS管理器中看到相关的DNS映射记录表(如图4所示),这样,就在“www.sisgz.net”与“10.88.56.2”之间建立了映射关系。
  

  
图4

  
  5、测试配置
  
  DNS服务器配置完以后,如何检测它是否配置正确呢?可以用一个称作“Nslookup”的诊断程序来进行检测。下面我们就用这个命令对“guanli.sjsgz.net”DNS服务器进行测试。
  
  (1)在命令提示符下输入:Nslookup,启动该程序。此时系统会响应它当前翻译名字所使用的DNS服务器的IP地址。
  
  (2)然后在命令提示符下输入:ls - d sjsgz.net。这个命令的功能是让DNS服务器列出它所知道的有关sjsgz.net的每一条信息。
  
  (3)在命令提示符下输入:Exit,即可退出Nslookup命令。
  
  注意:在安装“DNS服务器”之前,必须用静态的IP地址配置计算机。
  
  在校园网中安装、配置DNS服务器的目的是为了更好地应用网络为教育教学服务、更好地提供一个具有人性化的应用环境。但是有一点需要注意的是,为了配置DNS的动态更新功能,必须配置DNS和DHCP服务器。

posted @ 2006-02-11 13:37 青蛙學堂 阅读(371) | 评论 (0)编辑 收藏

WINS服务器和DNS服务器有什么区别?

对于许多人来说,WINS服务器和DNS服务器之间的关系还是一件神秘的事情。不过,我们希望用你的问题澄清这个事情。
  
  首先,DNS指的是“域名服务器”,而WINS指的是“Windows互联网名称服务”。两者都是用来解析域名的,但是,使用的方法完全不同!
  
  为了帮助说明这个问题,我准备使用一个例子,保证让你正确地了解这两种服务的情况。
  
  考虑一个名为“Jupiter”的文件服务器和下面两个指令:
  
  Ping Jupiter.space.net
  
  Net use * jupiter mainshare
  
  上面两个指令看起来很相似。第一个指令是向我们的文件服务器发送一个ping (icmp echo)数据包,确认这个服务器在工作。而第二个指令呼叫同一台服务器(jupiter),以便连接到一个名为“mainshare”的共享文件夹。
  
  虽然这两个指令都指向同一台服务器(Jupiter),但是,它们之间的区别是很重要的。
  
  这里的“Ping”使用DNS把Jupiter.space.net解析为一个IP地址,如204.45.12.1。而“net use”指令使用WINS把NetBIOS名称“Jupiter”解析为一个IP地址。
  
  这样,你也许会感到疑惑,为什么有两种不同的服务实际上在完成同一个任务?
  
  这个问题的答案是,这两种服务的每一种服务都依靠不同的协议。他们只是以不同的方式工作。
  
  WINS是微软网络拓扑的一个重要的组成部分。在过去,你需要在Windows网络中运行一个WINS服务器以避免域名解析的问题。当时的这种NetBIOS(Windows机器名称)协议只能在NetBEUI传输协议上工作。如果你曾经使用过Windows 95,你会记得NetBEUI协议经常出现在你的网络属性中。在网络属性中,TCP/IP协议也是一个选项。
  
  目前,DNS取代了WINS。由于微软对NetBIOS做了修改,允许它使用TCP/IP堆栈完成其工作(TCP/IP协议上的NetBIOS),大多数DNS服务器都能够处理NetBIOS的请求。这就是WINS服务器变得越来越少的原因。
  
  简言之,DNS把TCP/IP主机名称映射为IP地址,WINS把NetBIOS主机名称映射为IP地址。

posted @ 2006-02-11 13:31 青蛙學堂 阅读(285) | 评论 (0)编辑 收藏

交换机VLAN的配置

有关VLAN的技术标准IEEE 802.1Q早在1999年6月份就由IEEE委员正式颁布实施了,而且最早的VLNA技术早在1996年Cisco(思科)公司就提出了。随着几年来的发展,VLAN技术得到广泛的支持,在大大小小的企业网络中广泛应用,成为当前最为热门的一种以太局域网技术。本篇就要为大家介绍交换机的一个最常见技术应用--VLAN技术,并针对中、小局域网VLAN的网络配置以实例的方式向大家简单介绍其配置方法。

  一、VLAN基础

  VLAN(Virtual Local Area Network)的中文名为"虚拟局域网",注意不是"VPN"(虚拟专用网)。VLAN是一种将局域网设备从逻辑上划分(注意,不是从物理上划分)成一个个网段,从而实现虚拟工作组的新兴数据交换技术。这一新兴技术主要应用于交换机和路由器中,但主流应用还是在交换机之中。但又不是所有交换机都具有此功能,只有VLAN协议的第三层以上交换机才具有此功能,这一点可以查看相应交换机的说明书即可得知。

  IEEE于1999年颁布了用以标准化VLAN实现方案的802.1Q协议标准草案。VLAN技术的出现,使得管理员根据实际应用需求,把同一物理局域网内的不同用户逻辑地划分成不同的广播域,每一个VLAN都包含一组有着相同需求的计算机工作站,与物理上形成的LAN有着相同的属性。由于它是从逻辑上划分,而不是从物理上划分,所以同一个VLAN内的各个工作站没有限制在同一个物理范围中,即这些工作站可以在不同物理LAN网段。由VLAN的特点可知,一个VLAN内部的广播和单播流量都不会转发到其他VLAN中,从而有助于控制流量、减少设备投资、简化网络管理、提高网络的安全性。

  交换技术的发展,也加快了新的交换技术(VLAN)的应用速度。通过将企业网络划分为虚拟网络VLAN网段,可以强化网络管理和网络安全,控制不必要的数据广播。在共享网络中,一个物理的网段就是一个广播域。而在交换网络中,广播域可以是有一组任意选定的第二层网络地址(MAC地址)组成的虚拟网段。这样,网络中工作组的划分可以突破共享网络中的地理位置限制,而完全根据管理功能来划分。这种基于工作流的分组模式,大大提高了网络规划和重组的管理功能。在同一个VLAN中的工作站,不论它们实际与哪个交换机连接,它们之间的通讯就好象在独立的交换机上一样。同一个VLAN中的广播只有VLAN中的成员才能听到,而不会传输到其他的 VLAN中去,这样可以很好的控制不必要的广播风暴的产生。同时,若没有路由的话,不同VLAN之间不能相互通讯,这样增加了企业网络中不同部门之间的安全性。网络管理员可以通过配置VLAN之间的路由来全面管理企业内部不同管理单元之间的信息互访。交换机是根据用户工作站的MAC地址来划分VLAN的。所以,用户可以自由的在企业网络中移动办公,不论他在何处接入交换网络,他都可以与VLAN内其他用户自如通讯。

  VLAN网络可以是有混合的网络类型设备组成,比如:10M以太网、100M以太网、令牌网、FDDI、CDDI等等,可以是工作站、服务器、集线器、网络上行主干等等。

  VLAN除了能将网络划分为多个广播域,从而有效地控制广播风暴的发生,以及使网络的拓扑结构变得非常灵活的优点外,还可以用于控制网络中不同部门、不同站点之间的互相访问。   VLAN是为解决以太网的广播问题和安全性而提出的一种协议,它在以太网帧的基础上增加了VLAN头,用VLAN ID把用户划分为更小的工作组,限制不同工作组间的用户互访,每个工作组就是一个虚拟局域网。虚拟局域网的好处是可以限制广播范围,并能够形成虚拟工作组,动态管理网络。

  二、VLAN的划分方法

  VLAN在交换机上的实现方法,可以大致划分为六类:

  1. 基于端口划分的VLAN

  这是最常应用的一种VLAN划分方法,应用也最为广泛、最有效,目前绝大多数VLAN协议的交换机都提供这种VLAN配置方法。这种划分VLAN的方法是根据以太网交换机的交换端口来划分的,它是将VLAN交换机上的物理端口和VLAN交换机内部的PVC(永久虚电路)端口分成若干个组,每个组构成一个虚拟网,相当于一个独立的VLAN交换机。

  对于不同部门需要互访时,可通过路由器转发,并配合基于MAC地址的端口过滤。对某站点的访问路径上最靠近该站点的交换机、路由交换机或路由器的相应端口上,设定可通过的MAC地址集。这样就可以防止非法入侵者从内部盗用IP地址从其他可接入点入侵的可能。

  从这种划分方法本身我们可以看出,这种划分的方法的优点是定义VLAN成员时非常简单,只要将所有的端口都定义为相应的VLAN组即可。适合于任何大小的网络。它的缺点是如果某用户离开了原来的端口,到了一个新的交换机的某个端口,必须重新定义。

  2. 基于MAC地址划分VLAN

  这种划分VLAN的方法是根据每个主机的MAC地址来划分,即对每个MAC地址的主机都配置他属于哪个组,它实现的机制就是每一块网卡都对应唯一的MAC地址,VLAN交换机跟踪属于VLAN MAC的地址。这种方式的VLAN允许网络用户从一个物理位置移动到另一个物理位置时,自动保留其所属VLAN的成员身份。

  由这种划分的机制可以看出,这种VLAN的划分方法的最大优点就是当用户物理位置移动时,即从一个交换机换到其他的交换机时,VLAN不用重新配置,因为它是基于用户,而不是基于交换机的端口。这种方法的缺点是初始化时,所有的用户都必须进行配置,如果有几百个甚至上千个用户的话,配置是非常累的,所以这种划分方法通常适用于小型局域网。而且这种划分的方法也导致了交换机执行效率的降低,因为在每一个交换机的端口都可能存在很多个VLAN组的成员,保存了许多用户的MAC地址,查询起来相当不容易。另外,对于使用笔记本电脑的用户来说,他们的网卡可能经常更换,这样VLAN就必须经常配置。

  3. 基于网络层协议划分VLAN

  VLAN按网络层协议来划分,可分为IP、IPX、DECnet、AppleTalk、Banyan等VLAN网络。这种按网络层协议来组成的VLAN,可使广播域跨越多个VLAN交换机。这对于希望针对具体应用和服务来组织用户的网络管理员来说是非常具有吸引力的。而且,用户可以在网络内部自由移动,但其VLAN成员身份仍然保留不变。

  这种方法的优点是用户的物理位置改变了,不需要重新配置所属的VLAN,而且可以根据协议类型来划分VLAN,这对网络管理者来说很重要,还有,这种方法不需要附加的帧标签来识别VLAN,这样可以减少网络的通信量。这种方法的缺点是效率低,因为检查每一个数据包的网络层地址是需要消耗处理时间的(相对于前面两种方法),一般的交换机芯片都可以自动检查网络上数据包的以太网祯头,但要让芯片能检查IP帧头,需要更高的技术,同时也更费时。当然,这与各个厂商的实现方法有关。

  4. 根据IP组播划分VLAN

  IP 组播实际上也是一种VLAN的定义,即认为一个IP组播组就是一个VLAN。这种划分的方法将VLAN扩大到了广域网,因此这种方法具有更大的灵活性,而且也很容易通过路由器进行扩展,主要适合于不在同一地理范围的局域网用户组成一个VLAN,不适合局域网,主要是效率不高。

  5. 按策略划分VLAN

  基于策略组成的VLAN能实现多种分配方法,包括VLAN交换机端口、MAC地址、IP地址、网络层协议等。网络管理人员可根据自己的管理模式和本单位的需求来决定选择哪种类型的VLAN 。

  6. 按用户定义、非用户授权划分VLAN

  基于用户定义、非用户授权来划分VLAN,是指为了适应特别的VLAN网络,根据具体的网络用户的特别要求来定义和设计VLAN,而且可以让非VLAN群体用户访问VLAN,但是需要提供用户密码,在得到VLAN管理的认证后才可以加入一个VLAN。


  三、VLAN的优越性

  任何新技术要得到广泛支持和应用,肯定存在一些关键优势,VLAN技术也一样,它的优势主要体现在以下几个方面:

  1. 增加了网络连接的灵活性

  借助VLAN技术,能将不同地点、不同网络、不同用户组合在一起,形成一个虚拟的网络环境 ,就像使用本地LAN一样方便、灵活、有效。VLAN可以降低移动或变更工作站地理位置的管 理费用,特别是一些业务情况有经常性变动的公司使用了VLAN后,这部分管理费用大大降低。

  2. 控制网络上的广播

  VLAN可以提供建立防火墙的机制,防止交换网络的过量广播。使用VLAN,可以将某个交换端口或用户赋于某一个特定的VLAN组,该VLAN组可以在一个交换网中或跨接多个交换机, 在一个VLAN中的广播不会送到VLAN之外。同样,相邻的端口不会收到其他VLAN产生的广 播。这样可以减少广播流量,释放带宽给用户应用,减少广播的产生。

  3. 增加网络的安全性

  因为一个VLAN就是一个单独的广播域,VLAN之间相互隔离,这大大提高了网络的利用率,确保了网络的安全保密性。人们在LAN上经常传送一些保密的、关键性的数据。保密的数据应 提供访问控制等安全手段。一个有效和容易实现的方法是将网络分段成几个不同的广播组, 网络管理员限制了VLAN中用户的数量,禁止未经允许而访问VLAN中的应用。交换端口可以基 于应用类型和访问特权来进行分组,被限制的应用程序和资源一般置于安全性VLAN中。

  四、VLAN网络的配置实例

  为了给大家一个真实的配置实例学习机会,下面就以典型的中型局域网VLAN配置为例向各位介绍目前最常用的按端口划分VLAN的配置方法。

  某公司有100台计算机左右,主要使用网络的部门有:生产部(20)、财务部(15)、人事部(8)和信息中心(12)四大部分,如图1所示。

  网络基本结构为:整个网络中干部分采用3台Catalyst 1900网管型交换机(分别命名为:Switch1、Switch2和Switch3,各交换机根据需要下接若干个集线器,主要用于非VLAN用户,如行政文书、临时用户等)、一台Cisco 2514路由器,整个网络都通过路由器Cisco 2514与外部互联网进行连接。

1 2




所连的用户主要分布于四个部分,即:生产部、财务部、信息中心和人事部。主要对这四个部分用户单独划分VLAN,以确保相应部门网络资源不被盗用或破坏。

  现为了公司相应部分网络资源的安全性需要,特别是对于像财务部、人事部这样的敏感部门,其网络上的信息不想让太多人可以随便进出,于是公司采用了VLAN的方法来解决以上问题。通过VLAN的划分,可以把公司主要网络划分为:生产部、财务部、人事部和信息中心四个主要部分,对应的VLAN组名为:Prod、Fina、Huma、Info,各VLAN组所对应的网段如下表所示。

VLAN 号

VLAN 名
端口号
2
Prod
Switch 1 2-21
3
Fina
Switch2 2-16
4
Huma
Switch3 2-9
5
Info
Switch3 10-21


  【注】之所以把交换机的VLAN号从"2"号开始,那是因为交换机有一个默认的VLAN,那就是"1"号VLAN,它包括所有连在该交换机上的用户。

  VLAN的配置过程其实非常简单,只需两步:(1)为各VLAN组命名;(2)把相应的VLAN对应到相应的交换机端口。

  下面是具体的配置过程:

  第1步:设置好超级终端,连接上1900交换机,通过超级终端配置交换机的VLAN,连接成功后出现如下所示的主配置界面(交换机在此之前已完成了基本信息的配置):

  1 user(s) now active on Management Console.
  User Interface Menu
  [M] Menus
  [K] Command Line
  [I] IP Configuration
  Enter Selection:

  【注】超级终端是利用Windows系统自带的"超级终端"(Hypertrm)程序进行的,具体参见有关资料。

  第2步:单击"K"按键,选择主界面菜单中"[K] Command Line"选项 ,进入如下命令行配置界面:
  CLI session with the switch is open.
  To end the CLI session,enter [Exit ].
  >

  此时我们进入了交换机的普通用户模式,就象路由器一样,这种模式只能查看现在的配置,不能更改配置,并且能够使用的命令很有限。所以我们必须进入"特权模式"。

  第3步:在上一步">"提示符下输入进入特权模式命令"enable",进入特权模式,命令格式为">enable",此时就进入了交换机配置的特权模式提示符:

  #config t
  Enter configuration commands,one per line.End with CNTL/Z
  (config)#

  第4步:为了安全和方便起见,我们分别给这3个Catalyst 1900交换机起个名字,并且设置特权模式的登陆密码。下面仅以Switch1为例进行介绍。配置代码如下:

  (config)#hostname Switch1
  Switch1(config)# enable password level 15 XXXXXX
  Switch1(config)#

  【注】特权模式密码必须是4~8位字符这,要注意,这里所输入的密码是以明文形式直接显示的,要注意保密。交换机用 level 级别的大小来决定密码的权限。Level 1 是进入命令行界面的密码,也就是说,设置了 level 1 的密码后,你下次连上交换机,并输入 K 后,就会让你输入密码,这个密码就是 level 1 设置的密码。而 level 15 是你输入了"enable"命令后让你输入的特权模式密码。

  第5步:设置VLAN名称。因四个VLAN分属于不同的交换机,VLAN命名的命令为" vlan vlan号 name vlan名称 ,在Switch1、Switch2、Switch3、交换机上配置2、3、4、5号VLAN的代码为:

  Switch1 (config)#vlan 2 name Prod
  Switch2 (config)#vlan 3 name Fina
  Switch3 (config)#vlan 4 name Huma
  Switch3 (config)#vlan 5 name Info

  【注】以上配置是按表1规则进行的。

  第6步:上一步我们对各交换机配置了VLAN组,现在要把这些VLAN对应于表1所规定的交换机端口号。对应端口号的命令是"vlan-membership static/ dynamic VLAN号 "。在这个命令中"static"(静态)和"dynamic"(动态)分配方式两者必须选择一个,不过通常都是选择"static"(静态)方式。VLAN端口号应用配置如下:

  (1). 名为"Switch1"的交换机的VLAN端口号配置如下:

  Switch1(config)#int e0/2
  Switch1(config-if)#vlan-membership static 2
  Switch1(config-if)#int e0/3
  Switch1(config-if)#vlan-membership static 2
  Switch1(config-if)#int e0/4
  Switch1(config-if)#vlan-membership static 2
  ……
  Switch1(config-if)#int e0/20
  Switch(config-if)#vlan-membership static 2
  Switch1(config-if)#int e0/21
  Switch1(config-if)#vlan-membership static 2

  Switch1(config-if)#

  【注】"int"是"nterface"命令缩写,是接口的意思。"e0/3"是"ethernet 0/2"的缩写,代表交换机的0号模块2号端口。

  (2). 名为"Switch2"的交换机的VLAN端口号配置如下:

  Switch2(config)#int e0/2
  Switch2(config-if)#vlan-membership static 3
  Switch2(config-if)#int e0/3
  Switch2(config-if)#vlan-membership static 3
  Switch2(config-if)#int e0/4
  Switch2(config-if)#vlan-membership static 3
  ……
  Switch2(config-if)#int e0/15
  Switch2(config-if)#vlan-membership static 3
  Switch2(config-if)#int e0/16
  Switch2(config-if)#vlan-membership static 3
  Switch2(config-if)#

  (3). 名为"Switch3"的交换机的VLAN端口号配置如下(它包括两个VLAN组的配置),先看VLAN 4(Huma)的配置代码:

  Switch3(config)#int e0/2
  Switch3(config-if)#vlan-membership static 4
  Switch3(config-if)#int e0/3
  Switch3(config-if)#vlan-membership static 4
  Switch3(config-if)#int e0/4
  Switch3(config-if)#vlan-membership static 4
  ……
  Switch3(config-if)#int e0/8
  Switch3(config-if)#vlan-membership static 4
  Switch3(config-if)#int e0/9
  Switch3(config-if)#vlan-membership static 4
  Switch3(config-if)#
  下面是VLAN5(Info)的配置代码:
  Switch3(config)#int e0/10
  Switch3(config-if)#vlan-membership static 5
  Switch3(config-if)#int e0/11
  Switch3(config-if)#vlan-membership static 5
  Switch3(config-if)#int e0/12
  Switch3(config-if)#vlan-membership static 5
  ……
  Switch3(config-if)#int e0/20
  Switch3(config-if)#vlan-membership static 5
  Switch3(config-if)#int e0/21
  Switch3(config-if)#vlan-membership static 5
  Switch3(config-if)#

  好了,我们已经按表1要求把VLAN都定义到了相应交换机的端口上了。为了验证我们的配置,可以在特权模式使用"show vlan"命令显示出刚才所做的配置,检查一下是否正确。

  以上是就Cisco Catalyst 1900交换机的VLAN配置进行介绍了,其它交换机的VLAN配置方法基本类似,参照有关交换机说明书即可。




posted @ 2006-02-11 12:08 青蛙學堂 阅读(237) | 评论 (0)编辑 收藏

Cisco路由器上配置DHCP全程详解

某单位使用Cisco 3620作为IOS DHCP Server,它和内网相连的fastethernet0端口的IP地址为192.168.1.4,二层交换机采用两台Cisco 2950,三层交换机采用一台Cisco 3550。
  
  在整个网络中有二个VLAN,为简化描述,假设每个VLAN都采用24位网络地址,其中VLAN1的IP地址为192.168.1.254,VLAN2的IP地址为192.168.2.254。在Cisco设备上实现IOS DHCP Server功能以使各VLAN中的主机自动获得IP地址。
  
  配置DHCP地址池、附加信息以及租约期限
  
  DHCP服务器的数据库被组织成一个树形结构,树根是用于动态分配的所有网络段的地址池,树枝是子网地址池,树叶是手工绑定给节点的地址。具体操作步骤如下:
  
  首先登陆到Cisco 3640路由器上:
  
  ghq>enable
  Password  (输入路由器的特权口令)
  ghq#config terminal (进入配置模式)
  Enter configuration commands one per line. End with CNTL/Z.
  ghqconfig# ip dhcp pool global(配置一个根地址池,global是地址池的名称,你可以采用有意义的字符串来表示)
  
  ghq dhcp-config#network 192.168.0.0 255.255.0.0(动态分配的地址段)
  ghqdhcp-config#domain-name ghq.com(为客户机配置域后缀)
  ghqdhcp-config#dns-server 192.168.1.1(为客户机配置DNS服务器)
  
  ghqdhcp-config#netbios-name-server 192.168.1.1(为客户机配置wins服务器)
  ghqdhcp-config#netbios-node-type h-node(为客户机配置h节点模式)
  ghqdhcp-config#lease 30 (地址租用期为30天)
  ghqdhcp-config#ip dhcp pool vlan1 (为VLAN1配置地址池,本池是global池的子池,将从global继承域后缀、DNS服务器、wins服务器等参数)
  
  ghqdhcp-config#network 192.168.1.0 255.255.255.0 (VLAN1动态分配192.168.1这个网段内可以被分配的地址,没有被排除的地址)
  ghqdhcp-config#default-router 192.168.1.254 (为客户机配置默认的网关,即VLAN1的IP地址)
  
  ghqdhcp-config#ip dhcp pool vlan2 (为VLAN2配置地址池,本池是global池的子池,将从global继承域后缀、DNS服务器、wins服务器等可继承的参数)
  ghqdhcp-config#network 192.168.2.0 255.255.255.0
  ghqdhcp-config#default-router 192.168.2.254
  
  设置不能用于动态分配的IP地址
  
  在整个网络中,有些IP地址需要静态的指定给一些特定的设备,例如路由器的端口、DNS服务器、wins服务器以及VLAN的地址等。显然,这些静态IP地址是不能用于动态分配的,这就需要将它们排除掉。其步骤如下:
  
  ghqconfig#ip dhcp excluded-address 192.168.1.1 192.168.1.5 (IP地址192.168.1.1至192.168.1.5不能用于动态分配)
  
  ghqconfig#ip dhcp excluded-address 192.168.1.254
  (IP地址192.168.1.254固定为VLAN1的地址,不能用于动态分配)
  
  ghqconfig#ip dhcp excluded-address 192.168.2.254
  (IP地址192.168.2.254固定为VLAN2的地址,不能用于动态分配)
  
  设置DHCP数据库代理
  
  DHCP数据库代理是用于存储DHCP绑定信息的一台主机,它可以是FTP、TFTP或者是RCP服务器。当然,如有必要,你可以配置多个DHCP数据库代理。同样,不配置DHCP数据库代理也是允许的,但这是以不能在DHCP数据库代理上存储地址冲突日志为代价的。如果我们不想配置数据库代理,只要取消掉地址冲突日志的记录功能即可,操作命令如下:
  
  ghqconfig#no ip dhcp conflict logging (取消地址冲突记录日志)
  
  配置路由器的静态路由表
  
  要使客户机能从用作DHCP Server的路由器中自动获得IP地址,首要条件就是各个VLAN中的客户机都能和路由器通信,因此首先就需要在路由器中设置一个路由以使路由器能和各个客户机通信。我们可以按如下设置 :
  
  ghqconfig#ip route 192.168.1.0 255.255.255.0 FastEthernet0
  (FastEthernet0为路由器和内网相连的以太网接口,该命令的作用是在以太网接口和VLAN1 192.168.1.254间建立一条静态路由。)
  
  ghqconfig#ip route 192.168.2.0 255.255.255.0 FastEthernet0
  (该命令在以太网接口和VLAN2 192.168.2.254间建立一条静态路由)
  
  设置好之后,在配置模式中键入EXIT命令回到特权模式下,Ping一下VLAN1和VLAN2的IP地址192.168.1.254和192.168.2.254,如果能够Ping通则表明配置正确,可以直接进入下一步的保存过程。
  
  在交换机上为不同的VLAN指定DHCP服务器地址
  
  这一步骤只须在不同的VLAN中通过设置IP HELPER-ADDRESS即可搞定,指令如下:
  
  switch>enable (进入交换机的特权模式)
  Password
  switch#config t (进入配置模式)
  
  Enter configuration commandsone per line. End with CNTL/Z.
  switch config#interface vlan1 (配置VLAN1)
  switch config-if#ip helper-address 192.168.1.4(指定DHCP服务器的地址,即路由器的地址)
  
  ghqconfig-if#interface vlan2 (配置VLAN2)
  ghqconfig-if#ip helper-address 192.168.1.4
  
  对所有直接连到客户机的二层访问端口开启Portfast功能
  
  要使客户机正确获得IP地址,就需要将和客户机相连的交换机端口的Portfast功能打开(Cisco 2950)。这里需要特别注意的是,只能在连接一个单一客户机的二层端口上开启该功能,如果在一个连接到交换机或集线器的端口上开启该功就有可能引起广播风暴或“地址学习”问题。开启Portfast功能的步骤如下:
  
  switch#configure terminal
  switch config#interface interface-id
  switch config-if#spanning-tree portfast (开启portfast功能)
  switchconfig-if#end
  
  经过以上规划与设置操作后,在路由器和交换机上的设置全部完成,剩下的工作只要在客户机上打开“自动获得IP地址”功能即可。对于Windows 2000/2003 Server系统,还需要将“DHCP CLIENT”服务启用,否则在Windows 2000/2003 Server中将不能自动得到IP地址。

  至此,通过启用Cisco路由器的DHCP Server功能与客户端DHCP的配合使用,使局域网VLAN中的主机自动获得IP地址,真正实现了DHCP服务全部功能。相比在服务器上用windows/Linux 操作系统实现的DHCP服务器,从稳定性和功能上看,路由器实现的DHCP服务器要优越得多。

posted @ 2006-02-11 11:34 青蛙學堂 阅读(326) | 评论 (0)编辑 收藏

多VLAN环境中DHCP服务的实现

在对网络进行升级改造时,必须考虑到各个方面,而如何在多VLAN环境中实现DHCP服务就是其中之一。

  原理

  使用DHCP方式获取IP地址需要利用广播数据包,按正常情况,DHCP服务只能在同一广播域内实现。而VLAN的建立就是为了隔离广播包,为什么在三层交换机上可以实现DHCP的跨网段呢?这需要我们将DHCP请求的广播数据包转化为单播请求,才会通过三层路由把请求转发到DHCP服务器所在的VLAN,进而实现DHCP的跨VLAN服务。

  实现方法

  为了实现跨VLAN的DHCP服务,需要从两方面入手,一方面要在交换机上指明DHCP服务器的IP地址,另一方面要在DHCP服务器上创建新的作用域。

  下面以Cisco的Catlyst 4506为例介绍具体的操作步骤:

  1.在交换机上配置DHCP服务器:

  ip dhcp-server 192.168.0.69

  2.在交换机中为每个VLAN设置同样的DHCP服务器的IP地址:

  interface Vlan11
  ip address 192.168.1.254 255.255.255.0
  ip helper-address 192.168.0.69 DHCP Server IP
  interface Vlan12
  ip address 192.168.2.254 255.255.255.0
  ip helper-address 192.168.0.69 DHCP Server IP

  3.在DHCP服务器上设置网络地址分别为192.168.1.0、192.168.2.0的作用域,并将这些作用域的“路由器”选项设置为对应VLAN的接口IP地址。

posted @ 2006-02-11 11:10 青蛙學堂 阅读(2761) | 评论 (4)编辑 收藏

关于VLAN中DHCP域的问题

关于VLAN DHCP 域的问题
我的问题就是如何给每个VLAN 指定各自的DHCP 域。比如vlan 2 对应dhcp test2 vlan3 对应dhcp test3. 假如:
情况1: 现在有一个router 上做了多个DHCP .
然后在switch 上划VLAN 。那么那个交换机上的ip help-address IP 是什么呢?router 上哪个口的IP ? 如:在router 上的配制:
ip dhcp excluded-address 10.0.199.200 10.0.199.254 ! ip dhcp pool test 1 network 10.0.199.0 255.255.255.0 default-router 10.0.199.1 dns-server 10.0.199.252 lease 0 0 5
ip dhcp pool test 2 network 10.0.200.0 255.255.255.0 default-router 10.0.200.1 dns-server 10.0.199.252 lease 0 0 5
在交换机上:
interface Vlan199 ip address 10.0.199.1 255.255.255.0 ip helper-address ???????????????
int vlan 200
ip address 10.0.200.1 255.255.255.0 ip helper-address ???????????
这时在这里指定的helper-address 是什么呢?才能把vlan199 vlan200 里的电脑取得相
DHCP scope???
第二种情况:利用局域网中的win2000s DHCP server 假如dhcp server ip 192.168.10.1 DHCP 上划分两个scope.
第一个scope 192.168.10.10 -----192.168.10.255 第二个scope 192.16.20.10 ------192.16.20.255.
交换机划分VLAN 之后,如何保证DHCP 服务器使用仍然在其它区域起作用。即VLAN10 里的机器取得第一个scope 里的ip: 即从192.168.10.10 -----192.168.10.255 同样,vlan20 取得相应第二个scope 里的IP. 这时在这里指定的helper-address 是什么呢? 才能把vlan199 vlan200 里的电脑取得相应DHCP scope???
第三种情况:假如在一个3550emi 上划分多个DHCP 域。由于它本身就可路由。并能划VLAN。那么这时在这里指定的helper-address 是什么呢?才能把vlan199 vlan200 里的电脑取得相应DHCP scope???
FW:ip dhcp pool valn x
network x.x.x.x x.x.x.x
default-router x.x.x.x
其中vlan x 这个pool 是全局pool 的子集
interface vlan x
ip helper-address x.x.x.x
The helper address can be a specific DHCP server address, or it can be the network address
if other DHCP servers are on the destination network segment. Using the network address enables other servers to respond to DHCP requests.
If you have multiple servers, you can configure one helper address for each server.
DHCP relay:
http://www.cisco.com/en/US/products...00800c6ed2.html
FW:
以一个配置案例来做总结吧:
router1
int fa0/0 上接有dhcp server 。和router2 通过s0/0 连接IP 地址方案如下:
route1:
int fa0/0 10.1.1.254/24 int fa0/1 10.1.2.254/24 int s0/0 192.168.0.1/30 route2:
int fa0/0 10.2.1.254/24 int fa0/1 10.2.2.254/24 int s0/0 192.168.0.2/30 dhcp server adderss
10.1.1.1
配置:
router1: ! ip forward-protocol udp
! int fa0/0 ip addr 10.1.1.254 255.255.255.0
no shutdown ! int fa0/1 ip addr 10.1.2.254 255.255.255.0
ip helper-address 10.1.1.1 no shut !
int s0/0 ip addr 192.168.0.1 255.255.255.252 no shut
encap ppp
!
ip route 10.2.0.0 255.255.0.0 192.168.0.2
! router2: !
ip forward-protocol udp ! int fa0/0 ip addr 10.2.1.254 255.255.255.0
ip helper-address 10.1.1.1 no shutdown !
int fa0/1 ip addr 10.2.2.254 255.255.255.0 ip helper-address 10.1.1.1 no shut
! int s0/0 ip addr 192.168.0.2 255.255.255.252
no shut encap ppp ! ip route 10.1.0.0 255.255.0.0 192.168.0.1 ! dhcp server: scope 11: router:10.1.1.254
scope 12: router:10.1.2.254 scope 21: router:10.2.1.254
scope 22:
router:10.2.2.254
使用VLAN 的情况配置与此相同。只不过把int fa 换成int vlan 而已。
转:
你只需要将VLAN 当做是第N SCOPE ROUTE 选项就行了。
在你的交换机上按常规划分好VLAN
假设有:VLAN20 VLAN30, 你先在交换机上划分好(这步应该都会做), 然后
在路由器上设置VLAN 网关(假设是FA0/0.1192.168.20.254/24 FA0/0.2
192.168.30.254/24)
, 在VLAN20 接口和VLAN30 接口下分别设置
ip help-address DHCP_SERVER_ADD,IP FORWARD UDP
等,其实DHCP_SERVER
在哪里无所谓,只要能够ROUTE 通,就行。关键是DHCP_SERVER 上设置SCOPE 时,
你分两个,其中一个为192.168.20.0 网段的,它的相应ROUTE 选项为
192.168.20.254,
另一个SCOPE 192.168.30.0 网段的,它的相应ROUTE
项为192.168.30.254 。上述设置完成后,记得在两个网段都要能和DHCP_SERVER 通。

posted @ 2006-02-11 11:00 青蛙學堂 阅读(319) | 评论 (0)编辑 收藏

命令行安装DHCP服务器

一台windows 2000 server,单机环境,安装了dhcp服务,让我们用命令行的方式来配置一台DHCP服务器吧
  1、首先进入命令行dhcp配置模式
                                                        
  
F:\>netsh
  
netsh>dhcp
  dhcp>server 192.168.0.1 //192.168.0.1是你需要管理的DHCP服务器的地址

  
dhcp server>
  2
dhcp server>show scope
  作用域总的数目
: 0                                                                      
  命令成功完成。
                                                                            
  察看目标上作用域配置的情况,此时是没有scope
                                        
  3、添加一个
scope                                                                    
  
dhcp server>add scope 192.168.0.0 255.255.255.0 192.168.0.0 MyComment
  好的,我们在mmc中察看dhcp,看出现了什么变化,好大一个蓝色的感叹号的scope,里面什么配置都没有别慌我们继续下去(当时,我就是乱慌了半天,浪费时间)
                                    
  4
dhcp server>scope 192.168.0.1
  将当前作用域上下文改变到 192.168.0.1 作用域。
                                
  5
dhcp server scope>add iprange 192.168.0.2 192.168.0.254 DHCP
  添加一个分配地址范围
                                                                      
  6
dhcp server scope>add excluderange 192.168.0.1 192.168.0.1
  
dhcp server scope>add excluderange 192.168.0.241 192.168.0.254
  添加两个排除范围192.168.0.1
192.168.0.241-192.168.0.254
  7
dhcp server scope>add reservedip 192.168.0.240 08002b30369B Mr.Wu Mr.wu both
  添加一个保留ip,给了MAC 08002b30369B ,保留的名字称为
Mr.Wu        
  8
dhcp server scope>set optionvalue 003 ipaddress 192.168.0.1
  
dhcp server scope>set optionvalue 006 ipaddress 192.168.0.1
  在这个scope中添加两个作用域选项003
006                                        
  9
dhcp server scope>set reservedoptionvalue 192.168.0.240 003 ipaddress 192.168.0.1
  设置保留地址192.168.0.240的作用域选项
003                                  
  现在scope 192.168.0.0配置结束了,你也可以配置别的选择的项目,看你的需要了

  此时在mmc中把scope 192.168.0.0刷新一下,一切都正常了
                  
  10、同样方法配置两个scope 192.168.1.0
192.168.2.0          
  11、配置
superscope                                                            
  
F:\>netsh
  
netsh>dhcp
  
dhcp>server 192.168.0.1 
  
dhcp server>scopt 192.168.0.0
  
dhcp server scope>set superscope 192.168.0-192.168.2 1
  
F:\>netsh
 
 
netsh>dhcp
  
dhcp>server 192.168.0.1 
  
dhcp server>scopt 192.168.1.0
  
dhcp server scope>set superscope 192.168.0-192.168.2 1
  刷新DHCP服务器,看看多了些什么东西
                                                    
  12、添加
class                                                                      
  dhcp server>add class workgroup1 workgroup1 ClassForWorkgroup1 0这样就添加了一个用户
class                                                            
  13、添加,配置多播作用域
                                                                
  
dhcp server>add mscope 224.0.0.0 mscope 40
  
dhcp server>mscope 224.0.0.0
  
dhcp server mscope>add iprange 224.0.0.1 224.0.0.10
  dhcp server mscope>add excluderange 224.0.0.1 224.0.0.1

posted @ 2006-02-11 10:43 青蛙學堂 阅读(343) | 评论 (0)编辑 收藏

轻松排查DHCP故障

 众所周知每台计算机要想正常上网需要有一个地址,这个地址就是我们常说的IP地址。在实际工作中身为网络管理员的我们如何有效的管理这些IP地址呢?为每台计算机设置对应的IP地址,子网掩码,网关地址,DNS地址等网络参数的话固然是可以的,但是非常的烦琐,工作量大不说,在实际应用中很可能经常会出现冲突的现象。 
    
我们如何有效的分配这些网络参数呢?DHCP服务可以帮我们大忙,通过将DHCP服务配置在专业的服务器上,然后为网络中所有普通客户机分配IP等信息是件效率非常高的工作。不过DHCP在为我们网络管理提供便利的同时也带来了一些问题。例如网络带宽受影响,客户机经常无法获得正确的地址信息,甚至是无法获得任何信息。其实这些故障我们都可以按照一定的规律去解决的,今天就由笔者为各位IT168的读者全面介绍排查DHCP故障的方法。


一、概念篇:


    
在介绍排查DHCP故障之前首先为大家阐明几个概念性的东西,只有理论上充实了,才能更好的理解下面介绍的故障排除的思路。


    
第一:DHCP服务能够提供什么数据?DHCP服务不是万能的,他只能提供网络层相关的参数,例如IP地址,MASK地址,网关地址,WINSDNS服务器地址等。对于更低层的地址,诸如MAC地址等信息是无法提供的。MAC地址是烧录在计算机网卡中的。


    
第二:多台DHCP服务器是否可以同时运行?DHCP服务器是通过广播包向客户机发送网络信息的,因此如果同一个网络中确切的说是同一个广播域中存在多台DHCP服务器的话,就会出现各个服务器提供各自的网络信息,这样就造成网络中广播数据包的冲突。客户机不知道该接受哪台DHCP服务器发来的信息。因此微软公司设置默认情况下同一个广播域网络中只能存在一台DHCP服务器,后设置建立或启用的DHCP将无法工作。


    
第三:租约是什么?在配置DHCP服务器过程中会设置租约的天数,那么什么是租约呢?在DHCP服务器将网络信息分配数据包发给客户机后会收到客户机发回的答复数据包,接着DHCP服务器会将已经分配出去的IP地址与从客户机接收到的该计算机MAC地址建立一个对应关系,并把这个对应关系保存在DHCP服务器的租约池中。为什么需要这个租约池呢?一方面为下次分配网络参数信息提高了速度。不过如果该MAC地址对应条目的客户计算机被移到其他地方或者MAC地址发生了改变的话,如果上面建立的对应关系一直保存在DHCP服务器的租约池中就会造成可用的IP地址数量越来越少,很多有效的地址被无效的MAC占用,因此微软引入了租约这个概念。通过租约我们可以强制每隔一段时间将DHCP服务器的租约池中保存的对应条目全部清空,从而防止了非法MAC地址霸占合法IP的现象。


    
第四:我的客户机可以从DHCP服务器获得169.254.*.*形式的IP信息,这句话是错误的。为什么呢?微软公司在windows2000系统中提供了这样的功能,即如果网络中不存在任何DHCP服务器,客户机本地网络信息又被设置为自动获得IP方式的话,那么windows2000及其以上操作系统将自动为自己分配一个诸如169.254.*.*形式的IP信息。因此如果你发现自己的客户机只能获得169.254.*.*这样的IP地址的话,说明你的DHCP服务器没有正常工作。

二、客户端排障:

    DHCP故障主要有两个方面,客户机存在问题以及服务器自身问题。首先我们来介绍下在客户端进行的排除故障方法。

    第一步:通过任务栏的“开始->运行->输入CMD”进入命令行模式。

   
第二步:在命令行模式中输入ipconfig后回车,看是否可以自动获得IP地址。

    小提示:在进行前两步操作前首先要保证客户机的IP地址分配方式被设置为自动获得IP地址。

    第三步:如果可以获得正确的IP地址说明DHCP正常,如果发现获得错误的地址,其中包括169.254.*.*这样的形式,则执行ipconfig /release命令,该命令是将当前获得的网络参数信息释放。

    第四步:释放网络参数后再次执行ipconfig我们会看到当前得到的网络参数已经为空,所有信息变成0.0.0.0。(如图1

1


   
第五步:释放得到的错误信息后执行ipconfig /renew将自动获得新的信息。(如图2

2


   
小提示:如果我们不执行释放IP信息的命令直接运行ipconfig /renew的话将无法重新获得IP信息。因此第三步必不可少。

    第六步:重新获得IP信息后我们查看当前的地址参数,如果无法获得任何信息的话还是要从本机入手解决问题,如果获得的是错误信息的话则需要找到DHCP服务器,对其进行检查。

第七步:将本地网卡禁用然后再次启用,按照上面介绍的步骤重新做一次。

    第八步:如果我们知道DHCP服务器的IP地址的话,可以在客户机上使用ping命令“ping 服务器ip”查看网络连通情况。

    第九步:在系统的“事件查看器”中寻找有无关于DHCP服务相关的故障记录。方法是“开始->控制面板->管理工具->事件查看器”。(如图3

3


   
第十步:通过“开始->控制面板->管理工具->服务”打开服务设置窗口,在服务列表中找到dhcp client service。(如图4)在其上双击,然后点停止按钮,接着再点启动按钮将其重新启动。如果发现该服务本身没有启用则更说明了故障的根源所在,直接启动并设置启动方式为“自动”即可。(如图5

4

 

5


   
第十一步:打开网络的本地连接进行修复,方法是“网上邻居->属性->本地连接->修复”。系统将自动清除ARP缓存与NETBS信息,接着更新DNSDHCP服务组件与相关信息。(如图6

6


   
第十二步:如果上面十一步仍然不能解决问题的话,我们只能先使用静态IP地址与DNS等网络信息配置本机来进行检测了。如果配置了静态IP信息后可以正常上网,连接LAN的话,则说明问题的出在客户机与DHCP服务器的连接或者DHCP服务器自身上。我们就要将问题的起因放到DHCP服务器上。

    小提示:有的时候为客户端设置一个其他用户,然后使用该用户登录也可以解决部分DHCP故障,另外用 lspfix.exewinsockxpfix.exe,修复tcpip的栈区错误,结合“开始->运行->输入sfc /scannow”扫描一遍系统文件也能得到意想不到的结果。

三、服务器排障:

    DHCP服务器的排障方法我们已经介绍过很多了,感兴趣的读者可以查阅以前服务器频道相关文章。主要的手段就是查询服务器上的dhcp server的设置是否正常,如果没有启用将其开启。另外还要时不时的将DHCP服务器关闭查看是否网络中还存在其他DHCP服务器从而产生冲突。另外在网络建立域的情况下,要想开启DHCP服务器是需要由域控制对该DHCP服务器授权的,所以授权工作不要遗忘。

    还需要提的一点就是租约的问题,如果发现DHCP工作正常,一部分客户机无法获得IP信息,执行ipconfig /renew提示找不到DHCP服务器,而另外一部分可以正常获得的话,百分之九十是因为租约的原因,要嘛租约里保存的信息过多,需要我们手工清除一次;要嘛租约时间设置的过长,以至于大量非法MAC占用了有效IP地址。

    小提示:凡是提供DHCP服务的服务器都必须设置固定IP地址,想在动态获得IP信息的计算机上启用DHCP服务是不可以的。而且虽然微软公司在限制DHCP服务上做了规定,例如同一个网络中不容许两台DHCP存在。但是目前有很多第三方软件可以建立DHCP服务器,甚至是宽带路由器也将DHCP功能集成于自身配置中,因此在这种情况下就无法清楚的查询出网络中到底存在几个DHCP服务器了,我们只能将怀疑对象一一关闭或者在交换机及路由器上将怀疑对象进行访问控制列表过滤。总之网络中存在非法DHCP服务器引起的网络故障是非常难解决的,需要反复调查循序渐进。

    总结:DHCP服务出现问题时不要盲目的去服务器上查找结果,大部分时候都是因为客户机故障造成的,另外客户机与服务器之间的媒介也要值得注意,网线是否连接正常,交换机是否工作正常都是需要考虑的,必要时一定要多多替换,换几个网线或几个交换机端口来判断。切记不要想当然去操作,要脚踏实地的去测量才能得到真正的结果。

posted @ 2006-02-11 10:38 青蛙學堂 阅读(261) | 评论 (0)编辑 收藏

仅列出标题
共43页: First 29 30 31 32 33 34 35 36 37 Last 
<2024年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

导航

统计

常用链接

留言簿(8)

随笔分类

随笔档案

收藏夹

青蛙学堂

最新评论

阅读排行榜

评论排行榜