永続的なネットワーク名(例enx00b56d00d500
:)をLinux()が提供する標準名の別名(代替ではない)にどのように変更しますかeth0
?
両方の名前を使用できるようにしたいが、systemd.linkは現在元のインターフェース名を壊しており、そうしないように指示する明確な方法はありません。
背景
私はDebian GNU / Linuxを使用しています。永続名の利点を理解し、それを使い続けたいのですが、コマンドラインで実行されている単純なLinux名に頼ることができないことは残念です。
たとえば、マイコンピュータにはイーサネットが内蔵されておらず、ワークステーションに12の異なるUSB-イーサネットアダプタがあります。私は、私が挿入したものが何でeth0
あれ、systemdが提供したい永続的な名前ですべて使用できるようにしたいです。
私は知っているDebian Wikiカーネルパラメータを使用してネットワーク名の変更を無効にできますが、net.ifnames=0
ページにはいいえどの名前でも自由に使用できるようにエイリアスを作成できます。 Linuxがすでに持っているように、これは古い情報かもしれないと思います。代替ネットワーク名を追加する機能2019年から。
やりたくないので参考にしてください手動でインターフェイス名を変更する。理想的には、ソリューションはsystemdが元の名前を削除するのを防ぎますが、Linux名を代替として再追加する自動方法があれば良いでしょう。
答え1
Debian 11(またはそれ以上)を実行している場合は、必要な動作がすでに実装されているはずです。インターフェイスの自動設定は、altname
次のように実行されます。AlternativeNamesPolicy
で設定します/usr/lib/systemd/network/99-default.link
。デフォルト設定を使用します。
[Match]
OriginalName=*
[Link]
NamePolicy=keep kernel database onboard slot path
AlternativeNamesPolicy=database onboard slot path
MACAddressPolicy=persistent
以下を使用してDebian 11システムを起動する場合net.ifnames=0
:
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 52:54:00:f7:e2:94 brd ff:ff:ff:ff:ff:ff
altname eth0
このインターフェイスを呼び出すenp1s0
か、次のことができますeth0
。
root@debian:~# ip -br link show eth0
enp1s0 UP 52:54:00:f7:e2:94 <BROADCAST,MULTICAST,UP,LOWER_UP>
root@debian:~# ip -br link show enp1s0
enp1s0 UP 52:54:00:f7:e2:94 <BROADCAST,MULTICAST,UP,LOWER_UP>
Debian 11 より古い Debian バージョンを実行している場合は、幸運ではないかもしれません。iproute
以前のリリースのパッケージはサポートされていませんaltname
。
あなたのコメントに答えてください:
*.link
Debianには、この機能(および今後作成される可能性がある他のファイル)を無効にする方法はありますか?
*.link
「後で作成できる他のファイル」を無効にすることはできませんが、特定のファイルを無効にしたり、同名のファイルに置き換えることができます/etc/systemd/network
(これはあらゆる種類のシステム単位ファイルに対応します)。 「無効」になっている場合、最も簡単な解決策はファイルをからシンボリックリンクすることです/dev/null
。https://www.freedesktop.org/software/systemd/man/systemd.link.html:
/etc/にあるファイルが最も高い優先順位を持ち、/run/にあるファイルが/usr/lib/にある同じ名前のファイルよりも優先されます。必要に応じて、システム提供のリンクファイルをローカルファイルで上書きするために使用できます。特別な場合には、空のファイル(ファイルサイズ0)または/ dev / nullを指す同じ名前のシンボリックリンクは設定ファイルを完全に無効にします(「マスク済み」)。
したがって、73-usb-net-by-mac.link
次のコマンドを実行してファイルをブロックできます。
ln -s /dev/null /etc/systemd/network/73-usb-net-by-mac.link