CentOS网络配置 本机ping不通虚拟机

CentOS7如何配置虚拟机网络
1.在虚拟机 编辑下 -》进入编辑页面,具体配置如下,红色框是重点的重点
在这里插入图片描述

上面的NAT设置如下图
在这里插入图片描述
图一 的DHCP设置
在这里插入图片描述

CentOS网卡信息 用ifconfig
在这里插入图片描述

这上面的IP地址在 DHCP设置的地址范围128-254内

如果不在,可以修改 ,$ vi /etc/sysconfig/network-scripts/ifcfg-ens33
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=“c915934c-d8ec-4a55-81d5-d27c41f46342”
DEVICE=“ens33”
ONBOOT=“yes”
IPV6_PRIVACY=“no”

IPADDR=192.168.122.222
GATEWAY=192.168.122.2
NETMASK=255.255.255.0
DNS1=8.8.8.8
DNS2=114.114.114.114

我们看到IPADDR为IP地址,GATEWAY为网关,NETMASH为子网掩码,与ipconfig相同
,最后两行为域名服务器,一般都用这两个,有时候这个配置文件没有,需要添加
DNS1=8.8.8.8
DNS2=114.114.114.114

备注:有些人这样写
TYPE=“Ethernet”
DEVICE=“ens33”
ONBOOT=“yes”
BOOTPROTO=“static”
IPADDR=“192.168.1.223”
GATEWAY=“192.168.1.1”
NETMASK=“255.255.255.0”
DNS1=“8.8.8.8”

以上都配置好后,就到测试了。若是CenotOS可以上网。那说明虚拟机和CentOS网络配置没有问题
重点是windows能否连上虚拟机
用putty或者xshell centos的地址
1.ping不通,那应该是虚拟机和centos没有配置好,按照上面的方法逐个检查,
还有一种情况是虚拟机网卡 未识别的网络,是虚拟机的问题,我重装虚拟机就好了
在这里插入图片描述
图中VM8已经启用。说明没有问题。本地连接虽然是这个状态,但是我用了宽带连接,不影响使用
2.Ping 得同,但是连不上,那是 centos的ip没有在 DHCP地址范围内。

附录 CentOS7.2 虚拟机网卡无法启动

在开机之后,发现网卡没有启动起来,进行了如下操作
1、ifup ens33
Bringing up interface ens33: Error: Connection activation failed: No suitable device found for this connection.
2、接着想重启网络服务
[root@client01 network-scripts]# systemctl start network
Job for network.service failed because the control process exited with error code. See “systemctl status network.service” and “journalctl -xe” for details.
3、根据提示查看报错
[root@client01 network-scripts]# systemctl status network.service
● network.service - LSB: Bring up/down networking
Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled)
Active: failed (Result: exit-code) since Thu 2017-11-02 21:21:15 CST; 4s ago
Docs: man:systemd-sysv-generator(8)
Process: 4550 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE)

Nov 02 21:21:15 client01 network[4550]: RTNETLINK answers: File exists
Nov 02 21:21:15 client01 network[4550]: RTNETLINK answers: File exists
Nov 02 21:21:15 client01 network[4550]: RTNETLINK answers: File exists
Nov 02 21:21:15 client01 network[4550]: RTNETLINK answers: File exists
Nov 02 21:21:15 client01 network[4550]: RTNETLINK answers: File exists
Nov 02 21:21:15 client01 network[4550]: RTNETLINK answers: File exists
Nov 02 21:21:15 client01 systemd[1]: network.service: control process exited, code=exited status=1
Nov 02 21:21:15 client01 systemd[1]: Failed to start LSB: Bring up/down networking.
Nov 02 21:21:15 client01 systemd[1]: Unit network.service entered failed state.
Nov 02 21:21:15 client01 systemd[1]: network.service failed.
4、bing搜索报错信息,一般可能有两种解决措施
4.1、网卡配置文件中没有添加MAC地址信息,处理过程如下
4.1.1、查看网卡对应MAC地址
[root@client01 network-scripts]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 00:0c:29:9b:e7:51 brd ff:ff:ff:ff:ff:ff
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
link/ether 52:54:00:a7:c4:9b brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
link/ether 52:54:00:a7:c4:9b brd ff:ff:ff:ff:ff:ff
4.1.2、将MAC地址添加在配置文件中
echo “HWADDR=00:0c:29:9b:e7:51” >> /etc/sysconfig/network-scripts/ifcfg-ens33
4.1.3、重启网络服务systemctl start network

