代替カーネルでの予測可能なネットワークインターフェイス名の使用

ダグ・スミシーズ

ほぼ常に、UbuntuカーネルPPAのカーネル、またはUbuntuカーネル構成を使用して自分でコンパイルしたカーネルを使用しています。

問題は、ストックカーネルを使用している場合、デフォルトで予測可能なネットワークインターフェイス名(つまり「p4p1」)を使用しているように見えますが、代替カーネルを使用している場合は、デフォルトで古い方法(つまり、「eth0」)を使用しているようです。

この質問にはあまり関係ありませんが、テストコンピューターでハードディスク障害が発生し、Ubuntu Server14.04.2の新規インストールを実行しています。

カーネル間の違いを特定できませんでした。カーネル構成パラメーターが疑われますが、どれを識別できませんでした。

私の質問:予測可能なネットワークインターフェイス名をすべてのカーネルで一貫して機能させるにはどうすればよいですか?

追記:これをgrubに追加するために、予測可能なネットワークインターフェイス名を無効にすることをどこかで見ました:

GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0 biosdevname=0"

だから、私は反対が役立つかもしれないと思いました:

GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=1 biosdevname=1"

しかし、それは何の違いもありませんでした。実際、設定に関係なく、非ストックカーネルにbiosdevnameを使用させることはできません。そして/etc/udev/rules.d/70-persistent-net.rules、の設定に関係なく、ストックカーネルにファイルを生成させることはできません(それは私が望むものではありませんが)net.ifnames私が持っている場合net.ifnames=1、少なくとも非ストックカーネルは誤った/etc/udev/rules.d/70-persistent-net.rulesファイルを生成しません

抜粋/var/log/udev
ストックカーネル:

KERNEL[9.216730] add      /devices/pci0000:00/0000:00:1c.4/0000:03:00.0/net/p4p1 (net)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/net/p4p1
IFINDEX=2
INTERFACE=p4p1
SEQNUM=1945
SUBSYSTEM=net
...
UDEV  [9.241073] add      /devices/pci0000:00/0000:00:1c.4/0000:03:00.0/net/p4p1 (net)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/net/p4p1
ID_BUS=pci
ID_MODEL_FROM_DATABASE=P8P67 and other motherboards
ID_MODEL_ID=0x8168
ID_NET_NAME_MAC=enxf46d04652d8e
ID_NET_NAME_PATH=enp3s0
ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC.
ID_PCI_CLASS_FROM_DATABASE=Network controller
ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller
ID_VENDOR_FROM_DATABASE=Realtek Semiconductor Co., Ltd.
ID_VENDOR_ID=0x10ec
IFINDEX=2
INTERFACE=p4p1

Ubuntu PPAカーネル4.1RC5から:

KERNEL[10.772566] add      /devices/pci0000:00/0000:00:1c.4/0000:03:00.0/net/eth0 (net)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/net/eth0
IFINDEX=2
INTERFACE=eth0
SEQNUM=1962
SUBSYSTEM=net
...
UDEV  [11.185866] add      /devices/pci0000:00/0000:00:1c.4/0000:03:00.0/net/eth0 (net)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/net/eth0
ID_BUS=pci
ID_MODEL_FROM_DATABASE=P8P67 and other motherboards
ID_MODEL_ID=0x8168
ID_NET_NAME_MAC=enxf46d04652d8e
ID_NET_NAME_PATH=enp3s0
ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC.
ID_PCI_CLASS_FROM_DATABASE=Network controller
ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller
ID_VENDOR_FROM_DATABASE=Realtek Semiconductor Co., Ltd.
ID_VENDOR_ID=0x10ec
IFINDEX=2
INTERFACE=eth0
SEQNUM=1962
SUBSYSTEM=net
USEC_INITIALIZED=3227

注:/etc/udev/rules.d/70-persistent-net.rulesファイルの作成を許可し、適切なデバイス名に合わせて編集することで、この問題を一時的に回避しました。最終的には、ファイルを削除したいと思います。

solsTiCe

