web-dev-qa-db-ja.com

ネットワークインターフェースの名前の変更、debian wheezy

インターフェイスの名前をeth0ではなく「ethLan」に設定しようとしています。これにより、再起動やカーネルのたびにifの名前が一貫したままになります。

件名にいくつかの記事を見つけましたが、それらはすべて数年前のものです。
http://www.debian-administration.org/articles/46
http://www.linuxfromscratch.org/hints/downloads/files/nameif.txt

私は彼らが言ったようにして、ethLan mac/ etc/mactabs /に追加しました。この時点で、2つの問題があります。
1)if [...] && /sbin/nameif/ etc/network/if-pre-up.d /に置いたスクリプトが実行されません。これを/etc/init.d/networkingに追加することでこれを解決しましたが、なぜif-pre-upにならないのですか? .d仕事?
2)/ etc/network/interfaces /に追加したにもかかわらず、手動で実行しない限り、インターフェイスは読み込まれませんifconfig ethLan up。何が悪いのですか?

14
user

あなたが見つけた記事はやや古くなっています。 dev を使用して、ネットワークインターフェイスに名前を割り当てる簡単な方法があります。

Debianおよび派生物(Ubuntuを含む)では、/etc/udev/rules.d/70-persistent-net.rulesというファイルを探します。このファイルは、スクリプト/lib/udev/rules.d/75-persistent-net-generator.rulesを使用して/lib/udev/write_net_rulesによって作成されます。 udevは新しいネットワークデバイスを検出するたびに、新しい番号を割り当て、その番号を/etc/udev/rules.d/70-persistent-net.rulesに追加します。このように、インターフェイス番号は再起動後も保持され、/etcを復元すると、再インストール後も保持されます。

(ディストリビューションがこれらのファイルを出荷していない場合は、 Debianパッケージ で探してください。)

インターフェイスに意味のある名前を付けたい場合、/etc/udev/rules.d/70-persistent-net.rulesがあれば、そのファイルを編集して"eth0""ethLan"に変更するだけです。ファイルを編集した後、udevadm trigger --sysname eth0を実行して既存のデバイスの名前を変更します(インターフェイスをシャットダウンする必要があると思います)。そのファイルがない場合は、1行のマッチングを自分で書くことができます(Debianが追加する複雑なスクリプトは、これを自動的に行うだけです):

SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="01:23:45:67:89:ab", NAME="ethLan"

私のような検索エンジンを介してこの投稿に出くわす人々:

Debianストレッチ以降では、systemd .linkファイルを使用してudevにデバイスの名前を変更させることができます。マンページについては https://manpages.debian.org/stretch/udev/systemd.link.5.en.html を参照してください。

例:

cat /etc/systemd/network/10-uplink0.link 
[Match]
MACAddress=00:0d:b9:49:8a:18

[Link]
Name=uplink0

実行することを忘れないでくださいupdate-initramfs -uその後、これらの更新された構成ファイルをinitramfsに埋め込み、適用されます。

6
Michael

ifrenameという名前のパッケージでこれを行うには、少し簡単な方法があります。別の(udevからの)構成ファイルがあり、MACアドレスを使用してインターフェースを識別できます。

ただし、wireless-toolsとは競合します。

1
Mischa Arefiev