我目前正在開發一個項目,該項目涉及在三台獨立機器上運行的三個獨立模組(目前在 3 個不同的虛擬機器中完成),所有模組都必須相互通訊。我遇到的一個煩惱是,當我將虛擬機器傳輸到不同的電腦或不同的網路時,虛擬機器取得的 IP 位址與硬編碼到每個模組中的 IP 位址不同。
我覺得必須有一個更簡單、更便攜的方法來做到這一點。是否可以為每個虛擬機器分配一個別名 IP(例如 10.0.0.x 子網路),並透過該位址而不是實際的 192.168.1.x 位址來引用它們?每個虛擬機器和主機都執行 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