DHCP服务的配置。
DHCP简介:
DHCP动态主机配置协议,在一个小型局域网里可以通过手工指定ip地址的方式,但如有大量的主机,如果还是手工指定,那是一个很大的工作量,而且也容易出错,这时,就可以通过配置一台DHCP服务器来解决,为每台主机分配一个ip地址。DHCP作用域是指DHCP服务器可分配给DHCP客户端的IP地址范围,一个DHCP服务器至少要一个作用域,如有多个作用域,作用域之间的IP地址不能重叠。
DHCP的工作原理:
DHCP工作过程分为四个步骤:
第一步(DHCPDISCOVER):客户端发送广播查找可以给自己提供IP地址的DHCP服务器,
第二步(DHCPOFFER):DHCP服务器发送广播提供一个可用的IP地址,并在地址池中将该地址打上标记,以防再次分配。
第三步(DHCPREQUEST):客户端收到广播后再次发送一个广播请求该地址,如果有多台DHCP响应,则第一个收到的优先。
第四步(DHCPACK):DHCP服务器收到广播后再发送一个广播,确认该地址分配给这台主机使用,并在地址池中将该地址打上标记,以防再次分配。
DHCP的基本配置:
第一步:安装软件:
[root@localhost ~]# rpm -ivh /misc/cd/Server/dhcp-305-18el5i386rpm
第二步:编辑配置文件:
[root@localhost ~]# vi /etc/dhcpdconf
# see /usr/share/doc/dhcp/dhcpdconfsample
当进入到配置文件里面时,这里是空的,有如上一行的提示,说可以参考这个文件来编写配置文件,那就复制一份再编辑。
[root@localhost ~]# cp -rvf /usr/share/doc/dhcp-305/dhcpdconfsample /etc/dhcpdconf
[root@localhost ~]# vi /etc/dhcpdconf
ddns-update-style interim; //配置DHCP和DNS为互动更新模式,
ignore client-updates; //忽略客户端的更新。
subnet 1921681000 netmask 2552552550 { //定义作用域
option routers 1921681001; //默认路由
option subnet-mask 2552552550; //子网掩码
option nis-domain "rhelcom"; //NIS域名
option domain-name "rhelcom"; //DNS域名
option domain-name-servers 19216810010; //DNS服务器地址
option time-offset -18000; # Eastern Standard Time //为客户端设置与格林威治的时间偏移
option ntp-servers 19216811; //网络时间服务器地址
option netbios-name-servers 19216811; //指定WINS服务器地址
range dynamic-bootp 192168100128 192168100254; //动态分配的地址范围
default-lease-time 21600; //默认租约时间
max-lease-time 43200; //最大租约时间
host abc { //指定特定主机
hardware ethernet 00:0C:29:FD:44:C8; //硬件地址
fixed-address 19216810030; //IP地址
}
}
如有多个要绑定的主机时可以把所有主机信息用group{ }包括起来,这样更方便管理。格式如下 :
group {
……这里不可以添加一些佤全局选项,这样就不用在每个里面写了。
host abc {
……
……
}
host xyz {
……
……
}
}
[root@localhost ~]# service dhcpd restart
测试:
在linux下:
首先让地址从DHCP获取:
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp
[root@localhost ~]# service network restart //重启一下网络服务,这里不能使用ifdown和ifup,因为要配置路由信息。
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:FD:44:C8
inet addr:19216810030 Bcast:192168100255 Mask:2552552550
这就是绑定的IP地址。
[root@localhost ~]# cat /etc/resolvconf
; generated by /sbin/dhclient-script
search rhelcom
nameserver 19216810010
这里的DNS服务器地址也获取到了。
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
1921681000 0000 2552552550 U 0 0 0 eth0
16925400 0000 25525500 U 0 0 0 eth0
0000 1921681001 0000 UG 0 0 0 eth0
默认路由也获取到了。查看一下端口:
[root@localhost ~]# netstat -tlunp | grep 68
udp 0 0 0000:68 0000 16150/dhclient
查看客户端的租约文件:
lease {
interface "eth0";
fixed-address 19216810030; //固定地址
option subnet-mask 2552552550; //子网掩码
option time-offset -18000; //时间偏移
option routers 1921681001; //默认路由
option dhcp-lease-time 21600; //租约时间
option dhcp-message-type 5;
option domain-name-servers 19216810010;
option dhcp-server-identifier 19216810020;
option nis-domain "rhelcom";
option domain-name "rhelcom";
renew 5 2010/4/9 09:01:40;
rebind 5 2010/4/9 11:34:53;
expire 5 2010/4/9 12:19:53;
}
windows下:
把IP地址设成自动获取。
C:\Documents and Settings\Administrator>ipconfig /all
Connection-specific DNS Suffix : rhelcom
Physical Address : 00-0C-29-D3-C6-B3
Dhcp Enabled : Yes
Autoconfiguration Enabled : Yes
IP Address : 192168100253
Subnet Mask : 2552552550
Default Gateway : 1921681001
DHCP Server : 19216810020
DNS Servers : 19216810010
Lease Obtained : 2010年4月9日 14:44:12
Lease Expires : 2010年4月9日 20:44:12
基本配置完成。不知道你要配置什么,如果是无线的话
R2路由器
sys
Sysname R2
Int g0/2
Ip add 192168132 24
Un shu
Int g0/1
Ip add dhcp-alloc
Dis ip int b
Q
Rip
Ve 2
Un sum
Network 19216800
Quit
Sa
Dis ip rou
无线控制器
<H3C>sys
[model]vlan 2
[model-vlan2]vlan 1
[model-vlan1]quit
[H3C]dhcp server ip-pool ap
[H3C-dhcp-pool-ap]network 19216820 mask 2552552550
[H3C-dhcp-pool-ap]dns-list 20210117235
[H3C]sysname model
[model]dhcp server ip-pool ap
[model-dhcp-pool-ap]gateway-list 19216821
[model]dhcp en //打开DHCP功能
DHCP is enabled successfully!
[model]dhcp server ip-pool pool1
[model-dhcp-pool-pool1]network 19216800 mask 2552552550
[model-dhcp-pool-pool1]gateway-list 1921680100
[model-dhcp-pool-pool1]quit
[model]interface vlan 2
[model-Vlan-interface2]ip address 19216821 2552552550
[model-Vlan-interface2]qu
[model]
[model]int WLAN-ess 1
[model-WLAN-ESS1]
[model-WLAN-ESS1] port access vlan 2
[model-WLAN-ESS1]quit
[model]wlan service-template 1 cl
[model-wlan-st-1]ssid h3c24 // 学号命名
[model-wlan-st-1]bind WLAN-ESS 1
[model-wlan-st-1]authentication-method open-system
[model-wlan-st-1]service-template enable
Please wait Done
[model-wlan-st-1]quit
[model]wlan ap ap1 model wa4320i-acn
[model-wlan-ap-ap1]serial-id auto
[model-wlan-ap-ap1]radio 1
[model-wlan-ap-ap1-radio-1]service-template 1
[model-wlan-ap-ap1-radio-1]
[model-wlan-ap-ap1-radio-1]radio en
[model-wlan-ap-ap1-radio-1]return
[model]wlan auto-ap en
[model]wlan auto-ap en
[model]ping 1921680100
PING 1921680100: 56 data bytes, press CTRL_C to break
Reply from 1921680100: bytes=56 Sequence=0 ttl=255 time=1 ms
Reply from 1921680100: bytes=56 Sequence=1 ttl=255 time=1 ms
Reply from 1921680100: bytes=56 Sequence=2 ttl=255 time=1 ms
Reply from 1921680100: bytes=56 Sequence=3 ttl=255 time=1 ms
Reply from 1921680100: bytes=56 Sequence=4 ttl=255 time=1 ms
--- 1921680100 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
000% packet loss
round-trip min/avg/max = 1/1/1 ms
[model]dis wlan ap all
[model]ip route-static 0000 0 1921680150
[R2]int g0/0
[R2-GigabitEthernet0/0]ip add 1921680150 24
[R2-GigabitEthernet0/0]un shu
[R2-GigabitEthernet0/0]qu
[R2]ip route-static 19216820 2552552550 1921680100
[R2]acl b 2000
[R2-acl-ipv4-basic-2000]rule per sou any
[R2-acl-ipv4-basic-2000]quit
[R2]int g0/1
[R2-GigabitEthernet0/1]nat outbound 2000
Quit
Ping 10510250 交换机
Ping 10510250 无线控制器方法/步骤
1打开浏览器,输入登陆地址,登陆路由器管理界面。接着输入用户名和密码进行登陆。
2点击”DHCP服务器“选项,然后勾选”启用 DHCP服务器“。接着输入”地址池开始地址“和”地址池结束地址“。 (这两部分的设置要确保与路由器处于同一网段)
3设置完成后,点击”保存“按钮,然后重启一下路由器即可生效。
4接下来就需要对电脑端进行设置:
打开”控制面板“,依次点击”网络和共享中心“→”适配器设置“按钮。
5接着右击”本地连接“,选择“属性”。 在打开的窗口中,找到并双击IPV4协议。
6同时勾选“自动获取IP地址”和“自动获取DNS服务器”上即可。 至此,DHCP服务器配置完成。
END在FreeBSD的Packages Collection中,有两个不同的DHCP客户机和服务器软件,一 个为ISC-DHCP,另一个为WIDE-DHCP,两个软件都包括了DHCP客户软件和服务器软件,其中ISC-DHCP 更为常用一些,这里就以ISC-DHCP为例介绍在FreeBSD上安装和设置DHCP。
为了支持DHCP,首先要确认系统内核支持伪设备bpfilter,如果没有,就需要重新编译内核。伪设备bpfilter 是一个允许应用程序接收网络的原始数据包的界面,这样应用程序就能接收目的地址非本机IP地址的数据包 了。DHCP使用bpfilter的原因是在DHCP设置好计算机的TCP/IP之前,由于计算机本身没有定义IP地 址,而TCP/IP堆栈本身不会接收不具备本机IP地址的数据包。要接收DHCP服务器发送回客户的数据包,就需要绕 过TCP/IP堆栈,而必须使用伪设备bpfilter。
1 pseudo-device bpfilter 4
定制内核之后,还要保证/dev/目录下具有对应bpfilter的设备文件。
1 # cd /dev
2 # sh MAKEDEV bpf0 bpf1 bpf2 bpf3
从Packages Collecion中安装DHCP软件,这将DHCP软件中的dhcpd,dhclient和dhcprelay 安装到/usr/local/sbin目录下。
1 $ ls /usr/local/sbin/dhc
2 /usr/local/sbin/dhclient
3 /usr/local/sbin/dhcpd
4 /usr/local/sbin/dhcrelay
设置服务器
为了设置DHCP服务器dhcpd,首先就要设置其配置文件/etc/dhcpdconf。这个配置文件 语法简单,比较容易理解。
1 server-identifier 19216831;
2
3 subnet 19216830 netmask 2552552550 {
4 range 192168310 192168320;
5 default-lease-time 600;
6 max-lease-time 7200;
7 option subnet-mask 2552552550;
8 option broadcast-address 1921683255;
9 option routers 19216831;
10 option domain-name-servers 19216831;
11 option domain-name "exampleorgorgcn";
12 }
13
14 host a1 {
15 hardware ethernet 00:90:27:4e:92:09;
16 fixed-address 192168332;
17 option subnet-mask 2552552550;
18 option broadcast-address 1921683255;
19 option routers 19216831;
20 option domain-name-servers 19216831;
21 option domain-name "exampleorgorgcn";
22 }
基本的dhcpdconf首先使用server-identifier定义了本服务器的IP地址,这对于有 多个IP地址的服务器系统十分重要,一般不必设置这个参数,dhcpd能自动侦测。然后定义要分配IP地址的客户机组 ,每组拥有一个可用的IP地址范围。有两种客户机组的划分方式,一种为指定子网段来区分,一种为指定主机来区分。
这个例子中的第一组定义了一个子网19216830/24,这个子网段内,可供DHCP服务器分配的I P地址范围为192168310到192168320,这个地址范围也可以不是连续的,不连续的地址可以 使用多个range设置参数来设置。此外,还设置了这一组内分配的IP地址的租期限制default-lease-time 和max-lease-time,可以使用缺省值,而不必改动。后面的option参数设置DHCP的附加功能 ,例如设置DHCP客户的网络掩码、广播地址、DNS服务器、域名等等。事实上这些option设置选项也可以被用作 全局选项设置,即放置在server-identifier之后,对所有的客户机组起作用。
例子的第二组是针对某个特定主机a1进行的设置,这个主机被限定为以太网地址为hardware ethernet 参数值的计算机,将给这个计算机分配一个固定地址。这种分配方式实际等价于固定地址分配方式,唯一的好处就是能够对IP地址进行集中管理,不必每个计算机分别设置了。这里同样也可以使用option参数,设置TCP/IP的参数 。
dhcpdconf中还能有更多的组,包括对非本网段的子网上的客户机指定的组。
当设置了dhcpdconf之后,就能启动dhcpd守护进程了,由于计算机会有多个网络界面,需要指定dhcpd 服务器的网络界面,以便回应相应界面上的DHCP请求。
1 # /usr/local/sbin/dhcpd fxp0
在调试阶段,可以使用-d参数,这样dhcpd就不会进入后台运行,而一直保留在前台,并显示各个与客户计算机通信的过程。当一切都调试完毕之后,就能去除-d参数,并将执行命令放入rclocal启动脚本中,以便系统能够自动执行。
此后,dhcpd正常运行的时候,会将每一次客户请求及其回应的IP地址分配的记录,都记录在/var/run/dhcpdleases 文件中。为了使dhcpd能正常进行日志记录,应该在启动dhcpd之前使用touch 命令,生成一个新的日志文件。以后就可以查看这个日志文件的内容,以得到当前DHCP服务器的状态和客户机IP地址分 配的情况。以下是一个日志文件的部分内容。
1 lease 192168311 {
2 starts 3 1998/11/26 05:46:28;
3 ends 4 1998/11/27 05:46:28;
4 hardware ethernet 0:80:c2:12:fd:d;
5 uid 1:0:80:c2:12:fd:d;
6 }
touch命令的优点是在存在相关的文件时,不删除或更改文件内容,只更新其访问时间设置,只有在文 件不存在时才生成新文件。
然后就能设置网络中的客户计算机使用DHCP协议,获取合法的IP地址了。通常Windows计算机的TCP/IP设置 中能直接设置支持DHCP协议,如果为Unix(包括FreeBSD)设置DHCP客户软件,就需要dhclient的支持。
设置客户软件
ISC-DHCP中同样也提供了一个客户程序dhclient,用于FreeBSD系统从DHCP服务器上动态获取一个IP地 址。这个程序同样也要求内核支持bpfilter伪设备。
dhclient使用的配置文件为/etc/dhclientconf,然而最一般的情况下可以不使用它,软件本身的缺省配置就满足一般情况下请求IP地址的需要了。缺省设置下dhclient在获得了IP地址之后,会自动执行/etc/dhclient-script 这个脚本程序,以针对刚获取的动态IP地址进行必要的设置。很多依赖于IP地址的网络服务,就可以在这个脚 本中启动,或者针对重新分配的动态IP地址对已有的网络服务进行修正。虽然使用者也许不希望使用这个脚本 设置网络,但如果不存在这个脚本程序,或者这个程序不可执行,那么dhclient就不能正常执行。
因此对于最一般的客户机,一般只连接到一个网络上,仅具备一个网络界面,可以使用一个空的dhclientconf 和空的declient-script文件,就能完成设置IP地址和其他TCP/IP参数的任务了。
1 # touch /etc/dhclientconf
2 # touch /etc/dhclient-script
3 # chmod +x /etc/dhclient-script
4 # /usr/local/sbin/dhclient fxp0
5
6 Listening on BPF/fxp0/00:90:27:4e:92:09/unattached
7 Sending on BPF/fxp0/00:90:27:4e:92:09/unattached
8 Sending on Socket/fallback/fallback-net
9 DHCPDISCOVER on fxp0 to 255255255255 port 67 interval 22
10 DHCPOFFER from 19216831
11 DHCPREQUEST on fxp0 to 255255255255 port 67
12 DHCPACK from 19216831
13 bound to 192168332 -- renewal in 3600 seconds
在更复杂的情况下,就要指定更多的内容,例如当系统有多个网卡时,要指定dhclient应该从哪个子网中获 得IP地址设置,就需要使用设置文件dhclientconf。一般除非有多个局域网网络界面,都应该使用空设置文件, 避免产生配置错误。以下为一个简单的dhclientconf的例子,可以用于多网络界面的情况:
1 # Defaults
2 timeout 60;
3 reboot 10;
4 retry 60;
5 select-timeout 5;
6 initial-interval 2;
7 script "/etc/dhclient-script";
8 interface "fxp0" {
9 request subnet-mask, broadcast-address, routers, domain-name-servers,
10 domain-name, host-name;
11 require domain-name-servers;
12 }
这个设置文件主要用于重新定义一些参数,比较容易理解,更改也比较容易。
成功的手工执行dhclient之后,就可以考虑将其和系统启动文件相结合了。因为很多网络服务是依赖于网络 配置的,应该在启动这些网络服务之前使用DHCP配置好TCP/IP。使用dhclient-script启动服务的想法虽然也能解决问题,然而这就不能使用系统的启动rc文件中的相关设置启动网络服务,而在这个dhclient-script 中重新启动,因此比较麻烦。更简便的做法是仅仅在dhclient-script中设置hostname, 而让系统启动文件完成其他网络服务的启动。这样就要求将dhclient与系统rc文件结合起来。
1 #hostname="mydomainname"
2 network_interfaces="fxp0 lo0"
3 # List of network interfaces (lo0 is loopback)
4 ifconfig_lo0="inet 127001"
5 # default loopback device configuration
6 #ifconfig_fxp0="inet 192168312 netmask 2552552550"
7 defaultrouter="NO"
8 # Set to default gateway (or NO)
这样就需要更改rcconf文件,更改一些设置语句。首先要注释hostname设置,而在dhclientscript中进行设置,也不必设置defaultrouter,它通过DHCP协议自动设置。同时要保证netwo
Cisco packet tracer62
拓扑图构建和配置PC
1、根据给出的参考图,选择相关设备设计拓扑图
2、PC中需要将配置方式改为自动获取,参考图如下
设置服务器
1、设置服务器的ip、mask、gateway,给出的图仅做参考
2、设置>
3、设置DHCP服务
4、设置DNS服务
测试设置是否正确和生效
1、测试DHCP服务。
任选一个PC,查看ip、mask、gateway、dns是否如下图所示(如果不是,将配置方式切换到手动即static,再切换回来)
2、测试>
3、测试DNS服务。请看下图
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)