Linux-Centos 7 网络NAT连接模式不能上网问题排查

Linux-Centos 7 网络NAT连接模式不能上网问题排查

首先启动centos系统后,检查ping www.baidu.com 无法解析,后转root用户
[normal4@localhost ~]$ ping www.baidu.com
ping: www.baidu.com: 未知的名称或服务
[normal4@localhost ~]$ su -
密码:
上一次登录:三 6月 17 09:16:40 CST 2020pts/0 上
[root@localhost ~]# whoami
root
[root@localhost ~]# 

1、检查网卡信息!!!

[root@localhost ~]# ifconfig
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10<host>
            loop  txqueuelen 1000  (Local Loopback)
            RX packets 2631  bytes 1059258 (1.0 MiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 2631  bytes 1059258 (1.0 MiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
     
    irbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
            inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
            ether 52:54:00:7d:79:7c  txqueuelen 1000  (Ethernet)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0 
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
[root@localhost ~]# ifconfig -a
    ens33: flags=4098<BROADCAST,MULTICAST>  mtu 1500
            ether 00:0c:29:e4:67:a0  txqueuelen 1000  (Ethernet)
            RX packets 0  bytes 0 (</
<think> 嗯,用户的问题是关于在虚拟机中让Linux CentOS 7连接网络的方法。首先,我需要回顾一下之前的引用内容,看看有哪些相关信息可用。引用[1]提到了VMware虚拟机安装CentOS7的详细教程,包括网络配置和Xshell连接,这可能涉及到网络设置的步骤。引用[2]详细说明了设置网络的过程,特别是VMware的NAT模式配置,物理主机的虚拟网卡vmnet8的设置,以及虚拟机内部的网络配置。引用[3]则针对无法联网的情况,建议检查网络接口的配置是否正确,比如IP地址、子网掩码和网关。引用[4]补充了在WIFI环境下联网的步骤,包括虚拟网络编辑器的设置。 接下来,用户的需求是连接网络的方法,需要整合这些信息。首先,应该确定网络连接模式,比如NAT模式,因为引用[2]和[4]都提到这是常用的方式。然后,物理主机上的虚拟网卡vmnet8需要正确配置,确保NAT和DHCP服务开启,如引用[2]所述。虚拟机内部的设置包括编辑网络配置文件,比如ifcfg-ens33,设置ONBOOT=yes,BOOTPROTO=dhcp,并重启网络服务。引用[3]提到的ip addr命令可以检查IP分配情况,验证配置是否生效。 同时,需要注意可能的故障点:比如虚拟网络编辑器中的子网IP是否和物理主机vmnet8在同一网段,DHCP设置是否正确分配IP地址范围。如果用户遇到无法联网的情况,需要检查这些部分,或者尝试关闭防火墙和SELinux进行测试,如引用[4]建议的临时措施。 用户可能遇到的问题还包括虚拟机网络适配器是否设置为NAT模式,或者物理主机的相关服务是否被禁用,比如VMware NAT Service。此外,如果使用静态IP,需要确保IP地址在DHCP范围外,网关和DNS设置正确,比如引用[2]中提到的网关通常是.2结尾的地址。 最后,生成的相关问题需要围绕常见问题展开,比如如何切换为桥接模式,设置静态IP的步骤,以及排查无法上网的方法,这些都能帮助用户进一步解决问题。 </think> 在虚拟机中让 CentOS 7 连接网络,最常用且推荐的方式是配置 **NAT 模式**。以下是详细步骤: ### 📌 一、配置 VMware 虚拟网络 (宿主机端) 1. **关闭所有运行的虚拟机**。 2. **打开 VMware Workstation**: * 点击顶部菜单栏 `编辑` -> `虚拟网络编辑器`。 * 在打开的窗口中,选择 `VMnet8 (NAT 模式)`。 * 确保 `将主机虚拟适配器连接到此网络` 已勾选。 * 查看并记住 `子网 IP` (例如 `192.168.10.0`) 和 `子网掩码` (例如 `255.255.255.0`)。[^2][^4] 3. **配置 NAT 设置**: * 点击 `NAT 设置` 按钮。 * 记录 `网关 IP` (通常是子网IP的第一个可用地址,例如 `192.168.10.2`)。[^2][^4] 4. **配置 DHCP 设置 (可选,推荐自动获取IP时)**: * 点击 `DHCP 设置` 按钮。 * 确认 DHCP 服务已启用,并查看分配的 IP 地址范围 (例如 `192.168.10.128` - `192.168.10.254`)。确保范围足够。[^2] 5. 点击 `应用` 或 `确定` 保存设置。 ### 🖥 二、配置虚拟机网络适配器 1. **在 VMware 中,选择你的 CentOS 7 虚拟机** (确保其处于关机状态)。 2. 右键点击虚拟机 -> `设置` (`虚拟机设置`)。 3. 在 `硬件` 选项卡中,选择 `网络适配器`。 4. 在右侧 `网络连接` 部分,选择 **`NAT 模式`**。 5. 勾选 `✅ 启动时连接`。 6. 点击 `确定`。 ### 🐧 三、配置 CentOS 7 虚拟机内部网络 1. **启动 CentOS 7 虚拟机**,并使用 root 用户或有 sudo 权限的用户登录。 2. **进入网络配置文件目录**: ```bash cd /etc/sysconfig/network-scripts/ ``` 3. **找到网卡配置文件**: * 通常命名为 `ifcfg-ens33` (也可能是 `ifcfg-ens160`, `ifcfg-eth0` 等,取决于你的系统)。使用 `ls` 查看。 * 如果找不到确定文件,可使用 `ip addr` 或 `ifconfig` (需安装 `net-tools`) 查看活跃的网卡名称。[^3] 4. **编辑网卡配置文件** (以 `ens33` 为例): ```bash vi ifcfg-ens33 # 或使用 nano 等你熟悉的编辑器 ``` 5. **修改或确认以下关键参数**: ```bash BOOTPROTO=dhcp # 设置为 dhcp 表示自动获取IP(推荐方式) ONBOOT=yes # 必须设置为 yes,确保开机自动启用网卡 ``` * **如果使用静态 IP (非必需,除非明确需要)**: ```bash BOOTPROTO=static # 设置为 static IPADDR=192.168.10.128 # 设置一个在子网范围内且未被占用的IP (需在步骤一DHCP范围外,或禁用DHCP) NETMASK=255.255.255.0 # 子网掩码,与步骤一设置一致 GATEWAY=192.168.10.2 # 网关IP,与步骤一NAT设置中记录的网关一致 DNS1=192.168.10.2 # 通常网关也作为DNS服务器,或使用公共DNS如 8.8.8.8, 114.114.114.114 DNS2=8.8.8.8 # 备用DNS ``` * 确保 `NAME` 和 `DEVICE` 的值与网卡名一致 (如 `ens33`)。 * 其他参数如 `UUID` 等保持原样即可。 6. **保存并退出编辑器** (在 vi 中按 `Esc`, 输入 `:wq`, 回车)。 7. **重启网络服务**: ```bash systemctl restart network ``` * 或者使用较旧的命令 (如果 `systemctl` 无效):`service network restart` ### ✅ 四、验证网络连接 1. **检查 IP 地址分配**: ```bash ip addr # 或 ifconfig ``` * 查看对应网卡 (如 `ens33`) 是否获取到了 IP 地址。 * 如果使用 DHCP,IP 地址应在步骤一设置的 DHCP 范围内。 * 如果使用静态 IP,应显示你配置的 IP。[^3] 2. **测试网关连通性**: ```bash ping 192.168.10.2 # 替换成你实际的网关IP ``` * 如果通 (有回复),说明到宿主机虚拟网卡的路由是通的。 3. **测试外网连通性**: ```bash ping www.baidu.com ``` * 如果通,恭喜你,网络配置成功!🎉 * 如果 `ping IP` (如 `ping 8.8.8.8`) 通但 `ping 域名` 不通,说明 DNS 配置有问题,检查 `/etc/resolv.conf` 文件中的 nameserver 设置是否正确,或确认网卡配置文件中的 `DNS1`, `DNS2` 设置。 ### 🔧 常见问题排查 * **`ping` 网关不通**: * 检查虚拟机网络适配器是否设置为 `NAT 模式` 且 `启动时连接` 已勾选。 * 检查宿主机 `VMware NAT Service` 和 `VMware DHCP Service` 是否在运行 (Windows 服务管理中查看)。 * 检查宿主机 `VMnet8` 虚拟网卡的 IP 是否与虚拟网络编辑器中设置的子网在同一网段 (通常是自动获取的,无需手动改)。 * 检查 CentOS 7 防火墙是否阻止了 ICMP (测试时可临时关闭:`systemctl stop firewalld`,但生产环境要谨慎)。 * **无法获取 DHCP IP**: * 确认 `BOOTPROTO=dhcp` 且 `ONBOOT=yes`。 * 检查虚拟网络编辑器中的 `DHCP设置` 是否启用且范围有效。 * 重启 `network` 服务后查看系统日志 (`journalctl -xe` 或 `/var/log/messages`) 获取线索。 * **能 `ping` 通 IP 但无法解析域名**: * 检查 `/etc/resolv.conf` 文件中的 `nameserver` 行是否指向有效的 DNS 服务器 IP (如网关 `192.168.10.2` 或 `8.8.8.8`)。 * 确认网卡配置文件中配置了 `DNS1`, `DNS2`。 * 测试 `nslookup www.baidu.com` 看是否能解析出 IP。 > **关键点总结**:确保 **VMware虚拟网络编辑器 (NAT/DHCP)**、**虚拟机网络适配器设置 (NAT模式)** 和 **CentOS内部网卡配置 (`ONBOOT=yes`, `BOOTPROTO=dhcp`/静态设置正确)** 三者一致且启用,通常就能成功联网[^1][^2][^4]。如果遇到问题,`ip addr`, `ping` 网关和 `ping` DNS 是基本的诊断工具[^3]。 --- ### 📚 相关问题 1. **CentOS 7 在 VMware NAT 模式下无法获取 IP 地址的可能原因有哪些?如何逐一排查?**[^2][^3] 2. **如何在 CentOS 7 中配置静态 IP 地址?与 DHCP 配置相比有哪些主要区别和注意事项?**[^2] 3. **除了 NAT 模式,VMware 虚拟机还有哪些网络连接方式(如桥接、Host-Only)?它们分别适用于什么场景?**[^1][^4] 4. **CentOS 7 使用 `nmcli` 命令行工具配置网络连接的具体步骤是什么?(替代传统 `ifcfg` 文件方法)** 5. **虚拟机 CentOS 7 能 `ping` 通 IP 地址但无法解析域名 (`ping www.baidu.com` 失败),应该如何诊断和解决?**[^3
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值