您的位置:首页 > 理论基础 > 计算机网络

DHCP在企业网络中的应用

2014-10-28 16:26 507 查看
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段,在RFC 2131中有详细的描述。DHCP有3个端口,其中UDP67和UDP68为正常的DHCP服务端口,分别作为DHCP Server和DHCP Client的服务端口。
工作模式:1.manual Mac 与ip地址捆绑,需要手工一个一个输入,但是地址利用率低。Automatic

在dhcp server做地址池,只需要写出起始地址和结束地址,不需要一个一个输入。Dhcp client 连接后会被永久记录,造成地址利用率低。Dynamic

相比与第二种多了地址租期,地址利用率提高了。拓扑图

原理:1 dhcpdiscover: 此为client开始DHCP过程中的第一个请求报文
2 dhcpoffer : 此为server 对dhcpdiscover 报文的响应
3 dhcprequst : 此为client 对dhcpoffer 报文的响应
4 dhcpdeclient: 当client发现server 分配给它的IP地址无法使用,如 IP地址发生冲突时,将发出此报文让server禁止使用这次分配的IP地址。
5 dhcpack : server对 dhcprequst 报文的响应,client收到此报文后才真正获得了IP地址和相关配置信息。
6 dhcpnack : 此报文是server对client的dhcprequst报文的拒绝响应,client 收到此报文后,一般会重新开始DHCP过程。
7 dhcprelease :此报文是 client主动释放IP地址,当server 收到此报文后就可以收回地址分配给其他的client.Centos dhcp配置方法IP[root@wang ~]# mkdir /media/cdrom[root@wang ~]# mount /dev/cdrom /media/cdrom 挂载光盘 mount: block device /dev/sr0 is write-protected, mounting read-only[root@wang ~]# ll |grep dhcp 查找dhcp相关的包 [root@wang ~]# cd /media/cdrom/Packages/[root@wang Packages]# ll |grep dhcp-r--r--r--. 2 root root 838344 Nov 25 2013 dhcp-4.1.1-38.P1.el6.centos.i686.rpm-r--r--r--. 3 root root 145240 Nov 25 2013 dhcp-common-4.1.1-38.P1.el6.centos.i686.rpm-r--r--r--. 2 root root 154624 Jul 3 2011 sblim-cmpi-dhcp-1.0-1.el6.i686.rpm[root@wang Packages]# rpm -qlp dhcp-4.1.1-38.P1.el6.centos.i686.rpm 查找猜想的安装包内容进一步确认安装包是不是所需要的额/usr/sbin/dhcpd/usr/sbin/dhcrelay/usr/share/doc/dhcp-4.1.1/usr/share/doc/dhcp-4.1.1/3.0b1-lease-convert/usr/share/doc/dhcp-4.1.1/IANA-arp-parameters可以看出是所需要的[root@wang Packages]# yum --disablerepo=\* --enablerepo=c6-media install dhcp-4.1.1-38.P1.el6.centos.i686.rpm -y 安装软件包[root@wang Packages]# vim /etc/dhcp/dhcpd.conf