在尝试了上述方法后,问题依然没有解决,尝试第二种方案

4.2、停止NetworkManager服务
停止
[root@client01 network-scripts]# systemctl stop NetworkManager
取消开机启动
[root@client01 network-scripts]# systemctl disable NetworkManager
重启网络
[root@client01 network-scripts]# service network restart
Restarting network (via systemctl): [ OK ]

最后,我们的虚拟机一定要用克隆,不能用复制粘贴的,导致mac地址一样,修改不了。网路启动不了
至此,问题解决

在这里插入图片描述

### 解决方案 #### 一、确认虚拟机网络模式 如果虚拟机当前使用的网络模式为 NAT,则需要了解 NAT 的特性。NAT 模式下,虚拟机过宿主机访问外部网络,其 TCP/IP 配置信息由 VMnet8 提供[^2]。这种情况下,虚拟机的 IP 地址常位于独立的私有网段(如 `192.168.x.x`),而不会与宿主机所在的真实局域网共享同一网段。 为了使本机能够 ping 虚拟机 IP,需将虚拟机网络模式更改为 **桥接模式 (Bridged)** 或者 **仅主机模式 (Host-only)**。 - **桥接模式**:虚拟机将以独立设备的身份加入到真实的物理网络中,获得与宿主机相同的网段 IP 地址。 - **仅主机模式**:虚拟机和宿主机之间形成一个封闭的小型网络,适合内部信测试场景。 更改方法如下: 进入 VMware 设置 -> 编辑虚拟机设置 -> 网络适配器 -> 更改网络连接类型为 Bridge 或 Host-only[^5]。 --- #### 二、检查虚拟机静态 IP 配置 当切换至桥接模式后,可能需要手动配置虚拟机的静态 IP 地址以确保稳定性。以下是 CentOS 7 中配置静态 IP 的具体步骤: 编辑 `/etc/sysconfig/network-scripts/ifcfg-ens33` 文件,添加或修改以下参数: ```bash TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="static" # 手动分配 IP 地址 DEFROUTE="yes" IPV4_FAILURE_FATAL="no" NAME="ens33" UUID="your-uuid-here" DEVICE="ens33" ONBOOT="yes" IPADDR=10.212.197.34 # 自定义静态 IP 地址 NETMASK=255.255.255.0 # 子网掩码 GATEWAY=10.212.197.1 # 默认网关地址 DNS1=8.8.8.8 # Google 公共 DNS ``` 保存文件后重启网络服务: ```bash systemctl restart network ``` 验证配置是否生效: ```bash ifconfig ens33 ping www.google.com # 测试外网连性 ``` --- #### 三、路由表与防火墙排查 即使完成了以上两步操作,仍可能存在路由或防火墙阻断的情况。可以过以下命令进一步诊断问题: 1. 查看路由表: ```bash netstat -rn ``` 如果默认网关缺失或者错误,请按照引用内容中的说明调整 GATEWAY 参数[^4]。 2. 关闭防火墙临时测试: ```bash systemctl stop firewalld ``` 3. 开启 ICMP 协议支持(部分安全策略会禁用 ICMP 请求): 修改 SELinux 和 iptables 规则允许 ICMP 数据包传输。 --- #### 四、宿主机端配置 在某些特殊环境下,宿主机也可能存在阻止虚拟机信的安全机制。例如 Windows Defender 防火墙可能会拦截来自虚拟机的数据流。此时可尝试以下措施: 1. 添加例外规则: 进入 Windows 防火墙高级设置 -> 新建入站/出站规则 -> 允许特定范围内的 IP 地址访问。 2. 验证本地网络状态: ```cmd arp -a # 显示 ARP 表项,确认虚拟机 MAC 是否已注册 tracert 10.212.197.34 # 跟踪数据包路径 ``` --- #### 五、总结 综合来看,解决本机无法 ping 虚拟机 IP 的核心在于合理选择网络模式并正确配置相关参数。推荐优先选用桥接模式实现跨设备互联;同时注意同步更新路由表及关闭不必要的防护程序以免干扰正常信流程[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值