1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<code>我的部落格已遷移到xdoujiang.com請去那邊和我交流</code>
<code>讓機房工程師安裝CentOS 6.5系統(最小化安裝)後發現網卡名字都是em開頭的</code>
<code>ifconfig</code>
<code>em1 Link encap:Ethernet HWaddr 84:2B:2B:0C:FF:07 </code>
<code> </code><code>inet addr:2.2.2.2 Bcast:2.2.2.255 Mask:255.255.255.0</code>
<code> </code><code>inet6 addr: fe80::862b:2bff:fe0c:ff07</code><code>/64</code> <code>Scope:Link</code>
<code> </code><code>UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1</code>
<code> </code><code>RX packets:3195 errors:0 dropped:0 overruns:0 frame:0</code>
<code> </code><code>TX packets:29 errors:0 dropped:0 overruns:0 carrier:0</code>
<code> </code><code>collisions:0 txqueuelen:1000 </code>
<code> </code><code>RX bytes:208130 (203.2 KiB) TX bytes:1964 (1.9 KiB)</code>
<code> </code><code>Interrupt:36 Memory:da000000-da012800 </code>
<code>em2 Link encap:Ethernet HWaddr 84:2B:2B:0C:FF:08 </code>
<code> </code><code>inet addr:1.1.1.1 Bcast:1.1.1.255 Mask:255.255.255.0</code>
<code> </code><code>inet6 addr: fe80::862b:2bff:fe0c:ff08</code><code>/64</code> <code>Scope:Link</code>
<code> </code><code>RX packets:2867 errors:0 dropped:0 overruns:0 frame:0</code>
<code> </code><code>TX packets:105 errors:0 dropped:0 overruns:0 carrier:0</code>
<code> </code><code>RX bytes:242782 (237.0 KiB) TX bytes:15539 (15.1 KiB)</code>
<code> </code><code>Interrupt:48 Memory:dc000000-dc012800 </code>
<code>lo Link encap:Local Loopback </code>
<code> </code><code>inet addr:127.0.0.1 Mask:255.0.0.0</code>
<code> </code><code>inet6 addr: ::1</code><code>/128</code> <code>Scope:Host</code>
<code> </code><code>UP LOOPBACK RUNNING MTU:16436 Metric:1</code>
<code> </code><code>RX packets:0 errors:0 dropped:0 overruns:0 frame:0</code>
<code> </code><code>TX packets:0 errors:0 dropped:0 overruns:0 carrier:0</code>
<code> </code><code>collisions:0 txqueuelen:0 </code>
<code> </code><code>RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)</code>
<code> </code>
<code>檢視配置檔案</code>
<code>ll </code><code>/etc/sysconfig/network-scripts/</code>
<code>-rw-r--r--. 1 root root 233 May 27 17:33 ifcfg-em1</code>
<code>-rw-r--r--. 1 root root 266 May 27 17:26 ifcfg-em2</code>
<code>檢視裝置管理檔案</code>
<code>cat</code> <code>/etc/udev/rules</code><code>.d</code><code>/70-persistent-net</code><code>.rules</code>
<code># This file was automatically generated by the /lib/udev/write_net_rules</code>
<code># program, run by the persistent-net-generator.rules rules file.</code>
<code>#</code>
<code># You can modify it, as long as you keep each rule on a single</code>
<code># line, and change only the value of the NAME= key.</code>
<code># PCI device 0x14e4:0x163b (bnx2) (custom name provided by external tool)</code>
<code>SUBSYSTEM==</code><code>"net"</code><code>, ACTION==</code><code>"add"</code><code>, DRIVERS==</code><code>"?*"</code><code>, ATTR{address}==</code><code>"84:2b:2b:0c:ff:07"</code><code>, ATTR{</code><code>type</code><code>}==</code><code>"1"</code><code>, KERNEL==</code><code>"eth*"</code><code>, NAME=</code><code>"em1"</code>
<code>SUBSYSTEM==</code><code>"net"</code><code>, ACTION==</code><code>"add"</code><code>, DRIVERS==</code><code>"?*"</code><code>, ATTR{address}==</code><code>"84:2b:2b:0c:ff:08"</code><code>, ATTR{</code><code>type</code><code>}==</code><code>"1"</code><code>, KERNEL==</code><code>"eth*"</code><code>, NAME=</code><code>"em2"</code>
<code>解決方法有2個</code>
<code>一、通過重命名配置檔案名字和删除</code><code>/etc/udev/rules</code><code>.d</code><code>/70-persistent-net</code><code>.rules檔案</code>
<code>1、重命名</code>
<code>mv</code> <code>/etc/sysconfig/network-scripts/ifcfg-em1</code> <code>/etc/sysconfig/network-scripts/ifcfg-eth0</code>
<code>mv</code> <code>/etc/sysconfig/network-scripts/ifcfg-em2</code> <code>/etc/sysconfig/network-scripts/ifcfg-eth1</code>
<code> </code>
<code>2、分别修改配置檔案内容</code>
<code>cat</code> <code>/etc/sysconfig/network-scripts/ifcfg-eth0</code>
<code>DEVICE=</code><code>"eth0"</code>
<code>cat</code> <code>/etc/sysconfig/network-scripts/ifcfg-eth1</code>
<code>DEVICE=</code><code>"eth1"</code>
<code>3、删除</code><code>/etc/udev/rules</code><code>.d</code><code>/70-persistent-net</code><code>.rules檔案</code>
<code>rm</code> <code>-f </code><code>/etc/udev/rules</code><code>.d</code><code>/70-persistent-net</code><code>.rules</code>
<code>4、重新開機機器就行了</code>
<code>reboot</code>
<code>以下文字摘自pdf</code>
<code>Reverting to the traditional </code><code>"ethN"</code> <code>naming scheme </code>
<code>In </code><code>case</code> <code>you have a system with the new naming scheme and would like to revert to the traditional </code>
<code>naming scheme:</code>
<code>1)Rename all ifcfg-emN and ifcfg-p* configuration files and modify the contents of the files </code>
<code>accordingly.The content of these files is distribution specific </code>
<code>(see </code><code>/usr/share/doc/initscripts-</code><code><version> </code><code>for</code> <code>details) </code>
<code>As an example ifcfg-ethN files </code><code>in</code> <code>RHEL6.1 contain a </code><code>"DEVICE="</code> <code>field </code><code>which</code> <code>will be assigned with </code>
<code>the emN name.Modify it to suit the new naming scheme such as </code><code>"DEVICE=eth0"</code><code>.</code>
<code>2)Comment the HWADDR variable </code><code>in</code> <code>the ifcfg-eth* files </code><code>if</code> <code>present as it is </code>
<code>not possible to predict here </code><code>which</code> <code>of the net work devices will be named eth0, eth1 etc.</code>
<code>3)Reboot the system</code>
<code>4)Login and you should see the ethN names.</code>
<code>The 70-persistent-net.rules </code><code>file</code> <code>will be created </code>
<code>under </code><code>/etc/udev/rules</code><code>.d/ to </code><code>make</code> <code>the names persistent across reboots.</code>
<code>二、通過修改grub參數來關閉命名新規則</code>
<code>在參數後面增加1個這樣的參數就行了 biosdevname=0</code>
<code>其他和上面一緻</code>
<code>1)Enable</code><code>/disable</code> <code>the new naming scheme</code>
<code>If you choose not to use the new naming scheme, it can be turned off</code>
<code>during </code><code>install</code> <code>time</code> <code>or post-</code><code>install</code> <code>time</code><code>.</code>
<code>During </code><code>install</code> <code>time</code>
<code>To disable the use of the new naming scheme,during installation(attended or automated),</code>
<code>pass the kernel </code><code>command</code> <code>line parameter biosdevname=0 on the boot </code><code>command</code> <code>line.</code>
<code>The parameter should be passed on the boot </code><code>command</code> <code>line after installation to ensure that a new network adapter plugged </code><code>in</code> <code>post installation has a traditional </code><code>"eth"</code> <code>name.</code>
<code>Consistent Network Device Naming </code><code>in</code> <code>Linux</code>
<code>Note: On SLES 11 SP2 biosdevname=0 needs to be passed to boot </code><code>command</code> <code>line only during installation. </code>
<code>Certain distributions (see Table 1) have enabled the new naming scheme on all Dell systems by default </code>
<code>and disabled </code><code>for</code> <code>others. If you choose to use the new naming scheme on non-Dell systems with such </code>
<code>distributions, </code><code>set</code> <code>biosdevname=1 </code><code>in</code> <code>the kernel </code><code>command</code> <code>line during </code><code>install</code><code>.</code>
<code>三、參考</code>
<code>http:</code><code>//linux</code><code>.dell.com</code><code>/files/whitepapers/consistent_network_device_naming_in_linux</code><code>.pdf</code>
<a href="http://down.51cto.com/data/2365739" target="_blank">附件:http://down.51cto.com/data/2365739</a>
本文轉自 xdoujiang 51CTO部落格,原文連結:http://blog.51cto.com/7938217/1655980,如需轉載請自行聯系原作者