目录
一、环境准备
采用 VMware Workstation
进行实验:
Host | Network | 备注 |
---|---|---|
192.168.209.20 | 仅主机模式 | DHCP 服务端 - IP 地址池划分与分配 |
192.168.209.xx | 仅主机模式 | Client 客户端 - 测试 - 从 20 获取 IP 地址(实现动态/静态获取) |
整体思路:
- 先把 DHCP 服务端的网络模式改为 Net 或桥接模式(因为我们要事先安装 DHCP 服务,而仅主机模式下是上不了网的);
- DHCP 服务端与Client 客户端处于同一网络下;
- 启动 DHCP 服务端;
- 启动 Client 客户端,看是否获取到 IP(动态/静态);
- 验证 Client 客户端是否可连接外网(很显然我们这里是无法连接外网的 - 由于虚拟机环境且是仅主机网络模式下)。
二、DHCP 服务端部署
2.1 安装 DHCP 服务
1、安装 DHCP
此时的 DHCP 服务端主机的网络是 Net 模式的。
yum install -y dhcp
2、添加仅主机网络模式
-
操作:【编辑】- - > 【虚拟网络编辑器】
将本地 DHCP 分配去掉,目的是不受本地的 DHCP 影响
其子网 PI 为:92.168.209.0
其子网掩码为:255.255.255.0
-
点击确定后,宿主机同样也具备网关(实现与虚拟机通信)
要保证宿主机(windows)与你的虚拟机的网关相同,且掩码也相同,否则宿主机无法与你创建的
仅主机模式
的虚拟机通信。
3、将 DHCP 服务端虚拟主机的网络模式调整为仅主机模式
4、将 DHCP 服务端虚拟主机的 IP 设置为静态 IP
这个静态 IP 可指定
VMnet2
网络下的子网 IP 中任意一个(只要没被占用)。
vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens33UUID=c78f73a1-afac-4c14-ac95-8e0c0fa76db5DEVICE=ens33ONBOOT=yesIPADDR=192.168.209.20NETMASK=255.255.255.0GATEWAY=192.168.209.2DNS1=114.114.114.114DNS2=61.139.2.69
重启网络
systemctl restart network.service
2.2 修改 DHCP 配置
1、编辑 /etc/dhcp/dhcpd.conf
文件
vim /etc/dhcp/dhcpd.conf
提示可知:将配置文件复制到
/etc/dhcp/
下即可。
2、复制配置文件
cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf# 直接替换即可
3、再次编辑 /etc/dhcp/dhcpd.conf
文件
vim /etc/dhcp/dhcpd.conf
# 全局配置(若局部配置没设置则以全局配置为准)option domain-name "example.org";option domain-name-servers ns1.example.org, ns2.example.org;default-lease-time 600;max-lease-time 7200;ddns-update-style none;...# 局部配置(若局部配置已设置则以局部配置为准)subnet 192.168.209.0 netmask 255.255.255.0 { # 定义网络地址和子网掩码 range 192.168.209.132 192.168.209.135; # 指定IP地址池的范围 option domain-name-servers 192.168.209.2; # DNS服务器(自建的DNS或所在地区的DNS) option domain-name "zrs.com"; # 域(比如访问www,就会自动补齐www.zrs.com) option routers 192.168.209.2; # 网关IP option broadcast-address 192.168.209.255; # 广播地址 default-lease-time 600; max-lease-time 7200;}...
4、启动 DHCP 服务
systemctl start dhcpdsystemctl enable dhcpdsystemctl status dhcpd
三、Client 客户端验证
3.1 动态获取 IP
1、将 Client 客户端主机的网络模式调整为仅主机模式
2、修改 Client 客户端主机动态获取 IP 地址
vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=dhcpDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens33UUID=b1684e7b-7e07-4a97-aab3-deaf26b8d82bDEVICE=ens33ONBOOT=yes
重启网络
systemctl restart network.service
3.2 配置静态 IP
通过 Client 客户端虚拟主机的 MAC 地址来指定 IP 地址。
1、获取 Client 客户端虚拟主机的 MAC
00:0c:29:5a:29:b0
2、修改 DHCP 服务端配置
...host fantasia { hardware ethernet 00:0c:29:5a:29:b0; # MAC地址 fixed-address 192.168.209.134; # 指定IP地址}...
3、重启 DHCP Server
systemctl restart dhcpd
4、重启 DHCP Client 端虚拟主机网络
systemctl restart network.service
5、验证 DHCP Client 的 IP 是否为我们指定的 IP
ip a
也可以通过常规设置静态 IP 的方法获取 IP,但实际上通过 MAC 的形式在 DHCP 服务端上指定是最可靠的。
vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticNM_CONTROLL=noDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens33UUID=b1684e7b-7e07-4a97-aab3-deaf26b8d82bDEVICE=ens33ONBOOT=yesIPADDR=192.168.209.133NETMASK=255.255.255.0GATEWAY=192.168.209.2DNS1=114.114.114.114DNS2=61.139.2.69
重启网络即可
systemctl restart network.service
—END—