1 DHCP概述
- DHCP,动态主机配置协议。
- 用于为TCP/IP网络中的计算机自动分配地址信息,信息主要包括IP,子网掩码,对应的网络地址,广播地址,默认网关,DNS服务器
- 优点:减少管理员的工作量,避免IP冲突
- 过程:
- 客户机发送广播包来寻找DHCP服务器,服务器
- DHCP服务器收到请求,经过在本机DHCP服务的IP池中寻找到合法的IP地址,然后将分发的信息广播出去
- 客户机从收到的广播信息中,提取IP,且广播出DHCP request信息
- 当DHCP服务器收到后看,以DHCP ACK消息的形式向客户机广播成功确认,这个恢复的广播包,包括IP的有效租约和其他可配置的信息,客户端收到这个信号,就完成了TCP/IP的初始化,成功获取IP
2 DHCP的安装与配置
环境:
CentOS 7.5
3.10.0-862.el7.x86_64
关闭firewalld,NetworkManager,selinux
安装
yum -y install dhcp
主配置文件:/etc/dhcp/dhcpd.conf
执行程序:/usr/sbin/dhcpd,/usr/sbin/dhcrelay
服务脚本(7.5使用yum安装没有此脚本):/etc/init.d/dhcpd,/etc/initd.d/dhcrelay
执行参数配置:/etc/sysconfig/dhcpd
DHCP中继配置:/etc/sysconfig/dhcrelay
修改配置文件:
注意,此DHCP服务器必须有一个网络设备的IP地址属于所设置的网段,不同网段的IP池,可以通过中继来分发
vim /etc/dhcp/dhcpd.conf
option domain-name "JC.DHCP";
#分发DNS服务器IP
option domain-name-servers 192.168.200.200,192.168.100.200;
#默认租约6小时
default-lease-time 21600;
#租约12小时
max-lease-time 43200;
#日志记录配置
log-facility local7;
#第一个IP池,分发网段为192.168.200.0,掩码,范围,网关IP
subnet 192.168.200.0 netmask 255.255.255.0 {
range 192.168.200.20 192.168.200.100;
option routers 192.168.200.100;
}
#第二个IP池
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.10 192.168.100.100;
option routers 192.168.100.200;
}
#根据网卡的MAC,来分配固定的IP
host test {
hardware ethernet 00:0c:29:da:20:76;
fixed-address 192.168.100.11;
}
启动DHCP服务:
systemctl start dhcpd
3 配置中继服务器
实现跨网段获取IP
环境:
DNCP服务器IP为192.168.200.200,网关为192.168.200.100
中继服务器两块网卡,ens32为192.168.200.100,ens34为192.168.100.100
客户机想获取的网段为192.168.100.0
中继服务器安装DHCP服务,并且打开路由转发功能
yum -y install dhcp
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
编辑/etc/sysconfig/dhcrelay文件
#指定DHCP服务器的IP
DHCRELAYARGS="192.168.200.200"
#当DHCP服务器有多个网段时,指定发送的网卡
DHCPv4 only ens32
DHCPSERVERS=""
启动中继服务
centos 6.5启动中继,自动加载使用上一条编写的中继配置文件
/etc/init.d/dhcrelay start
但7.5 不能直接启动,而是通过命令的方式,直接后台中继代理
dhcrelay 192.168.200.200
测试
客户机的网卡,使用net1网段,网络配置为DHCP自动获取
开机则自动获取,若获取失败可重启网络服务
ifconfig 查看获取的IP是否在DHCP服务器配置设置的范围中
route -n 查看网关获取情况
cat /etc/resolv.conf 查看获取的DNS服务器是否正常