OSWikiHK: 请协力 GPLv3 的中文翻译工作。
修正網絡介面名稱
OSWikiHK,自由中文開源知識庫
| 標準文章 | |
|---|---|
| 作者: | Roy Chan |
| 協力: | - |
| 校對: | - |
| 分享本文: | |
有多個網絡介面 (network interface) 的電腦,遇然會出現介面名稱混亂的情況。Linux 核心一般會根據辨認到網絡介面的次序去決定誰是 eth0,誰是 eth1。
現時大部份 Distribution 的新版本都會記下曾使過網絡介面的 MAC 地址,待下次使用的相同的網絡介面時,可以根據 MAC 地址設定和上次一樣的網絡介面名稱。然而這並不能解決所有問題。設定好的網絡介面名稱可能不符合您的設計,如您想對外網絡介面叫 eth0 ,內部網絡介面叫 eth1 ,系統卻把對外網絡介面設定為 eth1 ,內部網絡介面設定為 eth0。如果你要管理多台閘道門(Gateway),統一的網絡介面名稱編排就顯被重要。
目录 |
Debian 4.0 和 Ubuntu 7.10 或以上
Debian 4.0 和 Ubuntu 7.10 都是由 udev 的 persistent-net.rules 規則決定網絡介面的名稱。規則所在的檔案在兩 GNU/Linux 有分別,但設定方法一樣。 Debian 4.0 的 persistent-net.rules 規則在 /etc/udev/rules.d/z25_persistent-net.rules ,而 Ubunut 7.10 或以上則在 /etc/udev/rules.d/70-persistent-net.rules:
# This file was automatically generated by the /lib/udev/write_net_rules
# program, probably run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line.
# MAC addresses must be written in lowercase.
# Firewire device 000ac606203a402e (ohci1394)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:0d:a4:e5:02:44:e0:62", NAME="eth0"
# PCI device 0x8086:0x119b (e1000)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:26:d3:32:a3:c8", NAME="eth1"
Debian 3.1 和 Ubuntu 6.06 至 7.04
Debian 3.1 和 Ubunbtu 6.06 設定網絡介面名稱方法不同,但要固定網絡介面名稱都是使用檔案 /etc/iftab:
# This file assigns persistent names to network interfaces. # See iftab(5) for syntax. eth0 mac 00:26:d3:32:a3:c8 arp 1 eth1 mac 00:23:02:2b:4c:a7 arp 1
Ubunut 預設就有 iftab ,而 Debian 3.1 就需要先安裝套件 ifrename 再自行建立 /etc/iftab:
su -c 'apt-get install ifrename'
Fedora/RedHat/CentOS
Fedora/RedHat/CentOS 等的網絡介面名稱,直接在 /etc/sysconfig/network-scripts/ifcfg-* 決定:
# Intel Corporation 82573L Gigabit Ethernet Controller DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp HWADDR=00:26:d3:32:a3:c8
SuSE 10 或以上
SuSE 10 開始由 /ec/udev/rules.d/30-net_persistent_names.rules 決定網絡介面名稱:
SUBSYSTEM=="net", ACTION=="add", SYSFS{address}=="00:23:02:2b:4c:a7", IMPORT="/sbin/rename_netiface %k eth1"
SUBSYSTEM=="net", ACTION=="add", SYSFS{address}=="00:26:d3:32:a3:c8", IMPORT="/sbin/rename_netiface %k eth0"












