サーバのネットワーク・デバイス名を変更

目次

サーバのネットワーク・インターフェイス名を変更する。udev を使用する方法と、netplan を使用する方法があるが、netplan での設定がオススメ。


目的

Ubuntu サーバのネットワーク・デバイス(NIC)名は、ルールに従って名前がつけられていますが、パット見ただけではどれがどこにつながっているかわかりません。特に USB イーサネット・アダプタだと余計にです。wlx984827d17bdd って一体何?

そこでネットワーク・デバイスの名前を分かりやすく変更したい。もちろん、サーバを再起動しても名前が変わってしまっては困ります。

udev を使用する方法

よく見かける気がするのは、udevのルール設定を使用する方法です。

/etc/udev/rules.d/99-nic.rulesに、ネットワーク・デバイスの MAC アドレス(Ethernet アドレス)と名前を次のように設定します。

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{type}=="1", NAME="wan0"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{type}=="1", NAME="lan0"

ただし知らない人が見たら、ネットワークの設定とは異なるところにルールが置かれるので、どこで設定されるか戸惑うかもしれません。

また、netplanと併用すると、設定ファイルには変更後のデバイス名を使用するので、設定ファイルの上書き機能が働きません。そのためインストール時に作成される設定ファイルのデバイス名も変更を忘れて、何故か DHCP でアドレスが割り振られて悩むことになります。

netplan を使用する方法

オススメは、netplanを使用する方法です。最近ask ubuntunetplanで指定する方法を知りました。

この方法ならば、どこで名称の変更が設定しているんだ?という謎も、上書きされない問題もありません。

network:
  version: 2
  renderer: networkd
  ethernets:
    enp1s0:
      match:
        macaddress: xx:xx:xx:xx:xx:xx
      set-name: lan0
      #

具体的には、netplanの設定ファイルに、設定したい名称をset-nameで指定するだけです。また同時に、MAC アドレスをmatch以下に設定します。

システムが名称を指定した後なので改めて MAC アドレスの指定は不要に思いますが、このmatchがないとエラーになります。

参考サイトと脚注

How to rename a network interface in 20.04