我有一台 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”的输出吗?
有两种可能的设置:
- virbr0 上有一个供虚拟机使用的“内部” IP 范围,并且主机操作系统执行 NAT
- 所有机器都在同一 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。