ワイヤレスアダプタの名前を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に変更したいと思います。このフォーラムで2つのスレッドを見つけましたが、残念ながら私の場合は動作しません。
1:私はsystemd-bootloaderでpop_osを使います。
2:そのうちの1つは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
という名前の2つのファイルを作成します。その内容は次のとおりです。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 Sたくさん0...その時からF関数は指定されておらず、またゼロです。したがって、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個以上が含まれています。