免責事項: これは英文の記事 の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。
ifconfig
コマンドを実行すると、ネットワーク インターフェイス(たとえば、eth0
)が表示されず、新しいインターフェイス(たとえば、eth1
)が表示されます。sudo /etc/init.d/networking restart
コマンドを実行して、ゲスト OS 内のネットワークを再起動すると、次のエラーが表示されます。SIOCSIFADDR: no such device
eth0: ERROR while getting interface flags: No such device
Bind socket to interface: no such device
Failed to bring up ethX
dmesg | grep eth
コマンドによって dmesg ログを調べようとすると、次のようなメッセージが表示されます。udev: renamed network interfaces ethX to ethY
この問題を回避するには、ネットワーク インターフェイスの永続的 udev ルールを変更します。
/etc/udev/rules.d/70-persistent-net.rules
ファイルを開きます。sudo vim /etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xy", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
ATTR{address}=
フィールドの MAC アドレスを見て、古いインターフェイスと新しいインターフェイスを識別します。次に例を示します。ATTR{address}=="xx:xx:xx:xx:xx:xy" ...NAME="eth0" # old
ATTR{address}=="xx:xx:xx:xx:xx:xx" ...NAME="eth1" # new
ATTR{address}=="xx:xx:xx:xx:xx:xy" ...NAME="eth0" # old
ATTR{address}=="xx:xx:xx:xx:xx:xx" ...NAME="eth0" # new
ATTR{address}=="xx:xx:xx:xx:xx:xx" ...NAME="eth0" # new