Linux下DHCP中继配置

在实际应用中可能会遇到一个比较大的物理网络中存在多个ip子网,而每个ip子网的主机都需要DHCP服务器来动态分配ip地址,实现的方法有两种。第一种是在每一个子网中设置DHCP服务器,将其分别为每个子网分配ip地址,但此方法会增加开销,浪费资源;第二种就是只在一个子网内设置DHCP服务器,通过这台DHCP服务器来为所有的子网分配ip地址,这个方法比第一种节省,是可行的,这就要用到DHCP中继代理了。

在整个DHCP租约产生的过程中,DHCP服务器和客户端都是使用广播进行通信的,我们知道,网络上上的流量分为单播、广播、组播,单播和组播可以顺利的通过路由器,广播不可以通过路由器,路由器隔离广播,这样就会产生一个问题,如果DHCP客户端和DHCP服务器之间要跨越子网时,中间的路由器会进行阻拦,路由器看到是广播包立马就会扔掉,那怎么办呢?很简单,只需要让这个广播包在进入路由器之前变成单播就行了,这就是中继代理的原理。

DHCP中继代理的过程。(1)DHCP客户端广播dhcpdiscover包(2)DHCP中继代理将dhcpdiscover包以单播发送到DHCP服务器(3)HDCP服务器以单播发送DHCPoffer包给DHCP中继代理(4)DHCP中继代理广播dhcpffer包(5)DHCP客户端广播dhcprequest包(6)DHCP中继代理以单播转发dhcprequest包给DHCP服务器(7)DHCP服务器以单播发送dhcpack包给DHCP中继代理(8)DHCP中继代理广播dhcpack包。

一般情况下,DHCP中继代理监听所有接口上的DHCP请求。假如某个HDCP服务器位于网络接口为eth0的子网内,那么就可以用中继代理向eth1和eth2连接的子网内提供DHCP服务。

实验:

Linux下DHCP中继配置

如图公司的三个子网处于三个网段内,现在只在人力部子网里面配置一天DHCP服务器,怎样同时为这三个子网实现DHCP功能?

1、首先在DHCP SERVER这台服务器上进行配置

(1)安装并开启dhcp服务。

(2)编辑主配置文档/etc/dhcpd.conf.  建立三个作用域如下:

ddns-update-style interim;

ignore client-updates;

subnet 192.168.92.0 netmask 255.255.255.0 {

# --- default gateway

option routers                  192.168.92.254;

option subnet-mask              255.255.255.0;

option domain-name              "renli.org";

option domain-name-servers      222.222.85.85;

option time-offset              -18000;

range dynamic-bootp 192.168.92.0 192.168.92.253;

default-lease-time 21600;

max-lease-time 43200;  }

subnet 192.168.91.0 netmask 255.255.255.0 {

# --- default gateway

option routers                  192.168.91.254;

option subnet-mask              255.255.255.0;

option domain-name              "caiwu.org";

option domain-name-servers      222.88.88.88;

option time-offset              -18000;

range dynamic-bootp 192.168.91.0 192.168.91.253;

default-lease-time 21600;

max-lease-time 43200;    }

subnet 192.168.93.0 netmask 255.255.255.0 {

}  //注意这里建了一个空的作用域,其实也可以比为空

(3)重新启动dhcp服务

到此服务器的上的配置就完成了,下面看在中继的配置。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/1ecf2b18bac29da67a68fae4281b084f.html