次の3つを区別する必要があります。

  • 予測可能なインターフェース名
  • biosdevname
  • 70-persistent.rulesudevルール

これらのソリューションのいずれかを使用することを選択しますが、2つまたは3つを同時に使用することはありません。(実際には可能ですが、一方が優先され、もう一方がマスクされます)

現在の状況の良い紹介は、ubuntudevメーリングリストへの投稿です。

予測可能なインターフェース名

生成されたv197以降予測可能なインターフェイス名udevdのものです。/lib/udev/rules.d/80-net-setup-link.rules

systemdは、デフォルトで新しい予測可能なインターフェース名を使用します。ただし、アップストリームsystemdを除き、Ubuntuでは、を使用してオプトインする必要がありますnet.ifnames=1

これは、カーネルのバージョンは関係ありません、あなたが実行されていることを。ただし、カーネルコマンドラインを使用して/etc/default/grub、次のようにgrub構成を変更して構成する必要があります

GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=1"

実行します

sudo update-grub

14.04または14.10では、systemdを使用しない場合、以下の注で説明するように、70-persitent-net.rulesを削除するだけで十分です。

Biosdevname

biosdevnameは、systemdの予測可能なインターフェイス名と同様の問題を解決するためのデルの試みです。これはubuntuサーバーのデフォルトですパッケージをインストールすることで入手できますbiosdevname

sudo apt-get install biosdevname

注意

grubconfigのカーネルコマンドラインを使用して無効にできます。

GRUB_CMDLINE_LINUX_DEFAULT="biosdevname=0"

実行します

sudo update-grub

または、単にパッケージをアンインストールします。

sudo apt-get purge biosdevname
sudo update-initramfs -u

udevルール

これはUbuntuデスクトップのデフォルトですudevのルールは、/lib/udev/rules.d/75-persistent-net-generator.rules最初のブートカスタムルールの間に作成されます/etc/udev/rules.d/70-persistent-net.rulesあなたのインターフェイスのための永続的な名前を得るためにあなたのインターフェイスのMACアドレスを持ちます。

注意

すでにudevルールを使用し/etc/udev/rules.d/70-persistent-net.rulesている場合は、実行する必要があるブートごとにルールを削除して再生成されないようにする必要があります

sudo ln -s /dev/null /etc/udev/rules.d/75-persistent-net-generator.rules

その後、systemdを使用する場合は、上記のように、予測可能なインターフェース名をオプトインする必要があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

予測可能なネットワークインターフェイス名はVMの移行を中断します

分類Dev

予測可能なネットワークインターフェイス名はVMの移行を中断します

分類Dev

予測可能なネットワークインターフェイス名はVMの移行を中断します

分類Dev

「予測可能なネットワークインターフェイス名」を有効にする方法は?

分類Dev

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

分類Dev

予測可能なネットワークインターフェイスデバイス名は、新しいSSDで変更されます

分類Dev

Centos 7は、packer / vagrantを使用して予測可能なネットワークインターフェイス名を無効にします

分類Dev

予測可能なネットワークインターフェイス名を持つネットワークインターフェイスを構成するにはどうすればよいですか?

分類Dev

Wily / Xenialでネットワークインターフェイス名を予測する

分類Dev

予測可能なネットワークインターフェイス名を無効にした後、起動時に「ネットワークインターフェイスを上げるための開始ジョブが実行されています」というメッセージが表示されるのはなぜですか?

分類Dev

使用可能なすべてのネットワークインターフェイスのデバイス名のみを一覧表示します

分類Dev

専用のネットワークインターフェースを予約することは可能ですか?

分類Dev

Javaで特定のネットワークインターフェイスの名前を取得する

分類Dev

Androidネットワークインターフェース。NetworkInterfaceの名前の意味は何ですか?

分類Dev

Windowsでnetifacesを使用してGUIDではなく意味のあるネットワークインターフェイス名を取得する方法

分類Dev

systemdでネットワークインターフェイスの名前を変更する

分類Dev

20.04でネットワークインターフェイスの名前を変更する方法

分類Dev

