Ralinkインターフェースの名前を通常のwlan0に変更する方法を探しています。
私が使用するアプリケーションはこのインターフェースを探していますが、Intelからwifiアダプターをralinkに変更したため、ralinkが代わりにra0を使用するため、wlan0が見つかりません。
すべてのフォーラムとブログで、/ etc/sysconfig/network-scripts/ifcfg-ra0でそれを変更する必要があることを読みました。残念ながら、Ubuntuには/ etc/sysconfigフォルダーがありません。
デバイス名はカーネルによって設定され、udevによって人間が読める値に名前が変更されます。 udevは/ lib/udev/rules /にある75-persistent-net-generator.rulesスクリプトを実行し、/ etc/udev/rules.d /にルールファイル70-persistent-net.rulesを生成します。
これにより、ジェネレータスクリプトは、カーネルによって認識されるすべてのネットワークアダプターの70-persistent-net.rulesファイルに新しいルールを追加します。ネットワークカード(ルールeth0)を交換すると、古いカードはルールから削除されず、新しいカード(eth1)が追加されます。
私の状況では、ネットワークアダプターは絶えず変化しています。ハードディスクはコピーされ、まったく同じ設定で別のコンピューターに配置されますが、MACアドレスは毎回異なります。ただし、コンピューター内の位置(PCIe)は毎回同じです。私は次のことをしました:
ルールジェネレーターをudevから削除してオフにしましたが、バックアップのためにルールジェネレーターを移動しました。
Sudo mv /lib/udev/rules.d/75-persistent-net-generator.rules /home/user/backup/
ルールはもう生成されません。次に、udevルールを編集しました。
Sudo nano /etc/udev/rules.d/70-persistent-net.rules
ジェネレーターによって設定されたルールを削除し、次のものに置き換えました。
ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:1c.0", NAME="eth0"
ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:1c.1", NAME="eth1"
ACTION=="add", SUBSYSTEM=="net", ATTR{type}==”1”, KERNEL=="ra*", NAME="wlan0"
これで、PCIeバス上の2つのネットワークカードの名前がeth0とeth1になり、それらを交換しても同じままになります。
最後の行は私の質問に答えます。 ra *名でカーネルによって渡されたアダプターは、wlan0に名前が変更されます。/etc/network/interfacesでは、「iface wlan0 inet dhcp」を呼び出すことができます!
私にとってこれは実用的なソリューションです。このハードディスクをコピーして、同じ設定の別のマシンに入れることができます。そしてそれは働く!今私はできる
デバイス名はカーネルによって作成されますが、必要なデバイスへのインターフェースの名前を変更するためにルールをudevに追加できます。
最初に構成ファイルのバックアップを作成します
Sudo cp /etc/udev/rules.d/70-persistent-net.rules /tmp/70-persistent-net.rules
このコマンドで何か問題が発生した場合、元の状態に戻すことができます。
Sudo cp /tmp/70-persistent-net.rules /etc/udev/rules.d/70-persistent-net.rules
Udevルールディレクトリにあるファイル70-persistent-net.rulesを編集します。
Sudo nano /etc/udev/rules.d/70-persistent-net.rules
永続的なネットワークデバイスに対応する行を見つけます。これは次のようなものです。
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="ra*", NAME="ra0"
名前の値を目的の名前に変更して、次のような行を作成します。
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="ra*", NAME="wlan0"
次に、コンピューターを再起動して、正しいインターフェイス名があることを確認します。