무선 어댑터의 이름을 int&ext로 바꾸고 싶습니다. 기본적으로 이름은 무작위로 지정됩니다.
┌─╼[~]
└────╼ ifconfig
enp2s0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 98:40:bb:43:28:54 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 545 bytes 70113 (70.1 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 545 bytes 70113 (70.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.100 netmask 255.255.255.0 broadcast 10.0.0.255
inet6 fd6f:40b0:565e::e84 prefixlen 128 scopeid 0x0<global>
inet6 fe80::ec56:29b9:d982:cf64 prefixlen 64 scopeid 0x20<link>
inet6 fd6f:40b0:565e:0:4ce5:90a:87e1:cae8 prefixlen 64 scopeid 0x0<global>
inet6 fd6f:40b0:565e:0:5a4c:704e:d968:40d2 prefixlen 64 scopeid 0x0<global>
ether a8:6b:ad:77:42:5f txqueuelen 1000 (Ethernet)
RX packets 14636 bytes 17950827 (17.9 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 11826 bytes 1675564 (1.6 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlx00c0ca59bd42: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 00:c0:ca:59:bd:42 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlp1s0의 이름을 wlan0으로 바꾸고 다른 하나의 이름을 wlan1로 바꾸고 싶습니다. 이 포럼에서 두 개의 스레드를 찾았지만 불행히도 제 경우에는 작동하지 않습니다.
1: 저는 systemd-bootloader와 함께 pop_os를 사용합니다.
2: 그 중 하나는 udev 규칙 사용을 제안했지만 내 디렉토리에는 규칙이 없었고 /etc/udev/rules.d/
시스템에 의해 생성된 많은 규칙이 있는 또 다른 디렉토리가 있었지만 그 중 어느 것도 *percious-net.rules를 포함하지 않았습니다.
3: 누군가 net.ifnames=0
grub 사용을 제안했지만 암호화와 함께 systemd-boot를 사용하고 있으므로 내가 읽은 내용에 따르면 다시 설치하지 않고 암호화를 비활성화하는 것은 거의 불가능합니다.
(udev에 대한 일부 기사를 읽고 Mellanox 지식 기반 게시물에서 일부를 복사한 후) 규칙을 직접 만들려고 시도했지만 작동하지 않습니다. 이것이 나의 규칙입니다.
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="a8:6b:ad:77:42:5f", KERNEL=="wlp1s0", NAME="wlan0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:c0:ca:59:bd:43", KERNEL=="wlx*", NAME="wlan1"
답변1
예를 들어 및 /etc/systemd/network
이라는 이름 의 두 개의 파일을 만듭니다 . 해당 내용은 다음과 같아야 합니다.70-wlan0.link
71-wlan1.link
[Match]
MACAddress=a8:6b:ad:77:42:5f
[Link]
Name=wlan0
그리고
[Match]
MACAddress=00:c0:ca:59:bd:42
[Link]
Name=wlan1
udev 규칙을 제거하고 initramfs 파일을 업데이트한 후(initramfs 단계 중에 NIC가 로드되는 경우를 대비하여) 재부팅합니다. 이제 사양에 따라 인터페이스 이름이 바뀌어야 합니다. man systemd.link
자세한 내용은 참조하십시오 .
그건 그렇고, 이 이름은 무작위가 아닙니다.
wlp1s0
방법승화나PCI 버스의 ess 장치피그대로: 버스1 에스많은0...그때부터에프함수가 지정되지 않았으며 또한 0입니다. 따라서 lspci
목록의 장치는 1:0.0입니다. 마찬가지로 enp2s0
장치 2:0.0.
USB 장치에서 경로 기반 이름은 USB 컨트롤러의 버스 및 슬롯 식별자로 시작하고 USB 버스 및 포트 번호를 기반으로 하는 추가 식별자로 계속됩니다. 이러한 식별자는 장치를 연결할 때마다 변경될 수 있습니다. 차이가 있습니다 wlx
. 다른 포트에 연결되어 있어도 장치에 남아 있는 MAC 주소를 기반으로 하는 무선 장치의 인터페이스 이름에 대한 접두사입니다.
어떤 이유로 커널 부팅 옵션을 사용할 수 없는 경우 다음이 포함된 파일을 사용하여 net.ifnames=0
동일한 효과를 얻을 수 있습니다./etc/systemd/network/99-default.link
[Match]
[Link]
NamePolicy=kernel
빈 [Match]
부분은 모든 장치와 일치하며 설정은 또는 NamePolicy=kernel
와 같은 고전적인 커널 생성 인터페이스 이름을 사용합니다 .eth0
wlan0
에서는 /etc/systemd/network
영숫자 순으로 일치하는 첫 번째 파일이 우선하므로 각 인터페이스와 일치하는 파일의 이름을 지정하면 우선 99-default.link
순위 번호를 더 적게 사용하는 한 인터페이스별 링크 파일을 작성하여 특정 인터페이스를 재정의할 수 있는 옵션이 계속 제공됩니다. 파일 이름에 99개 이상이 포함되어 있습니다.