我有一个Linux系统,它有两个以太网接口,eth0和eth1,它们使用在同一个子网上。有时,我看到,即使当其中一个接口断开(电缆断开),Linux继续使用它的IP地址。
例如,如果eth0在插入eth1时断开连接,则可以看到“plugged”命令将eth0报告为默认接口。
~ $ ip ro get 192.168.1.1
192.168.1.1 dev eth0 src 192.168.1.5
因此,scp和ping等工具最终使用了断开连接的接口&失败。
我的问题是,为什么Linux继续使用断开连接的接口?它不应该自动检测和停止使用它们吗?
在192.168.2.0/24和2001:44b8:4112:8a02:://64上具有enp3s0接口的给定计算机中,如果我执行以下操作:
canidae# ip link add dummy0 type dummy
canidae# ip addr add dev dummy0 2001:44b8:4112:8a02::55
canidae# ip addr add dev dummy0 192.168.2.55
canidae# ip link set dummy0 up
ip addr的以下输出确认这两个IP地址都是全局的:
46: dummy0: <BROADCAST,NOA
在Arch Linux ARM (Raspberry Pi)内核4.4.37上,我创建了一个macvlan。
ip link add link eth0 mac0 type macvlan
然后,macvlan虚拟网卡出现在列表中,因此我给它分配了一个IP地址,并将链接状态设置为up。(顺便说一下,我尝试过bridge、vepa和private模式。)
然后,我可以从我的Windows客户端平IP,但是当我在Windows中检查ARP缓存(arp -a)时,它们显示的是与主(物理)网络适配器相同的MAC地址,而不是新创建的macvlan MAC地址。
我确保清除ARP缓存,尝试一个客户以前从未
我有一个带有一个实数的Linux盒(与虚拟的,即.a相反)。我可以使用的以太网接口(eth0用于其他用途--不能使用它,也不能添加更多的NIC)。说是eth1
我需要通过SNMP来控制一些对象/实体,所以我为每个对象设置了一个虚拟以太网接口,并设置了其适当的MAC地址。我是这样做的(例如vif1):
ip -family inet link add link eth1 name vif1 address <the MAC addr> type macvlan
ip link set vif1 up multicast on
ip route del default dev vif1