码迷,mamicode.com
首页 > 其他好文 > 详细

DHCP在企业网络中的应用

时间:2014-10-28 18:08:24      阅读:345      评论:0      收藏:0      [点我收藏+]

标签:网络管理员   ip地址   网络服务   计算机   

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段,在RFC 2131中有详细的描述。DHCP3个端口,其中UDP67UDP68为正常的DHCP服务端口,分别作为DHCP ServerDHCP Client的服务端口

工作模式:

1.manual 

Mac 与ip地址捆绑,需要手工一个一个输入,但是地址利用率低。

  1. Automatic

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

  1. Dynamic

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

拓扑图

bubuko.com,布布扣 

原理:

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 : 此报文是serverclientdhcprequst报文的拒绝响应,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

bubuko.com,布布扣 

bubuko.com,布布扣 

: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地址

bubuko.com,布布扣 

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

bubuko.com,布布扣 

自动获取成功

在日志文件中可以看到相关的信息

Aug  9 17:09:08 wang dhcpd: DHCPOFFER on 192.168.2.100 to 00:0c:29:12:c1:b8 (he-e7e9531dbfcd) via eth0:0

Aug  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:0

Aug  9 17:09:08 wang dhcpd: DHCPACK on 192.168.2.100 to 00:0c:29:12:c1:b8 (he-e7e9531dbfcd) via eth0:0

Aug  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

Aug  9 17:09:08 wang dhcpd: DHCPACK on 192.168.2.100 to 00:0c:29:12:c1:b8 (he-e7e9531dbfcd) via eth0

在客户端的命令行模式下查看域名

bubuko.com,布布扣 

域名正确

如果需要排除地址,就需要分段进行设置作用域以达到排除的目的。

[root@wang ~]# vim /var/lib/dhcpd/dhcpd.leases    可以查看dhcp服务器分配的地址记录

如果需要绑定一个ip地址,需要修改

vim /etc/dhcp/dhcpd.conf

subnet 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地址

bubuko.com,布布扣 

bubuko.com,布布扣 

获取192.168.2.50成功

 

Dhcp超级作用域配置方法

 

需求:将多个小的作用域绑定为一个大的作用域

比如讲192.168.1.0/24192.168.2.0/24的作用域绑定到一起

其他的都一样,就需要就配置文件修改

[root@wang Packages]# vim /etc/dhcp/dhcpd.conf

shared-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

bubuko.com,布布扣 

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

bubuko.com,布布扣 

分别获取了地址池的2个ip地址,试验成功!

DHCP 中继

如果有多个不同的vlan获取dhcp,则需要dhcp中继技术。

实现此技术既可以用虚拟机模拟实验,也可以用路由器,交换机实验。

用虚拟机模拟实验:

bubuko.com,布布扣 

先配置dhcp服务器:

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

bubuko.com,布布扣添加一个网关即可

[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 restart

Starting dhcpd:                                            [  OK  ]

重启dhcp即可

再配置dhcp中继服务器:

windows server2003 实现:

bubuko.com,布布扣 

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

bubuko.com,布布扣 

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

bubuko.com,布布扣 

bubuko.com,布布扣 

进入路由和远程访问

bubuko.com,布布扣 

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

bubuko.com,布布扣 

下一步

bubuko.com,布布扣 

自定义配置

bubuko.com,布布扣 

bubuko.com,布布扣 

完成

bubuko.com,布布扣 

右键常规→新增路由协议

bubuko.com,布布扣 

选择DHCP中继代理程序

bubuko.com,布布扣 

右键dhcp中继代理→新增接口

然后添加vmnet2vmnet3

bubuko.com,布布扣 

 

bubuko.com,布布扣 

右键dhcp中继服务器→属性

bubuko.com,布布扣 

添加dhcp server的ip地址

进行测试

再打开一台虚拟机,将网卡设置为vmnet2,然后自动获取ip地址

bubuko.com,布布扣 

成功

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

bubuko.com,布布扣 

成功

如果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   开启路由功能

bubuko.com,布布扣 

net.ipv4.ip_forward = 0设置为1

需要安装相关的软件包

[root@station21 ~]# mkdir /media/cdrom

[root@station21 ~]# mount /dev/cdrom /media/cdrom

mount: 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 only

INTERFACES="eth2 eth1"   需要中继的网卡接口

# DHCPv4 only

DHCPSERVERS="192.168.2.50"  dhcp服务器的ip地址

[root@wang ~]# service iptables stop  关闭防火墙

[root@wang ~]setenforce 0   将控制规则设置为警告级别

[root@station21 Packages]# service dhcrelay start

Starting dhcrelay:                                         [  OK  ]开启dhcp中继

[root@station21 Packages]# netstat -tupln |grep dhc  查看端口,判断是否启动dhcp中继

测试:

开启一台虚拟机,网卡设置为vmnet2,设置为自动获取ip

bubuko.com,布布扣 

获取成功

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

bubuko.com,布布扣 

获取成功

如果用交换机路由器实验,则步骤为:

实验拓扑:

bubuko.com,布布扣 

路由器:

[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 30

interface 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 查看过程

bubuko.com,布布扣获取成功


DHCP在企业网络中的应用

标签:网络管理员   ip地址   网络服务   计算机   

原文地址:http://whhhj.blog.51cto.com/9289395/1568891

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!