Ubuntu 静态 IP 别名(独立于 dhcp/路由器)

Ubuntu 静态 IP 别名(独立于 dhcp/路由器)

我目前正在开展一个项目,该项目涉及在三台不同的机器上运行的三个独立模块(目前在 3 个不同的虚拟机中完成),所有模块都必须相互通信。我遇到的一个麻烦是,当我将虚拟机转移到另一台计算机或不同的网络时,虚拟机获取的 IP 地址与每个模块中硬编码的 IP 地址不同。

我觉得必须有一种更简单、更便携的方式来做到这一点。是否可以为每个虚拟机分配一个别名 IP,例如 10.0.0.x 子网,并使用该地址而不是实际的 192.168.1.x 地址来引用它们?每个虚拟机和主机都运行 Ubuntu 9.04 64 位。

提前致谢,Dave McClelland

编辑:复制我的 /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

相关内容