剧情提要
通过Cent os7 的镜像文件,创建了一个虚拟机A(后面简称A),事后发现,宿主机无法ping通A
在虚拟机中通过IP a 看到的IP信息也没有只管的ip信息如图
然后执行,宿主机才能访问A。
sudo dhclient ens33
我的网络设置如图
然后我这个特定虚拟网络是在,"编辑"→"虚拟网络编辑器"如图
目前遇到的问题就是每次A重启,就无法链接外网了。
能连接外网的时候 通过命令
systemctl status NetworkManager
输出
问题:A重启,就无法链接外网。这个问题解决了。
检查是否有dhclient 工具,没有的话就安装一个
然后生成 /etc/systemd/system/dhclient@.service 文件
内容是
[Unit]
Description=DHCP Client for %I
Wants=network-online.target
After=network-online.target
[Service]
ExecStart=/sbin/dhclient -1 -pf /run/dhclient-%I.pid -lf /var/lib/dhclient/%I.lease -cf /etc/dhcp/dhclient-%I.conf %I
[Install]
WantedBy=default.target
保存文件后,重新加载 systemd 配置并启动服务:
sudo systemctl daemon-reload
sudo systemctl start dhclient@ens33
sudo systemctl enable dhclient@ens33
确保防火墙允许 DHCP 和 SSH 流量通过。如果您使用的是 firewalld,运行以下命令:
sudo firewall-cmd --permanent --add-service=dhcp
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
这样虚拟机重启后会自动获取一个能用的IP地址,如果想要静态的,就修改 ifcfg-ens33 这里ens33是我这边的网络名称,不同的虚拟机可能叫的不一样
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
把文件内容修改成
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
UUID=********************** # 保持原UUID不变,填你自己的
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.159.129 # 设置静态IP地址 根据你自己的IP情况设置
NETMASK=255.255.255.0 # 设置子网掩码 根据你自己的IP情况设置
GATEWAY=192.168.159.2 # 设置默认网关 根据你自己的IP情况设置
DNS1=xxx.xxx.xxx.xxx # 设置首选DNS服务器 根据你自己的IP情况设置
DNS2=223.5.5.5 # 设置备用DNS服务器 根据你自己的IP情况设置
# 保留原有无关参数
PROXY_METHOD=none
BROWSER_ONLY=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
# 如果有其他的参数继续往后加...
应用新的配置,重启网络
sudo systemctl restart network
然后测试你的虚拟机重启之后网络是否正常