USB wifiインターフェース名を(wlxXXXXXXXXXXXXからwlanXに)戻す方法は?


9

Ubuntu 16.04では、USB wifiインターフェースはwlxXXXXXXXXXXXXになりました。XはデバイスのMACアドレス(予測可能なインターフェース名のポリシー)の数字です。この詳細については、systemd:PredictableNetworkInterfaceNamesを参照してください。

実際にはすべてのインターフェイスの名前が変更されましたが、ネットワークインターフェイス名を変更するこのスレッドの3番目の投稿で提案されているように、/ etc / default / grubを変更して、以前の方法(イーサネットインターフェイスはethX、外部wifiカードはwlanX)に戻すことができましたubuntu 16-04 私の問題は、この解決策がUSBインターフェイスでは機能せず、この非常に迷惑な長い名前をまだ持っていることです(Wi-Fiインターフェイスで遊ぶためにコマンドラインをよく使用します)。 インターフェースの命名の問題

 So here is my question: 

USB wifiインターフェイスのこの新しいルールを無効にするにはどうすればよいですか? アドバイスありがとうございます。英語が下手です。バイバイ


なぜ無効にしたいのですか?
Kaz Wolfe

コマンドラインを使用してwifi USBインターフェイスを管理し、古い名前を使用するスクリプトを使用しているためです。私が非常に役に立たないsystemdインターフェースの「予測可能なポリシー」と見なすものについて何時間も話すことができましたが、それは
実際には

管理を行うスクリプトがあり、同じカードを使用している場合は、スクリプトを変更して、正しい(より良い)名前を使用するようにしてみませんか?これにより、作業しているものを常に知ることができます。常にこれらの2枚のカードのみが接続されている場合は、スクリプトに他のカードを見つけてセットアップさせます。
Kaz Wolfe

良い名前はありません...私はこれについてより深い考慮をしません、それは本当にここでのポイントではありません、あなたはそれらがより良いと思うかもしれませんが、あなたはあなたのシステムをia方法で使用するかもしれません、私は別の方法でそれを使用します...実際にはたくさんのカードを持っています...しかし、実際にはここでのポイントではありません...
kcdtv

1
新しい命名方式はひどいです。ここで、USBデバイスが変更されたときに別のスクリプトが必要になります-名前のため、macアドレスにバインドされています。
原子力

回答:


9

https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/から1つ見落としました

sudo ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules

その後、再起動します

15.10からUbuntu 16.04に更新した1つのラップトップに/lib/udev/rules.d/73-という名前のファイルがまだ含まれているため、/ etc / udev /の80-net-setup-link.rulesファイルである必要があると思いますusb-net-by-mac.rulesおよび含まれている

# Use MAC based names for network interfaces which are directly or indirectly
on USB and have an universally administered (stable) MAC address (second bit
is 0).

IMPORT{cmdline}="net.ifnames", ENV{net.ifnames}=="0", GOTO="usb_net_by_mac_end" PROGRAM="/bin/readlink /etc/udev/rules.d/80-net-setup-link.rules", RESULT=="/dev/null", GOTO="usb_net_by_mac_end"

ACTION=="add", SUBSYSTEM=="net", SUBSYSTEMS=="usb", NAME=="", \ ATTR{address}=="?[014589cd]:*", \ IMPORT{builtin}="net_id", NAME="$env{ID_NET_NAME_MAC}"

LABEL="usb_net_by_mac_end"

そして/etc/udev/rules.d/80-net-setup-link.rulesを指定します

このファイルはUbuntu 16.04のクリーンインストールには存在しませんが、このファイルの一部は他のソースコードに存在している必要があります


1
こんにちはJeremy31と答えてくれてありがとう
kcdtv

。/etc/udev/rules.d/ディレクトリが空です。私が持っている80-NET-セットアップ-link.rules/lib/udev/rules.dを。私はこのディレクトリで提案されたものと同じことをしましたが、USB wifiデバイスはまだMACアドレスで名前が付けられています。私は方法を見つけようとします、そして何かを見つけたら更新します...もう一度感謝します
kcdtv

