UbuntuServer13下重新命名网卡名

 题目:  Ubuntu Server 13 下重新命名网卡名  

   [ 第一次编辑(2014-10.23)]     `


用了 ubuntu Server 13.10 后发现,下面 网卡名不叫 eth0 ~ eth? 了, 而改叫古怪的名字, 例如 p1p1, p2p1, p4p1, p4p2, 更有甚这叫 rename5 的, 不知道发生什么情况。

  用 ip 跟参数 addr 的命令, 可以看到目前叫什么名字, 根据这个名字,可以自行配置 /etc/network/interfaces
    如  auto p1p1  另开一行接着写  iface p1p1 inet dhcp

  初步怀疑是 Ubuntu Server 版的一个 bug , 这 Server 系列版本的测试一直都不很十分充分, 例如 14.04 里面 设置不了时区, 同时 无法成功执行 service networking restart 的常用操作。

  想要用回 eth? 这样的 标准命名吗? 可以参考下面的方法

  可以临时重命名, 但是重启就会失效的了
nameif eth0 00:0b:ab:85:dc:c4
nameif eth1 00:0b:ab:85:dc:c5
  根据提示配置了 /etc/mactab 内容如下
eth3  ec:22:80:eb:9d:5a
eth4  EC:22:80:EB:9D:42
 



  另一个参考了网上的方法,编写配置文件(如下: 70-persistent-net.rules),放在 /etc/udev/rules.d 目录下,替换了里面真实 Mac地址


# This file was automatically generated by the /lib/udev/write_net_rules
# program run by the persistent-net-generator.rules rules file.
#
# Place into /etc/udev/rules.d,  70-persistent-net.rules
#
# You can modify it, as long as you keep each rule on a single line.

# PCI device 0x10ec:0x8168 (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0b:ab:85:dc:c4", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x10ec:0x8168 (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0b:ab:85:dc:c5", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x1106:0x3106 (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="ec:22:80:eb:9d:5a", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"

# PCI device 0x1106:0x3106 (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="ec:22:80:eb:9d:42", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"





  据怀疑, 可能是 Ubuntu Server 13.10 的安装文件里, udev 组件的一个脚本安装错误导致, 上面的配置文件由 /lib/udev/write_net_rules 脚本生成,但是直接执行这个脚本会报错!

 ---------------------
 上面 PCI device 信息, 包括 Vendor Id 和 Device Id 可以用 lspci -nn 来获得, 更详细的信息 请用 lspci -vvv 查看。  详细用法请参考 man -k lspci

    其他常用的 观察硬件信息的命令还有 lsusb 和 lsmod 以及 dmesg | grep eth, 详细请 man -k ...
 

你可能感兴趣的:(实用类)