Debian 主机。我有一个应该位于两个网络上的 NIC;172.16.0.0/24
和10.0.80.0/24
。_
- 在
172.16.0.0/24
网络上,应该有一个网桥,以便本地 KVM 主机可以连接到它;主机应该在172.16.0.99
. - 在
10.0.80.0/24
网络上,不需要网桥,机器应该在10.0.80.99
.
一个便宜的 D-Link 交换机连接到该 NIC;它可能会被与同一个 MAC 关联的多个 IP 地址混淆。
我尝试过给 NIC 起别名(例如添加设备enp1s0:0
),给网桥起别名(例如vmbr0:0
相同的 NIC、网桥别名、MAC 地址修改)。
作为参考,这是桥的设置;如何将10.0.80.99
地址添加到同一个 NIC,最好为其强制使用不同的 MAC 地址?
iface enp1s0 inet manual
auto vmbr0
iface vmbr0 inet static
address 172.16.0.99/24
gateway 172.16.0.1
bridge_ports enp1s0
bridge_stp off
bridge_fd 0
你的担心是错误的。
在 IP 网络中,有多个 IP 地址与同一个 MAC 相关联是非常典型的,尽管交换机不会为此烦恼。我的意思是,来自路由器后面网络的任何地址都只能与路由器 MAC 相关联。在代理 ARP 的情况下也会发生同样的情况(这是一种“黑客路由”);再一次,一切正常,如果出现问题,它们与开关无关。
便宜的 D-Link 交换机只检查以太网包的头和尾,并将其他所有内容视为有效负载。它解析标头,查找数据包长度以了解要转发的字节数,查找目标 MAC 并将数据包转发到关联端口,或者如果该 MAC 仍然没有关联端口,则将其泛洪到除入口之外的所有端口;同时,它提取源 MAC 并将其与入口端口(一个数据包来自)相关联。它不知道 IP 地址是什么以及它在数据包中的位置,即使存在非 IP 以太网数据包,所有这些过程也将起作用。IPv6、IPX、AoE,任何你能想到的东西——所有这些都可以工作,即使在同一个以太网段中通过同一个便宜的 D-Link 交换机同时工作。在同一以太网段中拥有多个 IP 网络也是很正常的,它会完美运行,不会混淆。不用担心。
因此,您绝对不需要使用另一个 MAC 设置另一个 IP 地址。恰恰相反:通过不使用额外的冗余 MAC,您只会让您的交换机更轻松。通过这种方式,您可以更少地填充其(相当小的)MAC 地址表,减少冲突的可能性等等。对于一台交换机来说,网络中的MAC地址越少,工作就越轻松!虽然这个好处只是理论上的,多一个 MAC 不会有任何明显的区别,但你还是想到了。
只需使用此配置:
或者按照上面的链接尝试“手动配置”(下一个标题)。
如果您绝对确定需要具有两个不同 MAC 的单个服务器,则可以使用
macvlan
虚拟接口:它将使用随机 MAC 地址创建,但您可以添加另一条预设置行来设置您想要的任何 MAC 地址。
但同样,不要仅仅为了“不要混淆廉价的 D-Link 交换机”而这样做。有了这个,您反而会更加困惑。这是为完全不同的事情而设计的,例如,将 macvlan 接口放入另一个网络命名空间,让容器以尽可能少的开销拥有“自己的”网络接口。