私は実際に予測可能なインターフェイス名が好きです。 Debian dist のアップグレード後に再起動する前に名前を知り、/etc/network/interfaces
それに応じて変更できるようにしたい。どうやって予測できますか?
答え1
メモ:元のレガシー名を使用していた Debian システムをアップグレードすると、デフォルトではレガシー名が引き続き使用されます。アップグレードプロセスは、/ dev / nullへのシンボリックリンクを配置して/etc/systemd/network/99-default.link
新しい命名ポリシーファイルを上書きします/lib/systemd/network/99-default.link
。新しいスタイルを使用することを選択した場合は、rm /etc/systemd/network/99-default.link
アップグレード後に再起動する前にこれを実行してください。
ルールセットの新しいバージョンがudev
すでに存在する場合(表示されているように:apt dist-upgrade
再起動後、以前)
udevadm info -q all -p /sys/class/net/<current name of interface> |grep ID_NET_NAME
名前付きオプションはすべて優先順位の降順で表示する必要があります。
enoN
ネットワークインターフェイスをオンボード統合NICとして識別するDMI情報がある場合は、ID_NET_NAME_ONBOARDがあります。デフォルトでは、この名前は他のすべてのオプションよりも優先されます。- ネットワークカードがPCIeホットプラグスロットにある場合は、
ensN
そのスロット番号を識別するID_NET_NAME_SLOT番号が表示されることがあります。 - ID_NET_NAME_PATHは
enpNsM
PCIデバイスID N:M.0に対応します。残念ながら、デバイス名番号は10進数で、PCIデバイスIDは16進数であるため、一部の変換が必要になる場合があります。 - NICに別々のPCI機能として表示される複数のポート(PCI ID N:ML)がある場合は、ID_NET_NAME_PATHに変更されます
enpNsMfL
。 - ID_NET_NAME_MAC形式もあります
enx<MAC address in hex>
。この機能はデフォルトでは使用されていませんが、USB接続のNICでは便利です。
まだアップグレードを実行していない場合、プロセスは次のようになります。
- 最初の実行
dmidecode -t10
。イーサネットインターフェースが報告されると、オンボードインターフェース()としてリストされますenoN
。 - NICがある場合ホットスワップ機能PCIeスロットの場合は、ハードウェアのマニュアルでスロット番号を識別できます。
次に、
ethtool -i ethN | grep bus-info
ネットワークカードのPCIバス識別子ビューを使用します。バスID番号を16進数から10進数に変換すると、enp...
新しい名前がどのように表示されるかがわかります。たとえば、バス情報:0000:00:19.0
enp0s25 とデュアルポート NIC にマッピングされます。
bus-info: 0000:01:00.0
そして
bus-info: 0000:01:00.1
enp1s0f0
とにマップされますenp1s0f1
。
デフォルトの名前を変更するには、ディレクトリ.link
にあるファイルを使用できます/etc/systemd/network/
。man systemd.link
詳しくはこちらをご覧ください。たとえば、USBネットワークインタフェースのスタイル命名を使用する場合は、次のコンテンツを含むファイルをenx<MAC>
追加できます。/etc/systemd/network/81-usbnet.link
[Match]
Path=*usb*
[Link]
NamePolicy=database mac