Linux
一個網卡上有兩個ip地址
我正在嘗試在單個 NIC 上獲取兩個外部 ip 地址(均由 DHCP 分配的 ip)。我添加了一個 macvlan 設備
vir1
,它自己的 mac 地址綁定到主 NICeth0
。設置eth0
為混雜模式。兩者都
vir1
得到eth0
自己的ip地址,我打算同時使用這兩個ip地址。當我從外部主機 ping 到
eth0
ip 地址時,我可以得到 ping 響應,但是當我 ping 到vir1
ip 地址時,沒有任何回复。tcpdump 顯示兩者vir1
並eth0
在我 ping 時獲取 ping 請求vir1
我希望客戶端可以使用這兩個 IP 地址來訪問我的 Web 服務,電腦通過 isp 的乙太網電纜直接連接到 Internet
任何幫助,將不勝感激!
/etc/網路/介面
# Primary interface auto eth0 iface eth0 inet dhcp up ip link set dev eth0 promisc on # Macvlan interfaces auto vir1 iface vir1 inet dhcp pre-up ip link add link eth0 address 02:cd:ab:00:10:01 vir1 type macvlan post-down ip link delete vir1
ifconfig 結果:
eth0 Link encap:Ethernet HWaddr 8c:73:6e:b7:c7:10 inet addr:120.201.123.143 Bcast:120.201.123.255 Mask:255.255.252.0 inet6 addr: fe80::8e73:6eff:feb7:c710/64 Scope:Link UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 vir1 Link encap:Ethernet HWaddr 02:cd:ab:00:10:01 inet addr:120.201.120.227 Bcast:120.201.123.255 Mask:255.255.252.0 inet6 addr: fe80::cd:abff:fe00:1001/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
如果將第二個 IP 添加到虛擬 VLAN 介面,NIC 將標記發往該 VLAN (802.1Q) 的幀。如果交換機上沒有設置 VLAN,它就會被丟棄。
如果要使用同一個網段需要直接將IP添加到網卡:
auto eth0:1 iface eth0:1 inet static address 120.201.120.227 gateway 120.201.120.001 <= insert correct gw address netmask 255.255.252.0
具有兩個 IP 地址的 DHCP 將不起作用,即使在 Linux 上也不行。