Ubuntu16.04 On RaspberryPiの有線NICの名前をethXに変更

こちらにも投稿されているように、RaspberryPiにUbuntuを入れると、有線側インタフェースの名前がenx + MACアドレスになってしまう。
https://raspberrypi.stackexchange.com/questions/43560/raspberry-pi-3-eth0-wrongfully-named-enx

MACアドレスがインタフェース名に含まれるので一意の名前になるが
例えばAnsibleのようなセットアップスクリプトにおいて汎用的なインタフェース名を使うことができず、少々不便であるので直した。

基本的にはudevのルールを書く。
Ubuntu MATE(16.04)では/lib/udev/rules.d/73-usb-net-by-mac.rulesにenxXの名前をつけるルールが定義されているので
これを/etc以下にコピーし、アクションの部分だけ名前を変えた。

sudo cp -piv /{lib,etc}/udev/rules.d/73-usb-net-by-mac.rules
sudo vim /etc/lib/udev/rules.d/73-usb-net-by-mac.rules

以下の様になるよう編集

root@raspi3:~# diff /{lib,etc}/udev/rules.d/73-usb-net-by-mac.rules
12c12
< IMPORT{builtin}="net_id", NAME="$env{ID_NET_NAME_MAC}" --- > IMPORT{builtin}=”net_id”, NAME=”eth0″
[/bash]

再起動後、インタフェースがeth0になっていればOK。
ちゃんとルールを書くのであれば、複数NICが見つかったときにeth0, eth1, …となるよう実装すべきだが
お手軽さくっとeth0しかつかない割り切りができれば上記でOK。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です