Ubuntu 16.04サーバーでは、たとえばeth0に別の名前を付けたいです。
From man ip-link :
alias NAME give the device a symbolic name for easy reference.
lo
インターフェースにエイリアスを与える例:
$ Sudo ip link set lo alias mycustomaliasforlo
$ ip link show lo
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
alias mycustomaliasforlo
ただし、これはシンボリック参照を作成するだけなので、このエイリアスを実際のデバイス名として使用できないことに注意してください。たとえば、次は失敗します。
$ ip link show mycustomaliasforlo
Device "mycustomaliasforlo" does not exist.
新しいiproute2 ネットワークインターフェイスの代替名 機能(ip link altname
)をご覧ください。コマンド構文はその記事以降変更されているようです。例えば:
ip link property add dev eth0 altname someothername
これは非常に新しいことに注意してください。これを機能させるには、iproute2
の最新バージョンが必要になります(gitログを正しく読んでいる場合は、2019-11-25にリリースされたv5.4.0
)。
Net-tools methode:
eth0
インターフェースにネットワークエイリアスを追加できます。
ifconfig eth0:0 192.168.1.200 up
確認してくださいifconfig
:
eth0:0: flags=-28669<UP,BROADCAST,MULTICAST,DYNAMIC> mtu 1500
inet 192.168.1.200 netmask 255.255.255.0 broadcast 192.168.1.255
ether 34:07:cc:6f:82:5f txqueuelen 1000 (Ethernet)
eth0:0
で/etc/network/interfaces
を構成できます。
auto eth0:0
allow-hotplug eth0:0
iface eth0:0 inet static
address 192.168.1.200
netmask 255.255.255.0
「ゲートウェイ」または「dns-nameservers」を追加しないでください
debian wiki のiproute2メソッド
udevルールに戻すことにより、Ubuntu 16のNIC名を変更します
ソフトウェア:仮想マシンにsshdを使用したUbuntu 16.04.3サーバーの新規インストール。更新されていない
ここまでの道のり:
systemd 命令を機能させることができませんでした。 systemdが使用されているようですが、喜びはありません
network-managerがインストールされていないため、干渉はありません。
ステップ1:
カーネルコマンドラインにnet.ifnames=0
を追加して、systemdの予測可能なネットワークインターフェイス名を停止します。
Sudo vi /etc/default/grub
GRUB_CMDLINE_LINUX="net.ifnames=0"
新しい情報でGRUBを更新します。
Sudo grub-mkconfig -o /boot/grub/grub.cfg
注:
カーネルコマンドラインでbiosdevname=0
に加えてnet.ifnames=0
が追加されたところを見ました。このセットアップでは必要ありませんでした。
ステップ2:
新しいルールファイルを作成して、udevルールを使用して新しい名前を割り当てます。
Sudo vi /etc/udev/rules.d/10-myCustom-net.rules
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:f3:79:59", KERNEL=="eth*", NAME="test0
"
システムのMACアドレスと名前を調整します。
注:
Ubuntu 14テンプレートからATTR{dev_id}=="0x0"
とATTR{type}=="1"
を削除しました。
KERNEL=="eth*"
を削除するように言う人もいれば、行全体が無視されます。これは、このセットアップでは当てはまりませんでした。
この手順の前に再起動したために、私と同じようにMACアドレスを「失った」場合、ifconfigで表示されない場合は、/sys/class/net/assignedName/address
で見つけてください。ところで、このシステムはそれをeth0、cat /sys/class/net/eth0/address
に名前変更しました
/etc/udev/rules.d/70-persistent-net.rules
は、Ubuntu 14以下で自動的に作成されたファイルです。
ステップ3:
新しいインターフェース名にアドレスを割り当てます
Sudo vi /etc/network/interfaces
auto test0
iface test0 inet static
address 192.168.2.202
netmask 255.255.255.0
ステップ4:
再起動(ほとんどの人にとっては簡単です)
いつものように、コマンドを実行する前に、yourシステムのすべてのファイルの場所を確認してください。