文章目录
一、基本功能搭建(服务器+ 客户机)
服务器端
#关闭使用网卡自带的dhcp服务功能
#安装软件包
$ yum -y install dhcp
#生成配置文件
$ cp -a /usr/share/doc/dhcp-4.*.*/dhcpd.conf.example
*.*为dhcp版本 example为c7模板
/etc/dhcp/dhcpd.conf
#修改配置文件
$ vim /etc/dhcp/dhcpd.conf
subnet 192.168.66.0 netmask 255.255.255.0{
range 192.168.66.3 192.168.66.254; #设置地址范围(必填)
option domain-name-servers 8.8.8.8; #设置DNS的地址
option domain-name "kernel.com"; #设置DNS的域名
option routers 192.168.66.1; #设置网关地址
option broadcast-address 192.168.66.255; #设置广播地址
default-lease-time 600; #设置租约时间
max-lease-time 7200;
}
#重启服务
$ systemctl start dhcpd
#验证服务开启状态
$ ss -anup | grep dhcp #查看端口是否开启
$ ps aux | grep dhcp #查看进程是否开启
客户端
#和dhcp服务器使用同一个虚拟网卡
#设置网卡、将获取IP地址的方式设置为dhcp
$ vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=dhcp
去掉IPADDR、NETWORK等
# 重启网卡、查看获取的IP地址(已获取了一个IP,想重新获取也可以重启网卡)
$ systemctl restart network
或:ifdown ens33;ifup ens33;
#查看ip是否在地址池范围里
$ ip addr
二、保留地址实验(服务器+ 客户机)
服务器端
$ vim /etc/dhcp/dhcpd.conf
host fantasia{
hardware ethernet mac地址; #客户机的mac地址
fixed-address IP地址; #固定分配给客户机的ip地址
}
#注:该固定IP可以是地址池之外的IP地址
#注:若是要给多个mac地址固定分IP,需要些多个host块、且后面的名字不相同
客户端
#和dhcp服务器使用同一个虚拟网卡
#设置网卡、将获取IP地址的方式设置为dhcp
$ vim /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=dhcp
去掉IPADDR、NETWORK等
# 重启网卡、查看获取的IP地址(已获取了一个IP,想重新获取也可以重启网卡)
$ systemctl restart network
或:ifdown ens33;ifup ens33;
#查看ip是否在地址池范围里
$ ip addr
三、超级作用域实验(服务器和路由器+ 客户机1+客户机2)
网络配置
dhcp服务器:vmnet1
ens33 :192.168.66.100
ens33:0 :192.168.88.100
客户机1:vmnet1
ens33 : 自动获取
客户机2:vmnet1
ens33 : 自动获取
DHCP服务器和路由器
#关闭使用网卡自带的dhcp服务功能
#为当前ens33网卡添加子网卡、设置该子网卡
$ cd /etc/sysconfig/network-scripts
$ cp -a ifcfg-ens33 ifcfg-ens33:0
$ vim ifcfg-ens33
BOOTPROTO=static
IPADDR=192.168.66.100
PREFIX=24
$ vim ifcfg-ens33:0
去掉UUID设置、因为不能重复
BOOTPROTO=static
IPADDR=192.168.88.100
PREFIX=24
$ systemctl restart network
#开启路由转发
#CentOS7:
$ vim /usr/lib/sysctl.d/50-default.conf
net.ipv4.ip_forward=1
#验证开启成功
$ grep ip_forward /usr/lib/sysctl.d/50-default.conf
$ reboot
#CentOS6:
$ vim /etc/sysctl.conf
net.ipv4.ip_forward=1
#验证开启成功
$ sysctl -p
#配置dhcp服务(注释掉其他实验地址池的设置、保留地址的设置)
#分配规则是先把第一个地址池的ip分配完、再分配第二个地址池
$ vim /etc/dhcp/dhcpd.conf
shared-network public {
subnet 192.168.66.0 netmask 255.255.255.0{
option routers 192.168.66.100;
range 192.168.66.200 192.168.66.200;
}
subnet 192.168.88.0 netmask 255.255.255.0{
option routers 192.168.88.100;
range 192.168.88.110 192.168.88.120;
}
}
$ systemctl restart dhcpd
两台客户机重启网卡
#和dhcp服务器使用同一个虚拟网卡
#设置网卡、将获取IP地址的方式设置为dhcp
$ vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=dhcp
去掉IPADDR、NETWORK等
# 重启网卡、查看获取的IP地址(已获取了一个IP,想重新获取也可以重启网卡)
$ systemctl restart network
或:ifdown ens33;ifup ens33;
#查看ip是否在地址池范围里
$ ip addr
四、DHCP中继实验(DHCP服务器+DHCP中继和路由器+客户机)
网络设置
DHCP服务器:vmnet1
ens33 : 192.168.66.77,网卡为中继服务器IP
DHCP中继器:
ens33 :vmnet1, 192.168.66.100
ens34 :vmnet2, 192.168.88.100
客户机:vmnet2
ens33 : 自动获取
DHCP服务器
#关闭使用网卡自带的dhcp服务功能
#配置网卡信息
$ vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=static
IPADDR=192.168.66.77
PREFIX=24
GATEWAY=192.168.66.100 #设置成中继服务器的内网IP
$ systemctl restart network
#修改配置文件
注意:dns这块要注释掉
# option definitions common to all supported networks...
#option domain-name "example.org";
#option domain-name-servers ns1.example.org, ns2.example.org;
$ vim /etc/dhcp/dhcpd.conf
subnet 192.168.66.0 netmask 255.255.255.0{
option routers 192.168.66.100; #设置成中继服务器的内网IP
range 192.168.66.110 192.168.66.120;
}
subnet 192.168.88.0 netmask 255.255.255.0{
option routers 192.168.88.100; #设置成中继服务器的外网IP
range 192.168.88.110 192.168.88.120;
}
$ systemctl restart dhcpd
DHCP中继服务器
#配置两个网卡、配置不同网段的IP地址
$ vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=static
IPADDR=192.168.66.100
PREFIX=24
$ vim /etc/sysconfig/network-scripts/ifcfg-ens34
BOOTPROTO=static
IPADDR=192.168.88.100
PREFIX=24
$ systemctl restart network
#安装dhcp软件
$ yum -y install dhcp
#指定作为中继的DHCP服务器IP
$ dhcrelay DHCP服务器IP
#查看开启的结果
$ ss -tulnp | grep dhcrelay
#开启路由转发
$ vim /usr/lib/sysctl.d/50-default.conf
net.ipv4.ip_forword=1
$ grep ip_forword /usr/lib/sysctl.d/50-default.conf
客户机
#和dhcp服务器的外网使用同一个虚拟网卡
#设置网卡、将获取IP地址的方式设置为dhcp
$ vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=dhcp
去掉IPADDR、NETWORK等
# 重启网卡、查看获取的IP地址(已获取了一个IP,想重新获取也可以重启网卡)
$ systemctl restart network
或:ifdown ens33;ifup ens33;
#查看ip是否在地址池范围里
$ ip addr