带有虚拟机的 centos 服务器无法连接,但 vms 工作正常

带有虚拟机的 centos 服务器无法连接,但 vms 工作正常

我有一台 CentOS 6.2 服务器,它有几台虚拟机在使用https://virt-manager.org/VM 运行良好,没有问题。

我遇到的问题是父服务器无法使用任何协议连接。DNS 工作正常,虚拟机使用桥接连接正常,但我无法从父服务器连接。

我已经尝试过: - 禁用 IP 表 - 各种协议 (http、https、firefox、curl、ssh)

我尝试连接时的错误是“网络无法连接”

这台机器是几年前由别人安装的,所以很难知道他们在这里做了什么。

以下是我的 ifconfig 的摘要

em1-表示它已连接,有大量数据包进出,它已设置为桥接至virbr0。

virbr0-表示它有一个IP和大量进出的数据包。

所有虚拟机都使用 virbr0

刚刚意识到,我也可以从父级通过 http 连接到虚拟机。

我可以检查/尝试什么?

[![ip 地址和 ip 路由][1]][1]

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    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: em1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master virbr0 state UP qlen 1000
    link/ether 84:2b:2b:58:4c:ad brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.38/24 brd 192.168.1.255 scope global em1
       valid_lft forever preferred_lft forever
    inet6 fe80::862b:2bff:fe58:4cad/64 scope link 
       valid_lft forever preferred_lft forever
3: em2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master virbr0 state UP qlen 1000
    link/ether 84:2b:2b:58:4c:ae brd ff:ff:ff:ff:ff:ff
    inet6 fe80::862b:2bff:fe58:4cae/64 scope link 
       valid_lft forever preferred_lft forever
4: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether 84:2b:2b:58:4c:ad brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.38/24 brd 192.168.1.255 scope global virbr0
       valid_lft forever preferred_lft forever
    inet6 fe80::862b:2bff:fe58:4cad/64 scope link 
       valid_lft forever preferred_lft forever
5: vif1.0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master virbr0 state UP qlen 32
    link/ether fe:ff:ff:ff:ff:ff brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fcff:ffff:feff:ffff/64 scope link 
       valid_lft forever preferred_lft forever

和 IP 路由:

默认通过 192.168.1.1 dev em1 proto static

169.254.0.0/16 dev virbr0  scope link  metric 1004 
192.168.1.0/24 dev virbr0  proto kernel  scope link  src 192.168.1.38 
192.168.1.0/24 dev em1  proto kernel  scope link  src 192.168.1.38  metric 1 

添加

brctl show
bridge name bridge id       STP enabled interfaces
virbr0      8000.842b2b584cad   no      em1
                            em2
                            vif1.0

答案1

您也可以发布“brctl show”的输出吗?

有两种可能的设置:

  1. virbr0 上有一个供虚拟机使用的“内部” IP 范围,并且主机操作系统执行 NAT
  2. 所有机器都在同一 192.168.1.24 IP 范围内

我猜 2) 最有可能,在这种情况下,正如 pbacterio 提到的,在两个接口上配置相同的 ip 地址 (192.168.1.38) 会导致路由冲突,因此从 em1 中删除 ip 应该可以解决问题。

ip a del 192.168.1.38/24 dev em1

如果有效,你应该编辑/etc/sysconfig/网络脚本/ifcfg-em1因此它的内容如下:

DEVICE=em1
BOOTPROTO=none
ONBOOT=yes
HWADDR=84:2b:2b:58:4c:ad
BRIDGE=virbr0
NM-CONTROLLED=no

这样,重启后更改仍然有效。

答案2

从 em1 设备中删除 ip 地址并确保您的默认路由通过 virbr0。

相关内容