網路連線設備不一致(eth0 eth1 eth2)

網路連線設備不一致(eth0 eth1 eth2)

我正在運行 Ubuntu 12.04,據我所知,我的機器(戴爾筆記型電腦)上只有 1 個網卡 --- 我無法想像為什麼會有超過 1 個網卡。

有時我的網路連線透過裝置運行eth1,有時則透過裝置運行eth2eth0有時也有可能。我不太關心使用哪個設備名稱,但我關心它總是一樣的。

(因為我總是無線連接,所以根據我使用 Ubuntu 10.04 的經驗,我希望連接能夠在設備上運行wlanX,但是,正如我所說,只要保持一致,名稱並不重要)。

運行ifconfig返回:

eth0      Link encap:Ethernet  HWaddr 5c:26:0a:16:e4:31  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:22 Memory:f6fe0000-f7000000 

eth2      Link encap:Ethernet  HWaddr 00:25:56:b2:16:3e  
          inet addr:192.168.1.78  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::225:56ff:feb2:163e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9970442 errors:1 dropped:0 overruns:0 frame:2735811
          TX packets:7466676 errors:501 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1991253521 (1.9 GB)  TX bytes:594939490 (594.9 MB)
          Interrupt:17 Base address:0xc000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:2634 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2634 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:287326 (287.3 KB)  TX bytes:287326 (287.3 KB)

內容為/etc/network/interfaces

auto lo
iface lo inet loopback

運行ifconfig並查看內容後/etc/network/interfaces,我編輯/etc/network/interfaces並輸入# /etc/init.d/networking restart

現在,內容/etc/network/interfaces是:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

現在運行ifconfig返回(其中XXX.XXX.XXX.XXXYYY.YYY.YYY.YYY不是實際地址):

eth0      Link encap:Ethernet  HWaddr 5c:26:0a:16:e4:31  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:22 Memory:f6fe0000-f7000000 

eth2      Link encap:Ethernet  HWaddr 00:25:56:b2:16:3e  
          inet addr:192.168.1.78  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::225:56ff:feb2:163e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:10329105 errors:1 dropped:0 overruns:0 frame:2751349
          TX packets:7712653 errors:609 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2531013388 (2.5 GB)  TX bytes:614377694 (614.3 MB)
          Interrupt:17 Base address:0xc000 

eth0:avahi Link encap:Ethernet  HWaddr 5c:26:0a:16:e4:31  
          inet addr:XXX.XXX.XXX.XXX  Bcast:YYY.YYY.YYY.YYY  Mask:255.255.0.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          Interrupt:22 Memory:f6fe0000-f7000000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:2751 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2751 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:303844 (303.8 KB)  TX bytes:303844 (303.8 KB)

所以,我的問題是:我所做的更改是否/etc/network/interfaces會強制互聯網連接始終在設備上運行eth0,或者至少始終由設備別名eth0?如果不是,那麼在撤銷對 的變更後/etc/network/interfaces,我該怎麼做才能始終將網路連線裝置稱為eth0

[根據要求添加如下。

其內容/etc/udev/rules.d/70-persistent-net.rules為:

# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x8086:/sys/devices/pci0000:00/0000:00:19.0 (e1000e)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="5c:26:0a:16:e4:31", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x14e4:/sys/devices/pci0000:00/0000:00:1c.1/0000:0c:00.0/ssb0:0 (b43-pci-bridge)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:25:56:b2:16:3e", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"

# PCI device 0x14e4:/sys/devices/pci0000:00/0000:00:1c.1/0000:0c:00.0 (wl)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:25:56:b2:16:3e", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x14e4:/sys/devices/pci0000:00/0000:00:1c.1/0000:0c:00.0 (wl)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:25:56:b2:16:3e", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"

答案1

設備名稱是為每個不同的硬體自動分配的。看到“HWaddr”條目了嗎?其中每一個都是不同的 MAC 位址。該系統儲存並記住您擁有的每個硬件,以便每個硬體都有不同的標籤,並且可以被識別為不同的設備。

如果您使用多個硬件,我不相信您可以將其設置為所有內容都可以是“eth0”。但是,您可以更改每個介面上的標籤(請小心操作)。

相關內容