この新しい Ubuntu 16.04 LTS バージョンでネットワーク インターフェイス名を変更しようとしましたが、がありません/etc/udev/rules.d/70-persistent-net.rules
。
それで、使おうとしたのです/lib/udev/write_net_rules
が、存在しませんでした。
なぜこの変更が必要なのでしょうか? フレックス ライセンスを使用する仮想プラットフォームをシミュレートするツールを使用しており、認証はeth0
インターフェイス名に含まれている必要があるためです。
なにか提案を?
コマンドはip link
次を返します:
user@laptop:~$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp6s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
link/ether b8:2a:xx:yy:xx:yy brd ff:ff:ff:ff:ff:ff
3: wlp7s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
link/ether 5c:e0:xx:yy:xx:yy brd ff:ff:ff:ff:ff:ff
user@laptop:~$ ifconfig
enp6s0 Link encap:Ethernet HWaddr b8:2a:xx:yy:xx:yy
lo Link encap:Local Loopback
wlp7s0 Link encap:Ethernet HWaddr 5c:e0:xx:yy:xx:yy
(一部の情報は無視され、抑制されました)
すでにいくつかのリンクを試しました:
答え1
Ubuntu の最近のバージョンでネットワーク名を変更する方法については、誤解を招くような情報が多数あります。一部の情報は systemd.link を指していますが、これは誤りです。Ubuntu (16.04 時点) は systemd のこの部分を使用していないためです。
実際には、インターフェース名の変更は、2 つの小さな違いを除いて、以前とほぼ同じように機能します。まず、ファイルを/etc/udev/rules.d/70-persistent-net.rules
手動で作成する必要があります。これには、このファイルを上書きするスクリプトを心配する必要がなく、必要な行を追加するだけでよいという利点があります (コメントも必要ありません)。2 番目 (これは、理解するのに多くの時間を費やした変更です) は、Ubuntu 14.04 LTS と比較して形式がわずかに変更されたことです。
MAC アドレスが「02:01:02:03:04:05」の NIC のインターフェース名を「eth0」に固定する行は次のようになります。
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="02:01:02:03:04:05", ATTR{dev_id}=="0x0", ATTR{type}=="1", NAME="eth0"
この行は、Ubuntu 14.04 LTS とほぼ同じですが、わずかな違いが 1 つあります。Ubuntu 14.04 では、追加条件 がありましたKERNEL=="eth*"
。何らかの理由で、これは Ubuntu 16.04 LTS では機能しません。この追加条件が存在する場合、行全体が無視され、デフォルトの動作 ( で指定されているとおり) に戻ります80-net-setup-link.rules
。
答え2
Ubuntu 16.04.1 LTS、Linux plaptop 4.4.0-31-genericx86_64 MATE 上。 @Geancarlo Abichの回答のステップ1でうまくいきましたUbuntu は再起動後すぐに新しい名前を作成しました:
/etc/default/grubを編集して、次の行を変更します。
GRUB_CMDLINE_LINUX=""
に
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
そして最後に:
$ sudo update-grub
システムを再起動します。
$ sudo reboot
msa@plaptop:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 70:5a:0f:d7:03:38
inet addr:10.67.10.43 Bcast:10.67.10.255 Mask:255.255.255.0
inet6 addr: fe80::8c03:edb5:a3d1:ba21/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:63129 errors:0 dropped:0 overruns:0 frame:0
TX packets:37788 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:51115719 (51.1 MB) TX bytes:5006758 (5.0 MB)
Interrupt:16 Memory:f1200000-f1220000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:255 errors:0 dropped:0 overruns:0 frame:0
TX packets:255 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:21076 (21.0 KB) TX bytes:21076 (21.0 KB)
wlan0 Link encap:Ethernet HWaddr 44:85:00:62:c6:e5
inet addr:10.67.14.106 Bcast:10.67.14.255 Mask:255.255.255.0
inet6 addr: fe80::5844:f9dd:32ff:9b45/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:25 errors:0 dropped:0 overruns:0 frame:0
TX packets:86 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5320 (5.3 KB) TX bytes:14611 (14.6 KB)
答え3
Ubuntu-16.04-サーバー-amd64
では/etc/default/grub
、変更
GRUB_CMDLINE_LINUX=""
に
GRUB_CMDLINE_LINUX="net.ifnames=0"
次に、次のように入力します。
sudo update-grub
システムを再起動してください
sudo reboot
答え4
いくつかの提案を組み合わせて試してみたところ、解決策が見つかりました!
ステップ1: デフォルトのファームウェア継承名を無効にします。
/etc/default/grub
行の変更を編集します
GRUB_CMDLINE_LINUX=""
に
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
最後に、root として実行します。
$ sudo update-grub
システムを再起動します。
$ sudo reboot
ステップ2/etc/udev/rules.d/70-persistent-net.rules
:ルートとして永続ファイルを作成し、入力します。
$ sudo gedit /etc/udev/rules.d/70-persistent-net.rules
例:
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.
# PCI device lan Device
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="XX:yy:XX:yy:XX:yy", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="ethX"
# PCI device Wlan Device
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="XX:yy:XX:yy:XX:yy", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="wlanX"
(インターフェイスの MAC アドレスを使用して、名前を変更するインターフェイスを参照し、必要に応じて「X」インターフェイス名の値を変更します)
変更を保存して再起動します。
$ sudo reboot
これは私にとっては有効です。