一个网卡上有两个 IP 地址

一个网卡上有两个 IP 地址

我正在尝试在单个 NIC 上获取两个外部 IP 地址(两个 IP 均由 DHCP 分配)。我添加了一个 macvlan 设备vir1,其自己的 mac 地址绑定到主 NIC eth0。设置eth0为混杂模式。

两者vir1eth0获得自己的ip地址,我打算同时使用这两个ip地址。

当我从外部主机 ping 到eth0ip 地址时,我可以得到 ping 响应,但是当我 ping 到vir1ip 地址时,没有任何回复。tcpdump 显示,vir1eth0我 ping 到vir1

我希望客户端可以使用这两个 IP 地址来访问我的 Web 服务,计算机通过来自 ISP 的以太网电缆直接连接到互联网

任何帮助,将不胜感激!

/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

答案1

如果您将第二个 IP 添加到虚拟 VLAN 接口,NIC 将标记发往该 VLAN (802.1Q) 的帧。如果交换机上未设置 VLAN,它将被丢弃。

如果要使用同一个网段,则需要直接将IP添加到NIC:

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 上也不行。

相关内容