Unix

Solaris:沒有 ping 到邏輯區域介面

  • May 25, 2011

我在 Solaris 11 Express 上有以下問題。

我有一個名為 Zone1 的執行區域,我想添加一個新介面。

我調出bnx1界面:

ifconfig bnx1 plumb

將地址分配給介面並將其綁定到區域:

ifconfig bnx1 addif 172.16.13.11/16 zone Zone1 up

檢查 ifconfig 輸出:

bnx1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 5
       inet 0.0.0.0 netmask ffffffff 
       ether 84:2b:2b:76:a1:88 
bnx1:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 5
       zone Zone1
       inet 172.16.13.11 netmask ffff0000 broadcast 172.16.255.255

檢查 ARP 表:

# arp -a
Net to Media Table: IPv4
Device   IP Address               Mask      Flags      Phys Addr
------ -------------------- --------------- -------- ---------------
bnx1   172.16.13.11         255.255.255.255 SPLA     84:2b:2b:76:a1:88
bnx0   172.16.13.10         255.255.255.255 SPLA     84:2b:2b:76:a1:86

此時我沒有 ping 地址:

ping 172.16.13.11
no answer from 172.16.13.11

比我取消檢測 Zone1 介面:

ifconfig bnx1:1 unplumb

創建沒有綁定到 Zone1 的邏輯介面:

ifconfig bnx1 addif 172.16.13.11/16 up

檢查 ifconfig 輸出:

bnx1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 5
       inet 0.0.0.0 netmask ffffffff 
       ether 84:2b:2b:76:a1:88 
bnx1:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 5
       inet 172.16.13.11 netmask ffff0000 broadcast 172.16.255.255 

檢查 ARP 表:

# arp -a 
Net to Media Table: IPv4
Device   IP Address               Mask      Flags      Phys Addr
------ -------------------- --------------- -------- ---------------
bnx1   172.16.13.11         255.255.255.255 SPLA     84:2b:2b:76:a1:88
bnx0   172.16.13.10         255.255.255.255 SPLA     84:2b:2b:76:a1:86

現在我確實有一個 ping:

# ping 172.16.13.11
172.16.13.11 is alive

你能告訴我我錯過了什麼嗎?

謝謝 !

我的猜測是,在第一種情況下,網路堆棧在 bnx0 上發送 ping 並且沒有收到回复,因為 bnx1 沒有連接到同一個網路。在第二種情況下,ping 通過網路堆棧短路,因此它立即成功。

一般來說,我不建議以這種方式在同一子網上使用多個介面。如果您需要冗餘,請使用 LACP(如果您的交換機支持)或 IPMP。如果您需要流量隔離,請為 bmz1 使用不同的子網。如果您都不需要,只需將新的虛擬介面添加到 bmz0 而不是 bmz1。

引用自:https://serverfault.com/questions/273072