:r /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample 在vim地行模式模式下读取例子文件然后根据例子说明配置dhcp参数subnet 192.168.2.0 netmask 255.255.255.0 { range 192.168.2.100 192.168.2.199; //dhcp域范围 option routers 192.168.2.1; //dhcp 网关 option domain-name-servers 1.1.1.1, 2.2.2.2; //dhcp dns option domain-name "wang.com"; //dhcp 域名 }[root@wang Packages]# service dhcpd configtest 测试配置文件是否正确,如果不正确将会提示错误地方,进行修改即可也可以在 /var/log/messages 文件中查询错误内容即[root@wang Packages]# tail -f -n 20 /var/log/messages[root@wang Packages]# iptables -L 查看防火墙规则,如果有的话需要将防火墙关闭[root@wang Packages]# service iptables stop[root@wang Packages]# setenforce 0 将控制规则设置为警告级别然后打开客户机测试是否能够动态获取ip地址

将客户机设置为自动获取ip地址

自动获取成功在日志文件中可以看到相关的信息Aug 9 17:09:08 wang dhcpd: DHCPOFFER on 192.168.2.100 to 00:0c:29:12:c1:b8 (he-e7e9531dbfcd) via eth0:0Aug 9 17:09:08 wang dhcpd: DHCPREQUEST for 192.168.2.100 (192.168.2.51) from 00:0c:29:12:c1:b8 (he-e7e9531dbfcd) via eth0:0Aug 9 17:09:08 wang dhcpd: DHCPACK on 192.168.2.100 to 00:0c:29:12:c1:b8 (he-e7e9531dbfcd) via eth0:0Aug 9 17:09:08 wang dhcpd: DHCPREQUEST for 192.168.2.100 (192.168.2.51) from 00:0c:29:12:c1:b8 (he-e7e9531dbfcd) via eth0Aug 9 17:09:08 wang dhcpd: DHCPACK on 192.168.2.100 to 00:0c:29:12:c1:b8 (he-e7e9531dbfcd) via eth0在客户端的命令行模式下查看域名

域名正确如果需要排除地址,就需要分段进行设置作用域以达到排除的目的。[root@wang ~]# vim /var/lib/dhcpd/dhcpd.leases 可以查看dhcp服务器分配的地址记录如果需要绑定一个ip地址,需要修改vim /etc/dhcp/dhcpd.confsubnet 192.168.2.0 netmask 255.255.255.0 { range 192.168.2.100 192.168.2.149; 作用域设置 range 192.168.2.151 192.168.2.199; option routers 192.168.2.1; option domain-name-servers 1.1.1.1, 2.2.2.2; option domain-name "wang.com";host fantasia { hardware ethernet 00:0c:29:12:c1:b8; 绑定的mac地址 fixed-address 192.168.2.150; 对应mac地址的ip}}然后dhcp客户端重新获取ip地址



获取192.168.2.50成功 Dhcp超级作用域配置方法 需求:将多个小的作用域绑定为一个大的作用域比如讲192.168.1.0/24和192.168.2.0/24的作用域绑定到一起其他的都一样,就需要就配置文件修改[root@wang Packages]# vim /etc/dhcp/dhcpd.confshared-network chaoji{ 超级作用域包括2个一般作用域subnet 192.168.2.0 netmask 255.255.255.0 { range 192.168.2.100 192.168.2.100; option routers 192.168.2.254; option domain-name-servers 1.1.1.1, 2.2.2.2; option domain-name "wang.com";}subnet 192.168.3.0 netmask 255.255.255.0 { range 192.168.3.100 192.168.3.100; option routers 192.168.3.254; option domain-name-servers 1.1.1.1, 2.2.2.2; option domain-name "wang2.com";}}因为我们需要试验,所以将作用域的ip地址设置为只有1个[root@wang Packages]# service dhcpd restart然后进行测试第一台客户端设置为自动获取ip:

第2台客户端也设置为自动获取ip

分别获取了地址池的2个ip地址,试验成功!DHCP 中继如果有多个不同的vlan获取dhcp,则需要dhcp中继技术。实现此技术既可以用虚拟机模拟实验,也可以用路由器,交换机实验。用虚拟机模拟实验:

先配置dhcp服务器:[root@wang ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 先编辑网卡,将网关设置为192.168.2.1

添加一个网关即可[root@wang ~]# service network restart 重启网络[root@wang ~]# service iptables stop 关闭防火墙[root@wang ~]setenforce 0 将控制规则设置为警告级别[root@wang ~]# vim /etc/dhcp/dhcpd.conf 编辑dhcp配置文件subnet 192.168.3.0 netmask 255.255.255.0 { range 192.168.3.2 192.168.3.254; option routers 192.168.3.1; option domain-name-servers 1.1.1.1, 2.2.2.2; option domain-name "vmnet2.com";}subnet 192.168.4.0 netmask 255.255.255.0 { range 192.168.4.2 192.168.4.254; option routers 192.168.4.1; option domain-name-servers 1.1.1.1, 2.2.2.2; option domain-name "vmnet3.com";}subnet 192.168.2.0 netmask 255.255.255.0 {} 编辑2个作用域 网段分别是192.168.3.0/24 192.168.4.0/24 网关是dhcp中继服务器各个网卡的ip,然后必须有自己网段的空作用域才能开启dhcp[root@wang ~]# service dhcpd restartStarting dhcpd: [ OK ]重启dhcp即可再配置dhcp中继服务器:用windows server2003 实现:

现在网络适配器里面添加2块网卡,一共3块网卡。

在3块网卡上配置3个对应的ip地址:



进入路由和远程访问

配置并启用路由和远程访问

下一步

自定义配置



完成

右键常规→新增路由协议

选择DHCP中继代理程序

右键dhcp中继代理→新增接口然后添加vmnet2和vmnet3



右键dhcp中继服务器→属性

添加dhcp server的ip地址进行测试再打开一台虚拟机,将网卡设置为vmnet2,然后自动获取ip地址

成功然后将网卡设置为vmnet3,自动获取

成功如果dhcp中继服务器设置为linux,而不用windows server 2003需要:同样的将linux添加2个网卡,成为3个网卡,将ip地址分别设置为:eth0 Link encap:Ethernet HWaddr 00:0C:29:C9:67:5B inet addr:192.168.2.1 Bcast:192.168.2.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fec9:675b/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:137 errors:0 dropped:0 overruns:0 frame:0 TX packets:112 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:14169 (13.8 KiB) TX bytes:17121 (16.7 KiB) Interrupt:19 Base address:0x2000 eth1 Link encap:Ethernet HWaddr 00:0C:29:C9:67:65 inet addr:192.168.3.1 Bcast:192.168.3.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fec9:6765/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1 errors:0 dropped:0 overruns:0 frame:0 TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:253 (253.0 b) TX bytes:468 (468.0 b) Interrupt:19 Base address:0x2080 eth2 Link encap:Ethernet HWaddr 00:0C:29:C9:67:6F inet addr:192.168.4.1 Bcast:192.168.4.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fec9:676f/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1 errors:0 dropped:0 overruns:0 frame:0 TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:253 (253.0 b) TX bytes:468 (468.0 b) Interrupt:16 Base address:0x2400 [root@station21 ~]# vim /etc/sysctl.conf 开启路由功能

将net.ipv4.ip_forward = 0设置为1需要安装相关的软件包[root@station21 ~]# mkdir /media/cdrom[root@station21 ~]# mount /dev/cdrom /media/cdrommount: block device /dev/sr0 is write-protected, mounting read-only[root@station21 ~]# cd /media/cdrom/Packages/ 挂载光盘[root@station21 Packages]# yum --disablerepo=\* --enablerepo=c6-media install dhcp -y 安装软件包[root@station21 Packages]# vim /etc/sysconfig/dhcrelay 进入dhcrelay配置dhcp中继# DHCPv4 onlyINTERFACES="eth2 eth1" 需要中继的网卡接口# DHCPv4 onlyDHCPSERVERS="192.168.2.50" dhcp服务器的ip地址[root@wang ~]# service iptables stop 关闭防火墙[root@wang ~]setenforce 0 将控制规则设置为警告级别[root@station21 Packages]# service dhcrelay startStarting dhcrelay: [ OK ]开启dhcp中继[root@station21 Packages]# netstat -tupln |grep dhc 查看端口,判断是否启动dhcp中继测试:开启一台虚拟机,网卡设置为vmnet2,设置为自动获取ip

获取成功再开启一台虚拟机,网卡设置为vmnet3,设置为自动获取ip:

获取成功如果用交换机路由器实验,则步骤为:实验拓扑:

路由器:[Quidway]Int eth0/0/0.1[r1-Ethernet0/0.1]ip add 192.168.2.1 24[r1-Ethernet0/0.1]dhcp select relay [r1-Ethernet0/0.1]ip relay address 192.168.2.50[r1-Ethernet0/0.1]Vlan-type dot1q vid 10[r1-Ethernet0/0.1]int eth0/0.2[r1-Ethernet0/0.2]ip address 192.168.3.1 24[r1-Ethernet0/0.2]dhcp select relay [r1-Ethernet0/0.2]ip relay address 192.168.2.50[r1-Ethernet0/0.2]vlan-type dot1q vid 20[r1-Ethernet0/0.2]int eth0/0.3 [r1-Ethernet0/0.3]ip address 192.168.4.1 24[r1-Ethernet0/0.3]dhcp select relay [r1-Ethernet0/0.3]ip relay address 192.168.2.50[r1-Ethernet0/0.3][r1-Ethernet0/0.2]vlan-type dot1q vid 30 交换机interface Ethernet1/0/1 port access vlan 10#interface Ethernet1/0/2 port access vlan 20#interface Ethernet1/0/3 port access vlan 30interface Ethernet1/0/24 port link-type trunk port trunk permit vlan all测试Linux Dhcp服务器插入交换机eth1/0/1客户机插入eth1/0/2或者1/0/3测试Dhcp服务器打开tail -f /var/log/message 查看过程

获取成功
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: