我现在电脑上有两张网卡,但是两张网卡的接口号是不确定的,当只使用一张网卡是,那张网卡的接口是eth0; 而现在我的每张网卡都连了一个局域网(不同的网段),其中一个网段经常断线,那么网卡的接口就不停的切换(计算机重启 或重置网络服务时)。这样很麻烦,如果可以每张网卡固定分配一个端口该多好。每张网卡在出产时都烧入一个唯一的MAC地址,所以只要根据这个MAC地址绑定端口即可。

OK,let’s go!

  1. 获得网卡的MAC地址:
    user@localhost:~$ grep -H . /sys/class/net/*/address
    /sys/class/net/eth0/address:00:14:78:0d:da:06
    /sys/class/net/eth1/address:00:17:31:8f:77:76
    /sys/class/net/lo/address:00:00:00:00:00:00

    记下eth0和eth1的MAC 地址。

  2. 修改udev规则,使网卡接口对应MAC地址:
    user@localhost:~$ sudo vim /etc/udev/rules.d/70-persistent-net.rules
    ACTION==”add”, SUBSYSTEM==”net”, SYSFS{address}==”00:17:31:8F:77:76″, NAME=”eth0″
    ACTION==”add”, SUBSYSTEM==”net”, SYSFS{address}==”00:14:78:0D:DA:06″, NAME=”eth1″

    SYSFS{address}后加MAC 加地址,NAME后是网卡在系统中接口名。

  3. 重启后,你会发现重复第一步得到的结果不同了