centos VM 无法从 hyper-V 网络访问互联网

centos VM 无法从 hyper-V 网络访问互联网

问题

无法访问互联网。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"

我已经研究过的问题,以回答我自己的问题(徒劳无功)

无法 ping 或访问互联网

使用 CENTOS 5 连接到互联网

Centos 互联网不工作

我的 CentOS 5.7 服务器无法访问互联网

答案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.xx.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 成功了。

希望这可以帮助。

相关内容