动态主机配置协议(Dynamic Host Configuration Protocol, DHCP)是一个局域网网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。今天来做几个关于dhcp服务器的案例。

案例1

一个简单的作用域:

Dhcp服务器地址为:192.168.80.10

给客户机配置192.168.80.0/24网段的地址

子网掩码  255.255.255.0

地址池为 192.168.80.2 192.168.80.254

作出以下选项:

网关指向192.168.80.1

dns指向 222.88.88.88  

域名 为tyedus.com

进入/etc/dhcp/dhcpd.confdhcp服务的配置文件:

/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample读取到此文件中,这是dhcp服务配置文件的一个样例文件,可以按照其中的格式来编写:

在末行执行50$d删除40行以后的内容因为不需要。

编辑如下图所示:

dhcp服务的应用_服务器

dhcp服务的应用_dhcp_02



然后重新打开一台虚拟机,使其自动获得地址,如下图所示,地址成功获得,从图中可以看出此地址是通过地址为192.168.80.10dhcp服务器指派而来,网关为192.168.80.1,掩码为24位,域名为tyedus.com

dhcp服务的应用_dhcp_03

dhcp服务的应用_服务器_04

dhcp服务的应用_dhcp_05



此时如果其中有一台机器平时当做ftp服务器使用那么它的地址必须是固定的,所以可以把它的地址绑定,比如说还把刚才那台机器的地址绑定为192.168.80.100

此时对dhcp的配置文件要做出如下修改,添加一个排除命令,使别的机器都得不到这个地址,

dhcp服务的应用_服务器_06


在这里一定在地址池里把192.168.80.100给排除掉使它不能被别的机器得到,最好也把本地的ip地址给排除掉,在这里我本机用的是192.168.80.10,所以也把这个地址排除了,结果如下:

dhcp服务的应用_dhcp_07

dhcp服务的应用_dhcp_08




案例2

实现超级作用域

建立一个名为aaa的超级作用域,其中包含两个作用域:

Subnet 192.168.80.0 netmask 255.255.255.0{}

Subnet 192.168.81.0 netmask 255.255.255.0{}


此时需要用到share-network(超级作用域):


如果是在工作环境中,当2.0网段的地址用完之后才会得到3.0网段的地址,但是这里是实验环境没有那么多的主机我就把每个网段给它缩小范围只给它一个地址,以便测试之用。

dhcp服务的应用_服务器_09

在这里可能有人会说在同一个网络中有人用的是2.0网段,有人用的是3.0网段,他们的网关不一样,难道一个网络接口上可以有两个网关吗?其实不是这样的,因为网关就是一个网络的出口,我们都知道在一个设备接口上可以同时配置2个以上的地址,所以这就没问题了。

然后来看实验结果:

dhcp服务的应用_dhcp_10

dhcp服务的应用_服务器_11




第一个主机得到的地址是192.168.80.2

第二台主机用的是一个redhat系统的主机,使用dhcp获得地址得到的地址为192.168.81.2

案例3dhcp中继技术

建立一个dhcp服务器,可以为两个vlan自动配置ip地址,dhcp服务器也是单独属于一个vlan,而dhcp服务器要给两外两个vlan中的主机配置ip地址,就必须和另外两个vlan通信。大家都知道vlan之间必须要通过高层来通信,此次我是用一个防火墙来作为高层设备,使用单臂路由和标签技术来实现。网络拓扑图如下所示:

dhcp服务的应用_dhcp_12

在这里必须建立一个空的作用域来声明与本机地址拓扑结构相关,因为这个作用域里不需要给主机配置ip,所以建立一个空的作用域就行。

dhcp服务的应用_服务器_13

dhcp服务的应用_dhcp_14



到这里dhcp服务器就做好了。

在交换机上配置:

[Quidway]vlan 10

[Quidway-vlan10]port e1/0/10

[Quidway-vlan10]vlan 20

[Quidway-vlan20]port e1/0/20

[Quidway-vlan20]vlan 30    

[Quidway-vlan30]port e1/0/24

[Quidway-vlan30]quit

[Quidway]int e1/0/22    

[Quidway-Ethernet1/0/22]port link-typetrunk

[Quidway-Ethernet1/0/22]port trunk permitvlan all

Pleasewait........................................... Done.


在防火墙上配置:

[H3C]inteth0/0.1    

[H3C-Ethernet0/0.1]vlan-type dot1q vid 10

[H3C-Ethernet0/0.1]ipadd 192.168.10.1 24

[H3C-Ethernet0/0.1]inteth0/0.2

[H3C-Ethernet0/0.2]vlan-type dot1q vid 20

[H3C-Ethernet0/0.2]ipadd 192.168.20.1 24

[H3C-Ethernet0/0.2]inteth0/0.3

[H3C-Ethernet0/0.3]vlan-type dot1q vid 30

[H3C-Ethernet0/0.3]ipadd 192.168.80.1 24

[H3C-Ethernet0/0.3]quit

[H3C]firewallzone trust  

[H3C-zone-trust]addint eth0/0.1

[H3C-zone-trust]addint eth0/0.2

[H3C-zone-trust]addint eth0/0.3

因为防火墙上默认这些所有的子接口都是隔离的所以要执行如下命令才能让这些接口打开。

[H3C]undoinsulate

[H3C]dhcpenable

DHCPtask has already been started!  

[H3C]dhcpselect relay interface eth0/0.1 to eth0/0.2

[H3C]inteth0/0.1

[H3C-Ethernet0/0.1]iprelay add  

[H3C-Ethernet0/0.1]iprelay address 192.168.80.10

[H3C-Ethernet0/0.1]inteth0/0.2                  

[H3C-Ethernet0/0.2]iprelay address 192.168.80.10

选择在这两个接口上中继并且中继给192.168.80.10dhcp服务器。

结果如下所示:

在vlan10上的主机:

dhcp服务的应用_服务器_15

在vlan20上的主机:

dhcp服务的应用_服务器_16