Ubuntu 12.04 虚拟机上的静态 IP 地址

Ubuntu 12.04 虚拟机上的静态 IP 地址

我专门为本地 Web 开发设置了一个运行 Ubuntu 12.04 的虚拟机,但在确保它具有静态 IP 地址方面遇到了一些问题。静态 IP 地址很重要,因为我使用主机文件中的 IP 地址为浏览器中使用的地址分配 .local 后缀,并连接到虚拟机上的正确数据库。

default-lease-time目前,每次我连接到新网络或为虚拟机分配新 IP 地址时,我都需要重新配置整个环境,这变得非常麻烦。Ubuntu虚拟机上的默认设置为 1800可能也无济于事。

目前我正在使用 VMWare Fusion,并且网络适配器已启用并在桥接网络下设置为“自动检测”。

我尝试使用以下代码在 dhcpd.conf 中设置静态 IP 地址:

host ubuntu {
    hardware ethernet 00:50:56:35:0f:f1;
    fixed-address: 192.168.100.100;
}

fixed-address使用的也超出了子网块中指定的范围(在本例中是 192.168.100.128 到 192.168.100.254)。

我尝试添加和删除网络适配器,然后每次都重新启动我的 Mac,但无济于事。

下面是一个ifconfig可能有帮助的虚拟机:

eth0  Link encap:Ethernet  HWaddr 00:50:56:35:0f:f1
      inet addr:192.168.0.25  Bcast:192.168.0.255  Mask:255.255.255.0
      inet6 addr: fe80::250:56ff:fe35:ff1/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:1624 errors:0 dropped:0 overruns:0 frame:0
      TX packets:416 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:147348 (147.3 KB)  TX bytes:41756 (41.7 KB)

lo    Link encap:Local Loopback
      inet addr:127.0.0.1  Mask:255.0.0.0
      inet6 addr: ::1/128 Scope:Host
      UP LOOPBACK RUNNING  MTU:16436  Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

12.04 中是否存在我遗漏的具体问题?或者有其他人知道吗?

提前致谢。

答案1

如需实现静态IP,编辑/etc/network/interfaces添加:

auto eth0
iface eth0 inet static
address 192.168.100.100
netmask 255.255.255.0
gateway 192.168.1.1 # or whatever your gateway is

然后启用该设备,sudo ifup eth0您就完成了。

答案2

可能是您在 dhcp 配置文件中编辑错误。

无需在 dhcp 配置中提供静态 ip 地址。

打开你的接口文件并编辑以下行:

auto eth0 or eth1 or eth2 ...
iface inet eth0 static
address 192.168.100.2
netmask 255.255.255.0
network 192.168.100.0
broadcast 192.168.100.254
gateway 192.168.100.1

答案3

除了我需要添加 DNS 条目外,Mikes 的答案对我有用:

dns-nameservers 192.168.1.1

答案4

你可能会在你的中发现类似这样的内容/etc/network/interfaces

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

然后,如果您的机器是不是使用 CentOS

# The primary network interface
auto ens33
#iface ens33 inet dhcp
iface ens33 inet static
    # This value is an example
    address 192.168.1.10
    # This value is an example
    netmask 255.255.255.0
    # This value is an example
    network 192.168.1.0 #
    # This value is an example
    broadcast 192.168.1.255
    # This value is an example
    gateway 192.168.1.1

# This value is an example
dns-nameservers 8.8.8.8 8.8.4.4 # This value is an example

然后最后重新启动网络服务

service networking restart

或者

/etc/init.d/networking restart

相关内容