インターフェイスの名前を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。何が悪いのですか?
あなたが見つけた記事はやや古くなっています。 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に埋め込み、適用されます。
ifrename
という名前のパッケージでこれを行うには、少し簡単な方法があります。別の(udev
からの)構成ファイルがあり、MACアドレスを使用してインターフェースを識別できます。
ただし、wireless-tools
とは競合します。