web-dev-qa-db-ja.com

ubuntu 10.10でra0をwlan0に変更

Ralinkインターフェースの名前を通常のwlan0に変更する方法を探しています。

私が使用するアプリケーションはこのインターフェースを探していますが、Intelからwifiアダプターをralinkに変更したため、ralinkが代わりにra0を使用するため、wlan0が見つかりません。

すべてのフォーラムとブログで、/ etc/sysconfig/network-scripts/ifcfg-ra0でそれを変更する必要があることを読みました。残念ながら、Ubuntuには/ etc/sysconfigフォルダーがありません。

1
spambas

デバイス名はカーネルによって設定され、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」を呼び出すことができます!

私にとってこれは実用的なソリューションです。このハードディスクをコピーして、同じ設定の別のマシンに入れることができます。そしてそれは働く!今私はできる

1
spambas

デバイス名はカーネルによって作成されますが、必要なデバイスへのインターフェースの名前を変更するためにルールを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"

次に、コンピューターを再起動して、正しいインターフェイス名があることを確認します。

2
ob2