VirtualBoxでネットワークに繋がらない

Virtualbox (に限らないと思うけど) 上に Gentoo をインストールして、いろんな PC でハードディスクイメージを使い回していたらネットワークにつながらないことがあったので解決策をメモ。

解決方法1
Virtualbox の設定ファイル (xml形式) を各 PC で共通に使う
解決方法2
使いまわす PC 全てで Virtualbox 上の仮想マシンのアダプタタイプ、 MAC アドレスをあわせる
解決方法3
/etc/udev/rules.d/70-persistent-net.rules にある番号で net を立ち上げる
解決方法3
/etc/udev/rules.d/70-persistent-net.rules を書き換える


理由は、 70-persistent-net.rules の中身をみるとわかります。

# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:60:71:78",
ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"


ここでもし Virtualbox の設定を変えて MAC アドレスをいじってみると、コレに新しい行が増えて eth1 eth2 ... と新規で認識されていくのがわかります。その場合 net.eth0 で立ち上げようとしても eth0 はないので当然立ち上がりません。 (net.eth1 とかになります)

このファイルを削除して立ち上げ直すと、また eth0 から採番されます。

ちなみに。これは実機でも起こると思います。たぶん。
cf.) NIC が壊れたので差し替えた→ eth0 じゃなくて eth1 に変わってた、とかね。