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


14

インターフェイスの名前を、eth0ではなく「ethLan」に設定しようとしています。そうすることで、ifの名前がリブートおよびカーネルごとに一貫性を保つことも保証されます。

私は主題でいくつかの記事を見つけましたが、それらはすべて2歳です:
http //www.debian-administration.org/articles/463
http://www.linuxfromscratch.org/hints/downloads/files/ nameif.txt

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

回答:


17

見つけた記事はやや時代遅れです。Udevを介して、ネットワークインターフェイスに名前を割り当てる簡単な方法があります。

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"

1
udevルールで使用できる属性の便利なリストが必要な場合は、のようなものを試すことができますudevadm info -a /sys/class/net/eth0。(詳細udevadm(8)を参照)
オースティンアダムス

1
質問は明らかにWheezy向けであると述べていますが、この回答は新しいDebianおよびUbuntuにはもはや有効ではないことに注意する価値があります。皮切りにsystemd 220-7インターフェースの命名は、他の手段を介して行われる必要があります。
サンピ

@sampi私の答えはまだDebian jessie(現在の安定版リリース)に当てはまります。それはストレッチで失敗しますか、それとも非推奨の方法を推奨しているだけですか?Ubuntuのどのリリースがカットオフかを知っていますか?
ジル 'SO-悪であるのをやめる'

@Gillesそれが実際に失敗するのか、単に推奨される非推奨であるのかを知るために、私は詳細を深く掘り下げませんでした。Ubuntu Wily以降は220-7より高いsystemdを使用しているようです
サンピ

6

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

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に埋め込み、そこで適用されることを忘れないでください。


リンクファイルがudev.rules.dを持つシステムに存在する場合、どちらが優先されますか?
vfclists

1

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

wireless-toolsしかしそれは矛盾します。


2
両方を使用してインターフェイスに永続的な名前を付けるifrenameと競合することに注意してくださいudev
ミーシャアレフィエフ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.