为了简化Dhcp配置,我做了以下更改:
任务需求:
为网络中的客户端自动分配IP地址,并且为客户端2保留IP地址(192.168.2.220)。
作用域信息 | |
---|---|
子网1 | 192.168.1.0/24 |
地址池 | 192.168.1.1~192.168.1.253 |
网关 | 192.168.1.254 |
DNS服务器 | 211.136.192.6 120.196.165.24 |
作用域信息 | |
子网2 | 192.168.2.0/24 |
地址池 | 192.168.2.1~192.168.2.253 |
网关 | 192.168.2.254 |
DNS服务器 | 211.136.192.6 120.196.165.24 |
一、系统准备阶段
下面的实验会用到VMnet1(仅主机模式) 和VMnet8(NAT模式),关闭DHCP功能。
DHCP服务器:
DHCP中继服务器:
二、Dhcp服务器配置
1、安装dhcp软件
yum install dhcp -y
2、配置文件
根据需要由模板文件/usr/share/doc/dhcp*/dhcpd.conf.example复制相关文件内容到/etc/dhcp/dhcpd.conf,然后修改配置。
cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
3、配置网卡
cd /etc/sysconfig/network-scripts/
ls
vim ifcfg-ens33
此处为网卡配置文件的内容
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=192.168.1.10
GATEWAY=192.168.1.254
PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=721bf751-0fac-4c74-9ade-9f591c0f5ebf
DEVICE=ens33
ONBOOT=yes
DNS1=192.168.1.10
DNS2=211.136.192.6
DNS3=120.196.165.24
4、重启网卡
systemctl restart network
5、配置DHCP地址池
通过命令 ifconfig 找到需要保留IP地址的客户端的MAC地址
vim /etc/dhcp/dhcpd.conf
option domain-name "junyi.com";
option domain-name-servers 211.136.192.6,120.196.165.24;
default-lease-time 600;
max-lease-time 7200;subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.1 192.168.1.253;
option routers 192.168.1.254;
}subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.1 192.168.2.253;
option routers 192.168.2.254;
host client1{
hardware ethernet 00:0c:29:a2:8c:1b;
fixed-address 192.168.2.220;
}}
6、检查/etc/dhcp/dhcpd.conf文件错误
dhcpd -t
7、重启DHCP
systemctl restart dhcpd
8、开机自启动DHCP服务
systemctl enable dhcpd
三、中继配置
1、配置网卡
cd /etc/sysconfig/network-scripts/
ls
vim ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=192.168.1.254
PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=19b64388-6997-4da4-a860-9eaf799575dc
DEVICE=ens33
ONBOOT=yes
第一张网卡一般来说都是ens33,由于第二张网卡系统没有自己配置,需要管理员手动添加网卡配置文件,如下图可知第二张网卡是ens36。
①先查看自己的网卡
ifconfig
②手动添加网卡配置文件
nmcli con add con-name ens36 type ethernet ifname ens36
cd /etc/sysconfig/network-scripts/
vim ifcfg-ens36
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=192.168.2.254
PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens36
UUID=688b1944-239a-4918-ae08-e29e42707b29
DEVICE=ens36
ONBOOT=yes
2、添加路由
route add -net 192.168.1.0 netmask 255.255.255.0 dev ens33
route add -net 192.168.2.0 netmask 255.255.255.0 dev ens36
3、dhcrelay
dhcrelay命令 使用dhcrelay命令可以提供中继DHCP和BOOTP请求,从一个没有DHCP服务器的子网直接连接到其它子网内的一个或多个DHCP服务器。该命令在DHCP中继服务器上使用,同时支持DHCPv4/BOOTP和DHCPv6协议。
dhcrelay 192.168.1.10
4、让dhcp中继具有路由转发功能
vim /etc/systcl.conf //编辑文件
net.ipv4.ip_forward=1 //添加的内容
sysctl -p //执行sysctrl -p生效
5、配置中继服务器
①安装DHCP软件
yum insatll dhcp -y
②复制中继代理配置文件到指定目录
cp /usr/lib/systemd/system/dhcrelay.service /etc/systemd/system/
③编辑中继代理配置文件
vim /etc/systemd/system/dhcrelay.service
[Unit]
Description=DHCP Relay Agent Daemon
Documentation=man:dhcrelay(8)
Wants=network-online.target
After=network-online.target[Service]
Type=notify
ExecStart=/usr/sbin/dhcrelay -d --no-pid 192.168.1.10 -i ens33[Install]
WantedBy=multi-user.target
④重新加载中继配置文件
systemctl daemon-reload
⑤重启中继
systemctl restart dhcrelay
⑥中继服务开机自启动
systemctl enable dhcrelay
四、客户端配置
cd /etc/sysconfig/network-scripts/
vim ifcfg-ens36
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=ee00f1c4-4501-4750-bb76-a1b226380d07
DEVICE=ens33
ONBOOT=yes
五、测试
客户端1:
客户端2:
至此,配置完成!