再起動する前に予測可能なネットワークインターフェイス名を予測しますか?

再起動する前に予測可能なネットワークインターフェイス名を予測しますか?

私は実際に予測可能なインターフェイス名が好きです。 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はenpNsMPCIデバイス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

関連情報