采用 VMware Workstation
进行实验:
Host | Network | 备注 |
---|---|---|
192.168.209.20 | 仅主机模式 | DHCP 服务端 - IP 地址池划分与分配 |
192.168.209.xx | 仅主机模式 | Client 客户端 - 测试 - 从 20 获取 IP 地址(实现动态/静态获取) |
整体思路:
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=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
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=c78f73a1-afac-4c14-ac95-8e0c0fa76db5
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.209.20
NETMASK=255.255.255.0
GATEWAY=192.168.209.2
DNS1=114.114.114.114
DNS2=61.139.2.69
重启网络
systemctl restart network.service
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 dhcpd
systemctl enable dhcpd
systemctl status dhcpd
1、将 Client 客户端主机的网络模式调整为仅主机模式
2、修改 Client 客户端主机动态获取 IP 地址
vim /etc/sysconfig/network-scripts/ifcfg-ens33
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=b1684e7b-7e07-4a97-aab3-deaf26b8d82b
DEVICE=ens33
ONBOOT=yes
重启网络
systemctl restart network.service
通过 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=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
NM_CONTROLL=no
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=b1684e7b-7e07-4a97-aab3-deaf26b8d82b
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.209.133
NETMASK=255.255.255.0
GATEWAY=192.168.209.2
DNS1=114.114.114.114
DNS2=61.139.2.69
重启网络即可
systemctl restart network.service
—END—