DHCP和DHCP中继
DHCP服务器
dhcp服务器可以为客户机提供ip地址、子网掩码、对应的广播地址、网络地址、缺省网关地址、dns服务器地址。
dhcp工作过程:
dhcp客户端 ------dhcp Discover------> dhcp服务器 (广播寻找dhcp服务器)
dhcp客户端 <----dhcp Offer- --------- dhcp服务器
dhcp客户端 ------dhcp Request-------> dhcp服务器(广播通知已接受一个ip地址)
dhcp客户端 <--dhcp Acknowledge------ dhcp服务(发送ip地址相关信息)
安装dhcp服务:
# rpm -ivh Packages/dhcp-4.1.1-12.P1.el6.i686.rpm
# rpm -qa dhcp
dhcp-4.1.1-12.P1.el6.i686
配置文件:
安装好了以后,就该进行dhcp服务的配置了。在RHEL6中,dhcp的配置文件是/etc/dhcp/dhcpd.conf,默认的内容是如下三行,提示说参考/usr/share/doc/dhcp*/dhcpd.conf.sample文件进行配置。DHCP服务器的ip地址租约文件/var/lib/dhcp/dhcpd.leases
# dhcp Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
# see 'man 5 dhcpd.c</code>
配置项目大致如下:
1)subnet...设置子网声明,声明一个作用域
2)option subnet-mask...为客户端主机配置的子网掩码
3)option routers...为客户端主机配置默认的网关地址
4)option domain-name...为dhcp客户设置DNS域。(用于域环境,如:dhcp客户机为ABC,而这里设为XYZ.NET,那么客户机全名变ABC.XYZ.NET)
5)option domain-name-servers...为dhcp客户机配置DNS服务器IP地址
6)range dynamic-bootp...设置IP地址作用域
7)default-lease-time...默认租期(单位以秒算)
8)max-lease-time...dhcp客户端是长的地址租期
9)host 主机名 {hardware ethernet MAC地址;
fixed-address IP地址;
} 主要用于地址保留
下面是一个dhcpd.conf的配置实例:
default-lease-time 21600;
max-lease-time 43200;
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option domain-name "lhzhi.com";
option domain-name-servers 10.1.2.100;
range dynamic-bootp 192.168.1.1 192.168.1.100;
}
使用service dhcpd configtest检查配置文件的语法,然后启动dhcp服务。
# service dhcpd configtest
Syntax: OK
# service dhcpd start
正在启动 dhcpd: [确定]
dhcp的客户端一般来说,没有设置ip地址的主机都会在局域网内广播信息寻找合适的dhcp服务器,所以,其实不用作很多的配置,重启客户端的网卡,应该就可以看到新获得的ip地址了吧。
DHCP中继服务器
在实际应用中,可能会遇到一个较大的物理网络中存在较多的子网,而且每个子网都需要动态的分配ip地址,如果在每一个子网中都配置一台dhcp服务器,那就显得太麻烦了,可以使用下面的dhcp中继来减少工作量。方法是在某个子网中配置一台dhcp服务器,然后在其余的子网中配置dhcp中继服务器,子网中的主机把都会dhcp请求发送给这一台中继服务器,中继服务器就与dhcp服务器联系,并将获得的ip地址转发给请求的主机。
下面就先搭建如下的实验拓扑图。
路由器转发配置
其中的“路由器”由一台具有两块网卡的RHEL6主机担任,开启它的数据包转发功能。首先在virtualbox的网络连接里面设置两个子网,innet和innet1,router的eth0属于innet,分配固定ip:192.168.1.1,router的eth1端口属于innet1,固定ip为192.168.100.1。然后,打开路由转发功能
# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
刷新配置sysctl -p使生效。设置完成后可以,可以使用两个网段间的主机执行ping命令,测试路由是否通畅,如果不能ping通,可先将防火墙关闭后,再做尝试。
DHCP服务器
另有一台机器在innet中,设ip地址为192.168.1.2,作为dhcp服务器,在之前配置的/etc/dhcp/dhcpd.conf中加入192.168.100.0网段的地址池。即如下的一段数据:
subnet 192.168.100.0 netmask 255.255.255.0 {
option routers 192.168.100.1;
option domain-name "hello.com";
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.100.20 192.168.100.30;
}
service dhcpd restart #然后重启dhcp服务器:
DHCP中继服务器
在innet1中,放置三台主机,一台RHEL6作为dhcp中继服务器,配置ip为192.168.100.2。在其上安装dhcp服务的rpm软件包。
# rpm -ivh Packages/dhcp-4.1.1-12.P1.el6.i686.rpm
然后对其/etc/sysconfig/dhcrelay文件做出配置,原文件内容如下:
# cat /etc/sysconfig/dhcrelay
# Command line options here
INTERFACES=""
DHCPSERVERS=""
将其修改为:
# Command line options here
INTERFACES="eth0"
DHCPSERVERS="192.168.1.2"
DHCPSERVERS="192.168.1.2"填写的是dhcp服务器的ip地址,INTERFACES="eth0"填写的是将dhcp请求从eth0端口转发给dhcp服务器。
启动dhcp中继服务:
# service dhcrelay start
正在启动 dhcrelay: [确定]
注意:这里的服务名是dhcrelay。
客户端
在innet1中的另外两台主机,一台是RHEL的dhcp客户端,一台是windows xp的dhcp客户端。在RHEL的客户端中,使用service network restart 重新获取ip地址,在windows xp的主机中,在控制台中使用ipconfig /renew重新获取ip地址。可以在网络设置中可以随意的切换innet和innet1网络,重启,分别用来获取192.168.1.0网段的ip地址和192.168.100.0网段的ip地址。
当前暂无评论 »