问题
无法访问互联网。CentOS客户端未收到传入交通。
私人网络完全可以访问。
在这里挠头...我在 Debian/Ubuntu/Windows 上没有遇到这个问题!:(
配置:
- Hyper-V 主机 (
192.168.137.1
) - 刚搭建的 CEntOS 客户机(
192.168.137.16
) - 访客位于启用了 Internet 连接共享 (ICS) 的内部网络上
- 地址由主机上的 DHCP 服务器分配
- 地址范围:
192.168.137.0/24
- DNS 设置为我的 ISP 的公共名称服务器 (
resolv.internode.on.net
)
附加配置
iptables
已停止SELinux
被禁用
一些可能有用的信息
是否配置
eth0 Link encap:Ethernet HWaddr 00:15:5D:C8:34:5A
inet addr:192.168.137.16 Bcast:192.168.137.255 Mask:255.255.255.0
inet6 addr: fe80::215:5dff:fec8:345a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:111 errors:0 dropped:0 overruns:0 frame:0
TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:12748 (12.4 KiB) TX bytes:1788 (1.7 KiB)
eth1 Link encap:Ethernet HWaddr 00:15:5D:C8:34:5C
inet addr:192.168.137.15 Bcast:192.168.137.255 Mask:255.255.255.0
inet6 addr: fe80::215:5dff:fec8:345c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:147 errors:0 dropped:0 overruns:0 frame:0
TX packets:117 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:14087 (13.7 KiB) TX bytes:14587 (14.2 KiB)
Interrupt:9 Base address:0x2000
网络状态监测
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.137.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.137.1 0.0.0.0 UG 0 0 0 eth0
猫/etc/resolv.conf
; generated by /sbin/dhclient-script
nameserver 192.231.203.132
nameserver 192.231.203.3
猫/等/系统配置/网络脚本/ifcfg-eth0
DEVICE=eth0
HWADDR=00:15:5D:C8:34:5A
TYPE=Ethernet
UUID=b4fefb4d-1d42-4a28-84b3-9a70b6ea65ca
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
猫/等/系统配置/网络
NETWORKING=yes
HOSTNAME=puppet-free.vm.pe
GATEWAY=192.168.137.1
猫/etc/udev/rules.d/70-persistent-net-rules
# net device ()
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:5d:c8:34:5a", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x1011:0x0009 (tulip)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:5d:c8:34:5c", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
我已经研究过的问题,以回答我自己的问题(徒劳无功)
答案1
我在新安装的 Centos 7 上没有互联网连接。对我来说,这是因为 eth0 已关闭。
使用以下方式检查设备状态
nmcli device
如果以太网设备(通常是 eth0)“断开连接”,请使用以下命令将其打开
nmcli connection up eth0
答案2
IP 地址为 192.168.137.1 的机器可以将流量从网络 192.168.137.0/24 转发到互联网吗?
如果这台机器是Linux,则必须允许转发,尝试查看/etc/sysctl.conf
文件。
在路由机器上可以通过 iptables 拒绝转发(尝试 execiptables -L -n
并检查链中的规则FORWARD
)。
您可以尝试在新主机上甚至在路由机器上安装 tshark(或 tcpdump 或 tethereal)实用程序并观察数据包。然后您可以在新机器上执行ping 4.4.4.4
例如,您将看到路由器是否可以正确将数据包转发到下一跳。
如果网络中有另一个路由器:您知道这个路由器,您的第一个路由器(IP 地址为 192.168.137.1)路由此网络吗?尝试通过ping 192.168.137.1
在下一个路由器(最好是边界路由器)上运行命令来检查它。如果此 ping 不起作用,您必须设置静态路由,如下所示:ip route add 192.168.137.0/24 via x.x.x.x
,x.x.x.x
路由器的 IP 地址在哪里,它有另一个地址 192.168.137.1。
我的英语很差,但我相信这篇文章能对你有所帮助...
答案3
我认为您的问题出在 Hyper-V 中的 VM Guest 配置上,而不是操作系统本身。我不是专家 - 但我隐约记得很久以前出现过类似的问题,这些问题与我在 HyperV 配置中选择了哪种类型的虚拟化网络接口有关。
对我来说,解决方案是删除默认配置的网络适配器,并添加“旧版网络”适配器。之后它似乎起作用了。
答案4
我在使用 CentOS 7 服务器(KVM 客户端)访问互联网时遇到了类似的问题。我必须/etc/sysconfig/Network
通过添加路由器的 IP 地址来配置网络默认网关(必须与用于互联网流量的 NIC 位于同一子网中)。此时我可以 ping 我的路由器(网关),但仍然无法访问公共互联网(ping google.com 失败)。我确保已在中定义我的 dns 服务器/etc/resolv.conf
,但仍然无法退出。我检查了正在运行的服务systemctl list-unit-files | grep enabled
,发现 NetworkManager 已启用。我停止了这项服务,然后禁用它,然后 BINGO!我又可以自由地玩耍了!ping google.com 成功了。
希望这可以帮助。