WindowsをホストとしてVirtualBoxでUbuntu Server 10.10を実行します。誤って、VirtualBoxでUbuntuマシンの新しいランダムMACアドレスを生成することにしました。そして今、新しいMACアドレスでUbuntuを起動したとき、外部IPアドレスを取得しません。 DHCPを使用してIPアドレスを取得しています。
コマンドを実行し、外部IPアドレスを取得するためにMACアドレスが変更されたことをUbuntuシステムに通知する必要があると思います。
Sudo /etc/init.d/networking restart
を実行すると、次のメッセージが表示されます。
SIOCSIFADDR: No such device
eth0: ERROR while getting interface flags: No such device
eth0: ERROR while getting interface flags: No such device
Bind socket to interface: No such device
Failed to bring up eth0
どうすれば解決できますか?
MACアドレスが変更されたため、eth0というインターフェイスはなくなりました。この名前は、「古い」MACアドレスを持つインターフェイス用に予約されています。 「新しい」インターフェースには、次の自由な名前(ethNなど)が必要です。
マシン上のすべてのインターフェースを表示するには、次のコマンドを使用できます:ifconfig -a
ネットワークインターフェイスの名前の予約をリセットする場合は、ファイル/etc/udev/rules.d/70-persistent-net.rules
を削除し、マシンを再起動します(または、この場合は不可能ですが、デバイスを削除/挿入します)。
または、/etc/network/interfaces
ファイル内の古い名前と新しい名前のすべての出現を変更することにより、設定したインターフェイス名を新しい名前に変更できます。
最初にVMゲストでnewfileという名前のファイルを作成します:Sudo nano /etc/init.d/newfile 2行で:
#!/bin/bash
Sudo ifup eth0
次に、コンソールから:
Sudo chmod +x /etc/init.d/newfile
Sudo chmod 755 /etc/init.d/newfile
Sudo update-rc.d newfile defaults
静的IPでの再起動後にeth0がダウンするため、このソリューションを使用しました(DHCPは正常に機能します)。
私の/ etc/network/interfaces:
# The loopback network interface
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
nameservers 192.168.1.1
(私の英語は申し訳ありません)
Ubuntuホストで静的IPを使用していると思います。
MACアドレスを変更したため、ubuntuは古い「eth」を使用する代わりに、新しい「eth」を作成します。
ファイル/ etc/sysconfig/networks/ifcfg-eth0をifcfg-eth1に変更するか、ネットワークマネージャーを使用して静的構成をセットアップします。