我在 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
你能告诉我我错过了什么吗?
谢谢 !
答案1
我的猜测是,在第一种情况下,网络堆栈向 bnx0 发送 ping 操作,但没有收到回复,因为 bnx1 未连接到同一网络。在第二种情况下,ping 操作通过网络堆栈短路,因此立即成功。
一般情况下,我不建议以这种方式在同一子网上使用多个接口。如果您需要冗余,请使用 LACP(如果您的交换机支持)或 IPMP。如果您需要流量隔离,请为 bmz1 使用不同的子网。如果两者都不需要,只需向 bmz0 而不是 bmz1 添加一个新的虚拟接口即可。