由於 CentOS 並不會自動產生 /etc/udev/rules.d/70-persistent-net.rules 這個檔案,所以有時候網卡資訊會跑掉,並產生新的 interface,這對常常更換電腦練習或上課的人非常困擾。
除了解決網卡亂跳的問題外,建立這個檔案還有一個好處,就是可以將網卡改為自己好辨認的名字。
首先請先確認你網卡的 Mac 碼 ,也就是網卡的身份證,指令如下(以enp5s0為例):
[root@localhost ~]# ifconfig enp5s0 enp5s0: flags=4163mtu 1500 inet 120.117.73.XX netmask 255.255.255.0 broadcast 120.117.73.255 inet6 fe80::22cf:30ff:fe30:7273 prefixlen 64 scopeid 0x20 ether 20:cf:30:30:72:XX txqueuelen 0 (Ethernet) RX packets 42382 bytes 25199666 (24.0 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 17379 bytes 2544252 (2.4 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
接下來建立 70-persistent-net.rules 檔案:
[root@localhost ~]# vim /etc/udev/rules.d/70-persistent-net.rules [root@localhost ~]# cat /etc/udev/rules.d/70-persistent-net.rules SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?", ATTR{address}=="20:cf:30:30:72:73", ATTR{type}=="1", KERNEL=="eth", NAME="eth1" #SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?", ATTR{address}=="10:c3:7b:45:7e:70", ATTR{type}=="1", KERNEL=="eth", NAME="eth0"
註解的部份是我在 p503 所用的網卡,所以到p503練習的時候,記得也要將網卡資訊寫入才不會抓到錯的網卡。
再來更改 interface 的設定檔:
[root@localhost ~]# mv /etc/sysconfig/network-scripts/ifcfg-enp5s0 /etc/sysconfig/network-scripts/ifcfg-eth1
[root@localhost ~]# sed -i 's/enp5s0/eth1/g' /etc/sysconfig/network-scripts/ifcfg-eth1
[root@localhost ~]# echo "HWADDR=20:cf:30:30:72:XX" >> /etc/sysconfig/network-scripts/ifcfg-eth1
# reboot
重新開好機後再 ifconfig 看看網卡有沒有綁定成功