AWSVPCの変更組み込みのローカルルートテーブルとTerraformを使用したネットワークインターフェース

分類Dev

ネットワークインターフェイスの名前がeth0ではなくenp0s25なのはなぜですか?

分類Dev

ネットワークケーブルを取り外したときに、(複数のネットワークインターフェイスを備えたサーバー上の)ネットワークインターフェイスのIPに接続できるのはなぜですか?

分類Dev

C / C ++で利用可能なネットワークインターフェイスを検索しますか?

分類Dev

ネットワークインターフェースの完全リセット

分類Dev

複数のネットワークインターフェースとネットワーク

分類Dev

パラメータのジェネリックインターフェイス内で使用される型を推測することは可能ですか?

分類Dev

インターネットなしのモバイル通知(ローカルネットワークのみ)

分類Dev

MacMiniのネットワークインターフェイスの標準数

分類Dev

sshd、ローカルネットワークのパスワード、外部インターフェイスのキー

分類Dev

WindowsでInterfaceByNameを使用してネットワークインターフェイス名を取得する

分類Dev

インターネットのないローカルWi-FiネットワークでWeb通知は可能ですか?

Related 関連記事

  1. 1

    予測可能なネットワークインターフェイス名はVMの移行を中断します

  2. 2

    予測可能なネットワークインターフェイス名はVMの移行を中断します

  3. 3

    予測可能なネットワークインターフェイス名はVMの移行を中断します

  4. 4

    「予測可能なネットワークインターフェイス名」を有効にする方法は?

  5. 5

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

  6. 6

    予測可能なネットワークインターフェイスデバイス名は、新しいSSDで変更されます

  7. 7

    Centos 7は、packer / vagrantを使用して予測可能なネットワークインターフェイス名を無効にします

  8. 8

    予測可能なネットワークインターフェイス名を持つネットワークインターフェイスを構成するにはどうすればよいですか?

  9. 9

    Wily / Xenialでネットワークインターフェイス名を予測する

  10. 10

    予測可能なネットワークインターフェイス名を無効にした後、起動時に「ネットワークインターフェイスを上げるための開始ジョブが実行されています」というメッセージが表示されるのはなぜですか?

  11. 11

    使用可能なすべてのネットワークインターフェイスのデバイス名のみを一覧表示します

  12. 12

    専用のネットワークインターフェースを予約することは可能ですか?

  13. 13

    Javaで特定のネットワークインターフェイスの名前を取得する

  14. 14

    Androidネットワークインターフェース。NetworkInterfaceの名前の意味は何ですか?

  15. 15

    Windowsでnetifacesを使用してGUIDではなく意味のあるネットワークインターフェイス名を取得する方法

  16. 16

    systemdでネットワークインターフェイスの名前を変更する

  17. 17

    20.04でネットワークインターフェイスの名前を変更する方法

  18. 18

    AWSVPCの変更組み込みのローカルルートテーブルとTerraformを使用したネットワークインターフェース

  19. 19

    ネットワークインターフェイスの名前がeth0ではなくenp0s25なのはなぜですか?

  20. 20

    ネットワークケーブルを取り外したときに、(複数のネットワークインターフェイスを備えたサーバー上の)ネットワークインターフェイスのIPに接続できるのはなぜですか?

  21. 21

    C / C ++で利用可能なネットワークインターフェイスを検索しますか?

  22. 22

    ネットワークインターフェースの完全リセット

  23. 23

    複数のネットワークインターフェースとネットワーク

  24. 24

    パラメータのジェネリックインターフェイス内で使用される型を推測することは可能ですか?

  25. 25

    インターネットなしのモバイル通知(ローカルネットワークのみ)

  26. 26

    MacMiniのネットワークインターフェイスの標準数

  27. 27

    sshd、ローカルネットワークのパスワード、外部インターフェイスのキー

  28. 28

    WindowsでInterfaceByNameを使用してネットワークインターフェイス名を取得する

  29. 29

    インターネットのないローカルWi-FiネットワークでWeb通知は可能ですか?

ホットタグ

アーカイブ