[DHCP服务]——一个验证DHCP原理实验(VMware)
大致实验拓扑图
DHCP Server端的配置
1. 安装DHCP
# yum -y install dhcp
2. 拷贝配置文件
# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
3. 编辑配置文件
# vim /etc/dhcp/dhcpd.conf
(1)默认租约时间
#指定默认的租约时间的长度,单位:秒 default-lease-time 3600;
(2)最大租约时间
#指定默认的最大租约时间, 单位:秒 max-lease-time 72000;
(3)日志记录的方式
#日志记录的方式 log-facility local7; #意味着服务启动后可在/var/log/message、/var/log/boot.log看到dhcp服务的日志 #因为/etc/rsyslog.conf中规定了local7*的日志方式路径: # cat /etc/rsyslog.conf # Save boot messages also to boot.log local7.* /var/log/boot.log
(4)DHCP-DNS互动更新模式
#配置DHCP-DNS为互动更新模式 ddns-update-style none; #因为DHCP客户端取得的IP通常是一直变动的,所以某台主机的主机名与IP的对应关系很难处理 #设置此选项表示DHCP可以通过ddns来更新主机名与IP的对应关系。不需要则设置为none。
(5)忽略客户端的DNS更新功能
ignore client-updates;
(6)域名设置
option domain-name "centos.vbird"; #当你要查找主机名时,DNS系统会自动帮你在所要查找的主机名后加上这个域名后缀 #这个设置会修改客户端的/etc/resolv.conf文件,我们会看到两行内容: search centos.vbird domain centos.vbird
(7)指定给客户端分配的DNS
#最多写3个 option domain-name-servers 8.8.8.8,202.103.96.112; #这个设置可以修改客户端的/etc/resolv.conf文件,即这也是服务器可以给客户端分配的网络参数之一,我们会看到: nameserver 8.8.8.8 nameserver 202.103.96.112
(8)subnet 网络地址 netmask 子网掩码 {...}
#IP分配设置(地址池) subnet 172.16.10.0 netmask 255.255.255.0 { range 172.16.10.2 172.16.10.100; #设置一个可以分配给客户端的IP地址范围 range 172.16.10.200 172.16.10.250; #range可以有多段 option routers 172.16.10.1; #给客户端分配的网关 default-lease-time 7200; #注意如果这些配置参数写到subnet{}中,则以局部变量为准 max-lease-time 15400; } subnet 172.16.20.0 netmask 255.255.255.0 { #这里是设置的另一个网段的 range 172.16.20.2 172.16.20.100; range 172.16.20.200 172.16.20.250; option routers 172.16.20.1; }
(9)host 主机名 {...}
#在需要的情况下给某一客户端固定分配一IP host sxkj #这个主机名可以自己设 { hardware ethernet 00:0C:29:B6:DF:5E; #客户端的MAC fixed-address 172.16.10.10; #给予的固定IP }
(10)更多的设置参数可以man查看
# man 5 dhcpd.conf
4. 把提供DHCP服务的网卡名写入到/etc/sysconfig/dhcpd文件中(有两张以上网卡时)
# cat /etc/sysconfig/dhcpd DHCPDARGS="eth0"
5.开启dhcp服务
# service dhcpd start
6.日志、端口等监听和查看
# cat /var/log/message #查看日志(若服务开启失败,要学会查看日志来查找原因) # tail -f /var/log/boot.log #对dhcpd服务进行监听 # netstat -tuanp | grep dhcpd #查看监听端口 udp 0 0 0.0.0.0:67 0.0.0.0:* 3211/dhcpd
DHCP Relay端(中继服务器)的配置
1.安装dhcp(不然你会找不到/etc/sysconfig/dhcrelay那个文件的)
yum install -y dhcp
2. 开启中继服务器的路由转发功能
# vim /etc/sysctl.conf net.ipv4.ip_forward = 1 #将这个值设置为1 # sysctl -p #重新加载/etc/sysctl.conf使设置生效
3. 设置中继选项
# vim /etc/sysconfig/dhcrelay INTERFACES="eth0 eth1" DHCPSERVERS="172.16.10.1" #写出真正要找的DHCP服务器
4.启动dhcp中继服务
# service dhcrelay start
DHCP 客户端验证
1. 使用dhcp获取IP
# dhclient -r eth0:释放ip地址
# dhclient eth0 : 获得ip,要求网卡配置文件里采用dhcp方式获得ip
# BOOTPROTO=dhcp:网卡配置文件中
2. 配置成功后客户端的哪些文件有变化?
# /etc/resolv.conf :里面的域名和dns服务器会和配置中的"domain_name"、"domain_name_server"
# route -n:可以查看到路由的变化
# netstat -tlunp | grep dhcp
# /var/lib/dhclient/dhclient-eth0.leases :客户端也是有租约文件的,记录着这块网卡曾要求过的dhcp信息
3. 客户端是Windows
# ipconfig /release :释放ip
# ipconfig /renew :获得ip
补充一些实验的截图