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


35

15.10のクリーンインストールを行うことにしました。その結果、MATLABを再インストールする必要があります。MATLABライセンスは、eth0ハードウェアアドレスに関連付けられています。

イーサネットカードはenp1s0としてリストされており、名前をeth0に変更する必要があります。loのみがにリストされており/etc/network/interfaces/etc/udev/rules.d/70-persistent-net.rules存在しないため、どこから始めればよいかわかりません。


1
udevインターフェースの名前を変更するルールを定義することができますeth0..たとえば、インターフェースのMACアドレスは、たとえばxx:XX:xx:YY:yy:ZZ、ファイルを作成してファイルに入れることができます..MACアドレスがわからない場合は、取得できますファイルから/etc/udev/rules.d/99-rename-net.rulesSUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:XX:xx:YY:yy:ZZ", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"/sys/class/net/enp1so/address
。– heemayl

@heemaylそのコメントを回答として追加した場合、人々はコメントをより簡単にコメントし、他の人ではなく一部の人ではうまくいくように見える理由を議論できます。抱擁!
ジョナサンハートリー

上記のコメントでの@heemaylの回答は、Ubuntu 15.10の新規インストールでは機能しませんでした。
ジョナサンハートリー

上記では、@ jdnzはsystemdの.linkファイルを使用することを提案しましたが、他の一部のユーザーはこれが機能しないことを提案しました。リンクファイルを編集した後、initramfsを更新する必要があるためおそらく機能しませんでした。そのため、最初に@jndzの回答に従い、次に上記でリンクした回答に従ってください。
ピンジャリイナジャルカネン

回答:


29

これに対する私の解決策/etc/udev/rules.d/10-rename-network.rulesは、コンテンツを含むファイルを作成することでした:

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="ff:ff:ff:ff:ff:ff", NAME="eth0"

1
このDIDは、Ubuntu 15.10で機能します(質問に対する上位投票の回答やコメントとは異なります)
ジョナサンハートリー

1
@ steve-mohanこれは正しい答えであり、正しいものとしてマークする必要があります。
ウブロ

5
これは実際に16.04の時点で機能します。
EnzoR

これが一番の答えであるため、実際に何が機能しているかに注意したいだけです..ここで説明するように、grub configを変更し、ブートコマンドを再生成して、ネットワークインターフェースの名前変更を無効にしなければなりませんでし
qodeninja

1
16.04で私のために働いた。ff:ff:ff:ff:ff:ffは、MACアドレスに置き換える必要がありました。
ケン・シリフ

7

同じ問題があり、ファイルを追加しても解決/etc/udev/rules.d/しませんでした。問題はここで説明されるようにPredictable Network Interface Namesの使用にあるようです。独自の手動命名スキームを作成する、つまり、MATLABのデバイスに「eth0」という名前を付けるには、ここで説明するように独自の.linkファイルを作成できます。/etc/systemd/network/

具体的に/etc/systemd/network/10-eth.linkは、コンテンツを含むファイルを作成しました

[Match]
MACAddress=ff:ff:ff:ff:ff:ff
[Link]
Name=eth0

ff:ff:ff:ff:ff:ff変更したいデバイスのMACアドレスに置き換えます。リブート後、名前は希望どおりになりました。


1
これは私にはうまくいきませんでした。なぜか知りたいです。
-richvdh

1
Ubuntu 15.10ではこれが機能しませんでした
ジョナサンハートリー

1
これは、16.04の時点では機能しません。
EnzoR

6

何らかの理由で@zabによって提案された回答が機能しない場合は、ここで作成しようなこの命名スキームを無効にすることもできます。しかし、@ zabによって提案された方法は潜在的に安全です

コマンドライン引数にbiosdevname = 0を含めなかったため、デフォルトでオフになっているようです。

次の手順を実行する必要があります。

$ sudo nano /etc/default/grub

GRUB_CMDLINE_LINUX行にnet.ifnames = 0を追加します

GRUB_CMDLINE_LINUX="[previous parameters] net.ifnames=0"

次に、新しいgrubファイルを生成します。

$ sudo grub-mkconfig -o /boot/grub/grub.cfg

最後にシステムを再起動します。


1
そのリンクが将来利用できなくなった場合でもこの回答が役立つように、詳しく説明していただけますか?
ザンナ


2
インターネット全体のあらゆるものに対する無数の試みの後、これは私にとってイーサネットを修正したものです。私の状況(将来のGoogle検索の場合)は、愚かなネットワークアダプターがeth0の代わりに予測可能なネットワークインターフェイス名を使用するため、Serva / PXE経由でLinux Mint(またはUbuntu)をインストールした後、イーサネットがありませんでした。命令は、ここに発見された:itzgeek.com/how-tos/mini-howtos/...
ThePCpenguin

今日(すべてのアップデートがインストールされている)で、これは機能します。ありがとうございました。
Erutan409

2

これは、16.04サーバーでeno1が表示されたときに表示されたために機能しましたifconfig -a。次のようにして、インターフェイスを起動する必要がありましたifconfig eno1 up

vi /etc/udev/rules.d/10-network.rules

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="ff:ff:ff:ff:ff:ff", NAME="eth0"

これはすぐに名前を変更しますか、または再起動後にのみ変更しますか?
Xen2050

2

raspberry pi 3で16.04サーバー(最小)を実行しているときにこの問題が発生しましたが、投稿された回答はどれも役に立ちませんでした。この問題を解決したのは、https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/に記載されているように、予測可能なネットワークインターフェイス名を無効にすることでした。

次のコマンドを実行します。

ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.