私は現在、3 台の別々のマシン (現在は 3 つの異なる VM で実行) で実行される 3 つの独立したモジュールを含むプロジェクトに取り組んでおり、これらのモジュールはすべて相互に通信する必要があります。私が遭遇している厄介な問題は、VM を別のコンピューターまたは別のネットワークに転送すると、VM が各モジュールにハードコードされている IP アドレスとは異なる IP アドレスを取得することです。
これを行うには、もっと簡単で移植性の高い方法があるはずです。各 VM に、たとえば 10.0.0.x サブネット内のエイリアス IP を割り当て、実際の 192.168.1.x アドレスではなくそのアドレスで参照することは可能ですか? 各 VM とホストは、Ubuntu 9.04 64 ビットを実行しています。
よろしくお願いします。デイブ・マクレランド
編集: 以下にコメントする代わりに、/etc/network/interfaces ファイルをコピーしました。壊れてしまいました。
auto eth0
iface eth0 inet dhcp
iface eth0:0 inet static
address 192.168.14.21
network 192.168.14.0
netmask 255.255.255.0
broadcast 192.168.14.255
gateway 192.168.14.1
答え1
/etc/network/interfaces を編集します:
iface eth0 inet static
address 192.168.0.10
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
優先するネットワーク サブネット/設定に合わせて変更します。
DHCP された eth0 にエイリアスを作成するには:
# The primary network interface
auto eth0
iface eth0 inet dhcp
iface eth0:0 inet static
address 192.168.0.10
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
インターフェースを起動します:
$ sudo ifup eth0:0
$ ifconfig eth0:0
eth0:0 Link encap:Ethernet HWaddr 00:0c:29:b0:fe:76
inet addr:192.168.0.10 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:19 Base address:0x2000
答え2
Ubuntu でも同じ問題に遭遇しました。インターフェイス ファイルを編集して IP をハードコードしても、DHCP クライアントが新しい IP をリースするのを止めることはできません。
sudo /etc/init.d/dhcp stop
動作していることが確認できたら、DHCP クライアントを完全に削除して、再び動作しないようにすることができます。
sudo apt-get remove dhcp3-client