이 새로운 Ubuntu 16.04 LTS 버전에서 네트워크 인터페이스 이름을 변경하려고 시도했지만 /etc/udev/rules.d/70-persistent-net.rules
.
그래서 사용해보려고 했는데 /lib/udev/write_net_rules
존재하지 않더군요.
이 수정이 필요한 이유는 무엇입니까? Flex 라이센스를 사용하는 가상 플랫폼을 시뮬레이션하는 도구를 사용하고 있기 때문에 인증은 eth0
인터페이스 이름 에 있어야 합니다 .
어떠한 제안?
명령은 ip link
다음을 반환합니다.
user@laptop:~$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp6s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
link/ether b8:2a:xx:yy:xx:yy brd ff:ff:ff:ff:ff:ff
3: wlp7s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
link/ether 5c:e0:xx:yy:xx:yy brd ff:ff:ff:ff:ff:ff
user@laptop:~$ ifconfig
enp6s0 Link encap:Ethernet HWaddr b8:2a:xx:yy:xx:yy
lo Link encap:Local Loopback
wlp7s0 Link encap:Ethernet HWaddr 5c:e0:xx:yy:xx:yy
(일부 정보는 무시되고 표시되지 않음)
이미 몇 가지 링크를 시도했습니다.
답변1
최신 버전의 Ubuntu에서 네트워크 이름을 변경하는 방법에 대해 오해의 소지가 있는 정보가 많이 있습니다. 일부 정보는 systemd.link를 가리키는데, 이는 Ubuntu(16.04 기준)가 systemd의 이 부분을 사용하지 않기 때문에 잘못된 것입니다.
실제로 인터페이스 이름 변경은 두 가지 작은 차이점을 제외하면 예전과 거의 동일하게 작동합니다. 첫째, /etc/udev/rules.d/70-persistent-net.rules
이제 파일을 수동으로 생성해야 합니다. 이는 이 파일을 덮어쓰는 스크립트에 대해 걱정할 필요가 없고 필요한 줄만 추가할 수 있다는 장점이 있습니다(주석도 필요하지 않습니다). 두 번째 – 이것이 알아내는 데 많은 시간이 소요되는 변경 사항입니다. 형식은 Ubuntu 14.04 LTS에 비해 약간 변경되었습니다.
MAC 주소가 "02:01:02:03:04:05"인 NIC의 인터페이스 이름을 "eth0"으로 수정하는 줄은 다음과 같습니다.
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="02:01:02:03:04:05", ATTR{dev_id}=="0x0", ATTR{type}=="1", NAME="eth0"
이 줄은 한 가지 약간의 차이점을 제외하고 Ubuntu 14.04 LTS와 거의 동일해 보입니다. Ubuntu 14.04에는 추가 조건이 있었습니다 KERNEL=="eth*"
. 어떤 이유로 Ubuntu 16.04 LTS에서는 작동하지 않습니다. 이 추가 조건이 있는 경우 전체 줄이 무시되고 기본 동작(에 지정된 대로)으로 돌아갑니다 80-net-setup-link.rules
.
답변2
Ubuntu 16.04.1 LTS, Linux plaptop 4.4.0-31-genericx86_64 MATE. @Geancarlo Abich 답변 중 1단계가 작동했습니다.. Ubuntu는 재부팅 후 바로 새 이름을 만들었습니다.
/etc/default/grub에서 행을 변경하여 편집하세요.
GRUB_CMDLINE_LINUX=""
에게
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
그리고 마지막으로:
$ sudo update-grub
시스템을 재부팅하십시오.
$ sudo reboot
msa@plaptop:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 70:5a:0f:d7:03:38
inet addr:10.67.10.43 Bcast:10.67.10.255 Mask:255.255.255.0
inet6 addr: fe80::8c03:edb5:a3d1:ba21/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:63129 errors:0 dropped:0 overruns:0 frame:0
TX packets:37788 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:51115719 (51.1 MB) TX bytes:5006758 (5.0 MB)
Interrupt:16 Memory:f1200000-f1220000
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:65536 Metric:1
RX packets:255 errors:0 dropped:0 overruns:0 frame:0
TX packets:255 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:21076 (21.0 KB) TX bytes:21076 (21.0 KB)
wlan0 Link encap:Ethernet HWaddr 44:85:00:62:c6:e5
inet addr:10.67.14.106 Bcast:10.67.14.255 Mask:255.255.255.0
inet6 addr: fe80::5844:f9dd:32ff:9b45/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:25 errors:0 dropped:0 overruns:0 frame:0
TX packets:86 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5320 (5.3 KB) TX bytes:14611 (14.6 KB)
답변3
우분투-16.04-서버-amd64
에서 /etc/default/grub
변경
GRUB_CMDLINE_LINUX=""
에게
GRUB_CMDLINE_LINUX="net.ifnames=0"
그런 다음 다음을 입력하세요.
sudo update-grub
그리고 시스템을 재부팅하세요
sudo reboot
답변4
나는 몇 가지 제안을 혼합하려고 노력했고 해결책을 찾았습니다!
1 단계: 기본 펌웨어 상속 이름을 비활성화합니다.
/etc/default/grub
라인 변경을 편집하십시오 .
GRUB_CMDLINE_LINUX=""
에게
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
그리고 마지막으로 루트로 실행합니다.
$ sudo update-grub
시스템을 재부팅하십시오.
$ sudo reboot
2 단계: 영구 파일을 /etc/udev/rules.d/70-persistent-net.rules
루트로 생성하고 채웁니다.
$ sudo gedit /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 lan Device
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="XX:yy:XX:yy:XX:yy", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="ethX"
# PCI device Wlan Device
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="XX:yy:XX:yy:XX:yy", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="wlanX"
(인터페이스 MAC 주소를 이용하여 이름을 바꾸려는 인터페이스를 참조하고 'X' 인터페이스 이름 값을 원하는 대로 변경하세요)
변경 사항을 저장하고 재부팅합니다.
$ sudo reboot
이것은 나에게 효과적입니다.