Fedora 19でデフォルトの「ens33」ネットワークデバイスを古い「eth0」に変更するにはどうすればよいですか?


22

VMwareワークステーション9にFedora 19をインストールしました。デフォルトのネットワークデバイスは、RHELの「eth0」ではなく「ens33」です。

「eth0」を使用する必要があるのは、当社製品のライセンスコンポーネントを「eth0」にリンクする必要があるためです。

同様の問題について議論する投稿がいくつかありますが、そのほとんどは古いOS向けです。私の状況に完全に一致するものは見つかりませんでした。


Fedora 19は、これがの重複としてマークされた質問でRHEL 5.5とは大きく異なり、答えは同じではありません。
mattdm

回答:


31

Kernel / modules / udevでイーサネットインターフェースの名前を変更する古い方法を復元する最も簡単な方法は、これらのカーネルパラメーターをFedora 19に提供することです。

  1. net.ifnames = 0
  2. biosdevname = 0

これを行うには、次の手順を実行します。

  1. / etc / default / grubを編集します
  2. GRUB_CMDLINE_LINUX行の最後に「net.ifnames = 0 biosdevname = 0」を追加します
  3. ファイルを保存する
  4. grub2-mkconfig -o /boot/grub2/grub.cfg」と入力します
  5. リブート」と入力します

インストール中にこれらのパラメーターを指定しなかった場合、おそらく/ etc / sysconfig / network-scripts / ifcfg- *にあるインターフェイスファイルを調整および/または名前を変更する必要があります。

までのFedora 18、ちょうどbiosdevname = 0は十分でした。

一例として、特定のマシンで徹底的に研究した結果、次のようになりました。

-パラメータなし:「enp5s2」として識別されるNIC 。
-パラメーターbiosdevname = 0:NICは「enp5s2」として識別されます。
-パラメーターnet.ifnames = 0:「em1」として識別されるNIC 。
-パラメータnet.ifnames = 0 AND biosdevname = 0:「eth0」として識別されるNIC 。


詳細な手順をありがとうございました!MathWorksが提供してくれたものはすべて、Fedoraのはるかに古いバージョン用でした。
ワトソン博士

@ dr-watson:Fedora 14までは、ethXがイーサネットインターフェースのデフォルトの命名でした。Fedora 15では、Consistent Network Device Namingが実装されました。Fedora 15から18 までは、ethXの命名を維持するにはbiosdevname = 0で十分でした。どういたしまして。
ギルソン

3
このソリューションはFedora 20でも動作します。ありがとう。
ヒューリスティックス

Fedora 21でも働いていた
Eric Grunzke 14

Ubuntu 14.04も同様です。
sjas

9

次のように、udevルールを使用してこれを行うことができます。

cat > /etc/udev/rules.d/99-rename-to-eth0.rules << EOF
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="$(cat /sys/class/net/ens33/address)", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
EOF

例に感謝します。他の人にとって/sys/class/net/ens33は、BIOSによって返され、の出力で見つかった値によって異なる場合があることに注意する価値がありlspci -vv | grep -A25 Ethernetます。また、eth0名前として使用することを目的とする場合は、カーネルブートフラグを指定して、デバイスの「予測可能な」命名を無効にする方が適切な場合があります。
マークエディントン

7

Fedora 20では、事態は少し変わったようです。

1)カーネル引数をgrub
はい、「net.ifnames = 0」と「biodevame = 0」の両方が必要なようです。

2)/ etc / sysconfig / network-scripts / ifcfg-ethX
はい、これらも必要です。

3)/etc/udev/rules.d/60-net.rules
複数のインターフェースがあり、カーネルに独自の方法で実行させるのではなく、各デバイスの命名を制御したい場合は、/ etc / udev / rules.d / 60 -net.rulesは、次のように/usr/lib/udev/rules.d/60-net.rulesをオーバーライドする必要があるようです。

# PCI device 0x1011:0x0019 (tulip) {SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:c0:f0:4c:f5:78", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x10ec:0x8168 (r8169) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="60:a4:4c:b5:26:48", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

4)yum remove biosdevname不必要なようです。


1
さまざまな要因を分析していただきありがとうございます。#1ポイントにタイプミスがあり、「biodevame」ではなく「biosdevname」である必要があります。
マークエディントン

2

これはFedora 19で以前のリリースと異なります。対処すべき2つのことがあります。

  1. biosdevnameがインストールされている場合は削除します。(yum remove biosdevname、または-biosdevnameキックスタートに入れます。
  2. udevルールを無効にします。 ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules

詳細はhttp://fedoraproject.org/wiki/Features/SystemdPredictableNetworkInterfaceNamesで見つけることができます


2

受け入れられた答えは有効な解決策を提供しますが、なぜens33使用されているのかを説明しません。以下のリンクは、ネットワークデバイスがeth0RHEL 7バリアント以外の名前になっている理由と、現在どのように命名されているかの背景を提供します。

また、表示される「33」などの値ens33は、BIOSによって返されるPCIアダプタースロットの値に由来することにも注意してください。このコマンドを使用して、システムが「物理スロット」に対してリストした値を確認します。

lspci -vv | grep -A20 Ethernet

名前の「ens」の部分に関する追加情報は、udevソースコードにあります


1

Fedora-24の場合:

  1. 編集 /etc/default/grub

  2. 終わりにGRUB_CMDLINE_LINUXラインアペンドnet.ifnames=0 biosdevname=0

  3. ファイルを保存する

  4. タイプ

    grub2-mkconfig -o /boot/grub2/grub.cfg"
    

    またはタイプ

    grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
    
  5. タイプ reboot


この方法をFedora 26に適用すると、ネットワークデバイスがシステムから完全に消えるのはなぜですか?ifconfig唯一のリターンlovirbr0、もともとenp4s0はもはやありません。
アジェ

自分自身に答えるには、ethN命名規則で使用するネットワークスクリプトをすべて変更するように注意する必要があります。私はenp4s01つのスクリプトを残しました。
アジェ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.