简单问题:如何在一个物理网络接口(linux)上设置多个MAC地址?
为什么?我的ISP正在GW上检查ip<->mac,我想通过我的"linuxbox“路由流量,而不是用不同的源ip转发它。
在不检查ip<->mac的情况下,我将使用eth0,eth0:0,但在这种情况下,每个IP都需要唯一的MAC地址。
发布于 2011-01-19 17:09:09
您可以使用macvlan创建具有不同MAC地址的多个虚拟接口。
ip link add link eth0 address 00:11:11:11:11:11 eth0.1 type macvlan
ip link add link eth0 address 00:22:22:22:22:22 eth0.2 type macvlan
从理论上讲,这应该是您所需要的,尽管在某个时候内核中出现了一些故障,这会导致它使用一个MAC来实现所有的功能。我不知道那是什么状态,希望它是固定的。
如果没有,您可以使用arptable根据出口接口或基于目标IP的输入在输出上重写MAC地址:
arptables -A OUT -o eth0.1 --arhln 06 -j mangle --mangle-hw-s 00:11:11:11:11:11
arptables -A OUT -o eth0.2 --arhln 06 -j mangle --mangle-hw-s 00:22:22:22:22:22
arptables -A IN -d 192.168.1.1 --arhln 06 -j mangle --mangle-hw-d 00:11:11:11:11:11
arptables -A IN -d 192.168.1.2 --arhln 06 -j mangle --mangle-hw-d 00:22:22:22:22:22
不幸的是,在我的经验中,arptable也很有缺陷。
发布于 2011-01-18 12:09:12
尝试创建具有所需MAC地址和IP的tap
设备或任何其他虚拟以太网设备,然后将它们与eth0连接到一个桥中。
发布于 2011-01-18 02:53:02
看起来您可以使用vconfig在同一个物理以太网上创建多个vlan地址,每个地址都有不同的mac地址。
https://serverfault.com/questions/223601
复制相似问题