Linux-Networking
帶有虛擬機父級的centos伺服器無法連接但vms工作正常
我有一個伺服器 centos 6.2,它有幾個使用https://virt-manager.org/的虛擬機,虛擬機工作得很好,沒有問題。
我遇到的問題是父伺服器無法使用任何協議連接。DNS 工作正常,虛擬機使用橋接連接正常,但我無法從父級連接。
我嘗試過: - 禁用 ip 表 - 各種協議(http、https、firefox、curl、ssh)
我嘗試連接時的錯誤是“網路無法訪問”
這台機器是幾年前由其他人設置的,所以很難知道他們在這裡做了什麼。
這是我的ifconfig的摘要
em1 - 表示已連接,大量數據包進出,已設置為橋接到 virbr0。
virbr0 - 說它有一個 ip 和大量進出的數據包。
所有的虛擬機都使用 virbr0
剛剛意識到,我也可以通過父級的http連接到虛擬機。
我可以檢查/嘗試什麼?
$$ ![ip addr and ip route $$$$ 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
您也可以發布“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/network-scripts/ifcfg-em1*使其顯示如下內容:
DEVICE=em1 BOOTPROTO=none ONBOOT=yes HWADDR=84:2b:2b:58:4c:ad BRIDGE=virbr0 NM-CONTROLLED=no
這樣,重新啟動後更改仍然存在。