クローン仮想マシンで破損したネットワークを修正するにはどうすればよいですか?


27

ブリッジネットワーキングで構成された仮想マシンをセットアップしました。8つのクローンを作成した後、新しいマシンはネットワークに接続できません。

VirtualBoxに、マシンのMACアドレスを再生成するように指示しました。

回答:


26

udev新しいインターフェイスの起動を妨げるルールがあります。

マスターマシンで、新しいマシンを複製する前にそれらを削除します。

sudo rm -f /etc/udev/rules.d/70-persistent-net.rules

ソース


70-persistent-net.rulesは、マスターマシンとクローンVMの次回の起動時に表示されます。その問題に直面しましたか?
マニッシュ

ファイルを削除すると、強制-fフラグは不要になります。
k0pernikus 14

この-fフラグは、rmファイルが存在しない場合でも、コマンドをステータス0で成功させます。習慣の力。:)
ステファノパラッツォ

6

Virtual Boxマシンの設定を使用してMACアドレスを更新し、カーネルのネットワークインターフェイスルールファイルを削除して、再生成できるようにします。

sudo rm -f /etc/udev/rules.d/70-persistent-net.rules
sudo reboot

クローンVMで機能します。


1
個人的には、復元する必要がある場合に備えて、ルールファイルを完全に削除するのではなく、どこかにコピーします。
デビッドエドワーズ14年

これは私のために働いた!
david.libremone 14

@DavidEdwards存在しない場合、ファイルは起動時にOSによって作成されます。古いコピー(MACアドレスが間違っているコピー)が本当に必要な場合は、常に元のVMから取得できます。
MrWonderful

4

私は何ヶ月も同じ問題に対処していましたが、今日はより良い修正を見つけることにしました。これは、テンプレートとして使用していたマシンで行ったことです。

適切な管理プラクティスのために、編集する前に両方のファイルをバックアップします。

2つの問題のある/ターゲットファイルがあります。

  1. /etc/sysconfig/network-scripts/ifcfg-eth0
  2. /etc/udev/rules.d/70-persistent-net.rules

これはアドレスstaticまたはdhcpアドレスに対して機能します:

開いた /etc/sysconfig/network-scripts/ifcfg-eth0

MACアドレス行を削除し HWADDR=XX:11:22:XX:33:XX
ます。ファイルを保存します。

ファイルを削除します。/etc/udev/rules.d/70-persistent-net.rules「VMを再起動すると再作成されます」

sudo rm -f /etc/udev/rules.d/70-persistent-net.rules

これで、ボックスのクローンを作成でき、すべてのクローンが正しくデプロイされ、eth0が表示されます。

テンプレートを使用しない場合、マシンを再起動する前に、VMソフトウェアでNICを再初期化することを忘れずに、実際のVMでこれらの手順を完了することができます。


これはより完全な答えのように見えます。最後の段落の「NICの再初期化」の部分に関する詳細を提供できますか?また、どのVirtualBoxバージョンを使用していましたか?
-RichVel

念のため、Ubuntu 16.04に/ etc / sysconfigディレクトリが見つかりません。
MakisH

1
Debian / Ubuntuの@MakisHネットワークインターフェイスは、/ etc / sysconfig / network-scriptsのファイルでは定義されていません(お気づきのように、/ etc / sysconfigディレクトリさえありません)が、/ etc / network / interfacesで定義されています。
デビンノルガーブ

1

以前のバージョンのVirtualBoxで同じ問題が発生し、「新しいMACアドレスを生成する」チェックボックスが役に立たなくなるバグがあることをどこかで読みました。

現在、VirtualBox 4.2.10でUbuntu 12.04を使用しています。クローンを作成したときに、「新しいMACアドレスを生成する」チェックボックスがないことに気付きました。

これにより、70-persistent-net.rulesを削除しても問題が発生しました。これは、システムが起動時に元のMACアドレスと同じMACアドレスでファイルを自動的に生成し、接続に失敗するためです。

しかし、VirtualBox Managerでは、クローンを選択し、[設定]> [ネットワーク]> [詳細設定]に移動し、ボックスにチェックマークを付けて新しいMACアドレスを生成できることを発見しました。

そこで、最初に70-persistent-net.rulesを削除し、シャットダウンして、新しいMACアドレスを生成し、再度開始することで、現在は機能するようになりました。

または、クローンを作成する前に、最初にファイルを削除できます。次に、MACアドレスを生成してから、クローンを開始します。それも機能するはずです。


0

IPネットワークを介した仮想マシン間の相互接続が必要な並列コンピューティング環境を構築しています。

マシンのMACアドレスの再生成に関連するものがあると思います。以前にも同様の問題に直面していました。

元の仮想マシンにはとがeth0ありeth1ます。しかし、私の場合、再生成プロセスのために、新しいクローンマシンにはとがeth2ありeth3ます。次のコマンドで確認できます。

ifconfig -a | grep eth

ifconfigコマンドを使用して、新しいクローンマシンにのみlo登録されていることを確認できます。一般的に、あなたが持っているはずですloeth0eth1あなたが入力したときにifconfigコマンドを。

つまり、クローン機で、存在することMAC再生によるものであるeth2eth3、イーサネットインターフェイスの代わりeth0eth1元のマシンに。/etc/network/interfaces私の場合、次のように表示される元のマシンでも確認できます。

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static

address 192.168.xxx.xxx
netmask 255.xxx.xxx.0
network 192.168.xxx.0
broadcast 192.168.xxx.255
gateway 10.0.x.xx

あなたが変更することができるかもしれ/etc/network/interfacesファイルを変更し、eth0そしてeth1eth2してeth3、どの多かれ少なかれ、このように:

auto lo
iface lo inet loopback

auto eth2
iface eth2 inet dhcp

auto eth3
iface eth3 inet static

address 192.168.xxx.xxx
netmask 255.xxx.xxx.0
network 192.168.xxx.0
broadcast 192.168.xxx.255
gateway 10.0.x.xx

頑張ってください!


0

70-persitent-net.rulesファイルを削除しましたが、再起動後に再作成されませんでした。その後、ゲスト追加モジュールを再インストールし、VMを再起動するとうまくいきました。


0

Virtual BOX(4.3)で3つのVMを複製した後、同じIPアドレスで問題が発生します。だから私はマシンの電源をオフにし、新しいMACアドレスを再生成し、それを再起動してくれました。

手順=>複製されたVMをオフにしてから、設定=>ネットワーク=>詳細=> [MACアドレスの更新] => [クリックOK]をクリックします。その後、VMを起動します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.