如何为子接口分配唯一的 MAC 地址

如何为子接口分配唯一的 MAC 地址

我在公司环境中,有一个 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

您可以安装麦克查格安装 macchanger

然后执行如下操作,

sudo macchanger --mac 00:11:22:33:44:55 <interface_name>

更多细节

答案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 

相关内容