我在公司环境中,有一个 DHCP 服务器,为我的服务器提供静态分配。我有一个物理网卡和几个子接口。我为每个子接口静态分配不同的 MAC 地址,以便从 DHCP 服务器获取另一个 IP 地址。出于某种原因,我的服务器没有使用静态 MAC 地址。您会注意到 ifconfig 显示每个接口都具有相同的 MAC。
如何为子接口分配唯一的 MAC 地址?
$ cat 接口
auto lo
iface lo inet loopback
auto eth0:1
iface eth0:1 inet dhcp
hwaddress ether 00:0c:29:31:24:fa
hostname gwrt-test
client gwrt-test
auto eth0:2
iface eth0:2 inet dhcp
hwaddress ether 00:0c:29:31:25:fa
hostname gwrt-test2
client gwrt-test2
$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:0c:29:31:25:fa
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:329737 errors:0 dropped:0 overruns:0 frame:0
TX packets:121645 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:69228791 (69.2 MB) TX bytes:63531749 (63.5 MB)
Interrupt:16
eth0:1 Link encap:Ethernet HWaddr 00:0c:29:31:25:fa <- should be 24:fa
inet addr:10.203.102.29 Bcast:10.203.102.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:16
eth0:2 Link encap:Ethernet HWaddr 00:0c:29:31:25:fa
inet addr:10.203.102.32 Bcast:10.203.102.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:16
答案1
答案2
Multimac 可以做到这一点。(http://www.primianotucci.com/os/multimac)或者您可以使用“ip link”来添加 veth 接口。
在这两种方法中,您都必须使用 brctl(bridge-utils)将 veth0 桥接到 eth0。
然后每个接口(multimac 的 tapX 或 veth 的 vethX)可以有自定义 mac 地址(ifconfig hw ether xx:xx:xx:xx:xx:xx,接口应该处于关闭状态。)
答案3
您可以在 Linux 机器上使用以下命令。
ifconfig eth1.2 down
ifconfig eth1.2 hw ether 00:00:00:02:03:04
ifconfig eth1.2 up