
我正在嘗試將多個 IP 位址附加到在 vmware esxi 上執行 ubuntu 10.04 的虛擬伺服器。
使用esxi,我為它分配了10個虛擬網路卡,它們都連接到同一個虛擬交換器。
每個虛擬網路卡都有自己的 IP 位址,網路上沒有其他裝置正在使用該位址。
問題是在辦公室內,即在路由器之前一切正常,沒有問題,所有服務都可以正常使用。從辦公室外部,即公共互聯網,機器上只有一個 IP 提供任何服務。這是 eth0 上的 ip。所有其他 ip 都超時。
所有IP都是同一範圍內的公共IP。不存在防火牆問題,因為防火牆配置沒有更改,並且所有 IP 在已關閉電源的舊硬體上都是公開可用的。
來自其他地方的另一台伺服器的traceroute輸出如下:
root@jaguar:~# tcptraceroute x.x.x.252
traceroute to x.x.x.252 (x.x.x.252), 30 hops max, 60 byte packets
1 * * *
2 * * *
3 Xe0-1-1-0-grtontl1.red.telefonica-wholesale.net (213.140.51.181) 21.845 ms 22.682 ms 23.545 ms
4 GE6-1-0-0-grtlontl3.red.telefonica-wholesale.net (84.16.12.14) 24.144 ms 24.834 ms GE7-0-0-0-grtlontl3.red.telefonica-wholesale.net (84.16.12.94) 25.374 ms
5 CW-2-1-0-0-grtlontl3.red.telefonica-wholesale.net (213.140.52.62) 67.339 ms 67.334 ms 67.327 ms
6 xe-4-2-0-xcr1.lnd.cw.net (195.2.25.58) 86.102 ms 64.355 ms 64.136 ms
7 ge-5-0-0-dcr1.lnd.cw.net (195.2.25.2) 18.486 ms ge-1-0-0-dcr1.lnd.cw.net (195.2.25.122) 18.664 ms 18.613 ms
8 so-0-0-0-zcr1.lnt.cw.net (166.63.163.222) 18.830 ms so-4-0-0-zcr1.lnt.cw.net (166.63.161.146) 18.437 ms so-0-0-0-zcr1.lnt.cw.net (166.63.163.222) 18.372 ms
9 so-1-3-0-ycr1-lo7.cw.net (166.63.222.30) 22.153 ms 22.413 ms 22.411 ms
10 ge-0-0-0-kar1.lo7.cw.net (195.2.12.178) 22.886 ms 22.404 ms 22.356 ms
11 hackney-gw.uk.insnet.net (213.38.241.146) 28.065 ms 28.818 ms 29.410 ms
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
root@jaguar:~# tcptraceroute x.x.x.244
traceroute to x.x.x.244 (x.x.x.244), 30 hops max, 60 byte packets
1 * * *
2 * * *
3 * * *
4 GE7-0-0-0-grtlontl3.red.telefonica-wholesale.net (84.16.12.94) 23.450 ms 24.431 ms GE6-1-0-0-grtlontl3.red.telefonica-wholesale.net (84.16.12.14) 24.956 ms
5 CW-2-1-0-0-grtlontl3.red.telefonica-wholesale.net (213.140.52.62) 25.626 ms 26.377 ms 26.975 ms
6 xe-4-0-0-xcr1.lnd.cw.net (195.2.25.30) 27.823 ms xe-4-2-0-xcr1.lnd.cw.net (195.2.25.58) 18.397 ms 18.448 ms
7 ge-5-0-0-dcr1.lnd.cw.net (195.2.25.2) 18.660 ms ge-1-0-0-dcr1.lnd.cw.net (195.2.25.122) 22.714 ms 21.367 ms
8 so-4-0-0-zcr1.lnt.cw.net (166.63.161.146) 18.789 ms so-0-0-0-zcr1.lnt.cw.net (166.63.163.222) 18.915 ms so-4-0-0-zcr1.lnt.cw.net (166.63.161.146) 18.532 ms
9 so-1-3-0-ycr1-lo7.cw.net (166.63.222.30) 22.877 ms 22.694 ms 22.405 ms
10 ge-12-0-0-kar1.lo7.cw.net (195.2.12.182) 22.404 ms 22.430 ms 22.600 ms
11 hackney-gw.uk.insnet.net (213.38.241.146) 27.783 ms 27.810 ms 28.225 ms
12 rsvd-company-name-244.x.x.x.in-addr.arpa (x.x.x.244) 28.292 ms 28.295 ms 27.762 ms
以 252 結尾的地址不起作用 以 244 結尾的地址起作用
/etc/network/interfaces 看起來像:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address x.x.x.244
netmask 255.255.255.0
broadcast x.x.x.255
gateway x.x.x.x
dns-nameservers x.x.x.x
auto eth1
iface eth1 inet static
address x.x.x.252
netmask 255.255.255.0
gateway x.x.x.x
broadcast x.x.x.255
...
等等等等
答案1
終於找到解決方法了。
這與 Ubuntu 或 VMWare 上的配置無關,但實際上是路由器本身。它的arp表似乎有非常長的壽命。重新啟動路由器解決了問題,並且從那時起每次出現該問題都得到了解決。
只是發布此內容,以便其他可能發現這種情況的人可以找到一些幫助。
答案2
所有 IP 位址都在同一子網路中嗎?
如果是這樣:
- 您可能希望在 ubuntu 中使用虛擬介面而不是真實介面(即:eth0、eth 0:1、eth0:2 等)來降低虛擬交換器配置的複雜性
- 您只需要定義一個網關
如果不是,那麼可能讓您煩惱的是您正在定義 10 個網關,這些網關可能相同也可能不同;並且可能允許也可能不允許「來源路由」(即接受來自與傳入路由規則不符的來源的出站資料包)。在這種情況下,您需要谷歌搜尋「來源路由」。
答案3
檢查VMware內部的交換器配置。另請嘗試使用 ping -I 並選擇不起作用的接口,看看是否可以解決問題。 (可能只是沒有 arp 條目。
答案4
不確定問題到底是什麼,但在我將 eth0 上的所有介面更改為虛擬介面、關閉、從 esxi 虛擬機器設定中刪除額外的網路卡並再次啟動後,一切正常。