/etc/udev/rules.d/80-net-setup-link.rulesに対して実行するだけです。ubuntu16.04マシンを確認し、古いUSB wifiデバイスを接続すると、iwconfigにwlan1と表示されます。grubファイルのnet.ifnames = 0がUSBデバイスの変更を防ぐのに十分ではない理由がわかりません
Jeremy31

動いた!ルール80を/lib/udev/rules.dから/etc/udev/rules.dにコピーしました。このディレクトリに複製して、名前を 80-net-setup-link.rules.bakに変更しました。そして、ついに/ dev / null_へのシンボリックリンクを作成しました。再起動後、USB WiFiカードが「wlan1」インターフェースとして表示されなくなりました。どうもありがとうございました!:)
kcdtv 2016

2

同様のユースケースを探している人のためのメモ:

Debian(ストレッチ)でのインターフェース名がかなり長いため、USB WiFiドングルのドライバーが認証できないという問題がありました。

解決の手順:

  1. コピー/lib/udev/rules.d/80-net-setup-link.rulesします/etc/udev/rules.d/

  2. に変わっ$env{ID_NET_NAME}$env{ID_NET_SLOT}

これにより、インターフェイス名の一意性が維持され、短縮されました。

更新:これはDebian 10の問題ではなくなったようです。


0

私はubuntuスタジオを持っていて、同じ問題がありました:長いwlxxxxx名とwifiは接続されていますが、機能していません!

Ubuntuスタジオには特別な低レイテンシカーネルがあり、長い名前が問題になるのではないかと思いました。

そこで、このスレッドからインスピレーションを得て、名前をwlan0に変更します。私は次のことをしました:

1)/lib/udev/rules.d/80-net-setup-link.rulesをフォルダ/etc/udev/rules.d/にコピーしました

2)そこで名前を編集しました。私の場合、次の行がありました:NAME == ""、ENV {ID_NET_NAME}!= ""、NAME = "$ env {ID_NET_NAME}"

「$ env {ID_NET_NAME}」の代わりに「wlan0」と入力するだけです。

そして今、wifi WORKS!

GR


0

名前の変更を完全に無効にする代わりに、名前を変更してインターフェースに独自のカスタム名を付けることができます。これにより、静的な命名が維持されますが、覚えて入力できる名前が付けられます。

既存の命名システム(/lib/udev/rules.d/80-net-setup-link.rules)は、まだ名前が付けられていない場合にのみ、インターフェースの名前を変更します。その/etc/udev/rules.dため、独自の方法でインターフェイスに名前を付ける独自のルールをより高い優先度で追加できます。これにより、デフォルトのシステムがこれらのインターフェイスに名前を付けることができなくなります。

70-wifi.rules私のシステムには、接続されているネットワークに応じてインターフェースに名前を付けるファイルがあります。

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:0f:00:4a:c4:c9", NAME="wifi-root"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:19:86:31:dd:b7", NAME="wifi-main"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="38:2c:4a:48:27:49", NAME="wifi-local"

インターフェースのMACアドレスがキーになっており、結果は次のようになります。

$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 3c:d9:2b:73:ad:5d brd ff:ff:ff:ff:ff:ff
15: wifi-main: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
    link/ether 00:19:86:31:dd:b7 brd ff:ff:ff:ff:ff:ff
16: wifi-local: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
    link/ether 38:2c:4a:48:27:49 brd ff:ff:ff:ff:ff:ff
17: wifi-root: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
    link/ether 00:0f:00:4a:c4:c9 brd ff:ff:ff:ff:ff:ff

あなたは、このメソッドの美しさは、あなたが欲しいの名前を取得しているなど、彼らがWLAN1、wlan0名前の変更ができ、そしてあなたは、静的なネットワークインタフェースの命名の恩恵を受ける。したがって、インターフェースには常に同じ名前が付けられます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.