一, DHCP 相关介绍
1,dhcp 服务相关
软件名:
- dhcp #DHCP 服务软件包
- dhcp-common #DHCP 命令软件包 (默认已安装)
服务名:
- dhcpd #DHCP 服务名
- dhcrelay #DHCP 中继服务名
端口号:
- udp 67 #作为客户端的目标端口, 接收客户端的请求 DHCP 请求
- udp 68 #作为服务器的源端口, 用来向客户端回复数据包
配置文件:
- dhcpd /etc/dhcp/dhcpd.conf #此配置文件默认是空的, 需要找模板文件重新生成
- dhcpd.conf.sample /usr/share/doc/dhcp-4.*.*/dhcpd.conf.sample
- #DHCP 的模板配置文件
- dhcrelay /etc/sysconfig/dhcrelay #该文件时中继配置文件
2, 配置文件解释
VIM /etc/dhcp/dhcpd.conf
subnet 100.100.100.0 netmask 255.255.255.0{ #声明要分配的网段和子网掩码
- range 100.100.100.120 100.100.100.130; #声明可用 IP 地址池
- option domain-name "centos" ; #设置 DNS 域, 可选.
- option domain-name-servers 114.114.114.114 ; #设置 DNS 服务器地址 , 可选
- option routers 100.100.100.2; #默认网关的地址
- option broadcast-address 100.100.100.255; #广播地址, 可选
- default-lease-time 600; #默认租约 (s)
- max-lease-time 7200; #最大租约 (s)
- }
二, DHCP 实验
1, 基本实验
1.1, 环境准备
1, 使用自定义 nat 模式, 网段为 100.100.100.0, 方便一些软件包的安装.
2, 关闭虚拟机的自带的 dhcp 配置, 防止对自定义的 dhcp 服务造成干扰.
3, 关闭服务器的防火墙, 及 selinux 服务
1.2,dhcp 服务器配置网络
使用 setup 工具配置网络
1.3, 安装 dhcp 服务
yum install dhcp -y
1.4, 生成配置文件
- cp -a /usr/share/doc/dhcp-4.*.*/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
- cp: overwrite `/etc/dhcp/dhcpd.conf'? y
- VIM /etc/dhcp/dhcpd.conf
添加以下代码
- subnet 100.100.100.0 netmask 255.255.255.0{
- range 100.100.100.120 100.100.100.130; #设置 ip 地址范围
- option domain-name-servers 114.114.114.114; #设置 dns 服务器
- option routers 100.100.100.2; #设置网关
- }
1.5 重启 dhcp 服务, 设置客户机 dhcp 自动获取 ip
- [root@CentOS ~]# service dhcpd restart
- Starting dhcpd: [ OK ]
- # 使用 setup 工具设置 dhcp 自动获取 ip
- # 重启客户机网络
可查看日志信息,
- tail /var/log/messages
- Dec 21 15:17:17 CentOS dhclient[2235]: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3 (xid=0x73189009)
- Dec 21 15:17:17 CentOS dhclient[2235]: DHCPOFFER from 100.100.100.100
- Dec 21 15:17:17 CentOS dhclient[2235]: DHCPREQUEST on eth0 to 255.255.255.255 port 67 (xid=0x73189009)
- Dec 21 15:17:17 CentOS dhclient[2235]: DHCPACK from 100.100.100.100 (xid=0x73189009)
2, 固定地址分配
dhcp 服务器, 将一个 IP 地址固定的分配给一台客户机.
2.1, 获取客户端的 Mac 地址
- [root@CentOS ~]# arp -a
- ? (100.100.100.1) at 00:50:56:c0:00:08 [ether] on eth0
- ? (100.100.100.2) at 00:50:56:eb:dc:de [ether] on eth0
- ? (100.100.100.120) at 00:0c:29:ee:12:a5 [ether] on eth0
2.2, 修改 / etc/dhcp/dhcpd.conf 文件
- host fantasia {
- hardware ethernet 00:0c:29:ee:12:a5; #客户机 Mac 地址
- fixed-address 100.100.100.200; #要分配的 ip, 子网段就行
- }
2.3, 重启 DHCP 服务, 查看 IP 地址是否获取成功
service dhcpd restart
重启客户机网卡验证 IP 获取是否成功 service network restart
3, 超级作用域
一个 DHCP 服务器, 为一个局域网内部客户机分配不同网段的 ip, 以解决 IP 地址不足问题.
3.1, 修改 DHCP 服务器网卡配置
- cp -a ifcfg-eth0 ifcfg-eth0:0 #编辑此文件, 留下重要信息就行.
- DEVICE=eth0:0
- ONBOOT=yes
- IPADDR=200.200.200.200
- NETMASK=255.255.255.0
3.2, 开启路由转发:
- VIM /etc/sysctl.conf
- net.ipv4.ip_forward = 1 #此选项修改为 1 即可
- sysctl -p #刷新内核参数配置文件
3.3, 修改 dhcpd 配置文件
- shared-network 224-29 {
- subnet 100.100.100.0 netmask 255.255.255.0 {
- option routers 100.100.100.100;
- range 100.100.100.130 100.100.100.130; #只分配一个 ip 更好看到效果
- }
- subnet 200.200.200.0 netmask 255.255.255.0 {
- option routers 200.200.200.200;
- range 200.200.200.230 200.200.200.230;
- }
- }
3.4, 重启 DHCP 服务, 重启两台客户机的网络
- service dhcpd restart
- service network restart
4,dhcp 中继
Relay(DHCPR)DHCP 中继是一个小程序, 可以实现在不同物理网段之间处理和转发 dhcp 信息的功能
4.1, 实验准备
1, 三台主机
2, 拓扑图
4.2, 服务器配置
修改 / etc/dhcp/dhcpd.conf 文件:
- subnet 100.100.100.0 netmask 255.255.255.0 {# 此处配置用不到, 但不配置服务将会报错
- range 100.100.100.120 100.100.100.120;
- option routers 100.100.100.101;
- }
- subnet 10.10.10.0 netmask 255.255.255.0 {
- range 10.10.10.20 10.10.10.30;
- option routers 10.10.10.10;
- }
重启 dhcpd 服务:
service dhcpd start
4.3, 中继器配置
1, 软件安装
yum -y install dhcp
2, 修改配置文件
- VIM /etc/sysconfig/dhcrelay
- INTERFACES="eth0 eth1"
- DHCPSERVERS="100.100.100.100"
3, 开启路由转发
- VIM /etc/sysctl.conf
- netipv4.ip_forward = 1
- sysctl -p
4, 重启中继服务
service dhcrelay start
4.4 重启客户机网络
来源: https://www.cnblogs.com/hjnzs/p/12078283.html