我正在运行 Ubuntu 10.04 服务器安装,我最近不得不将它从 DHCP 切换到静态 ip。我编辑了/etc/network/interfaces
文件并切换了
iface eth0 inet dhcp
至
iface eth0 inet static
address 192.168.1.167
netmask 255.255.255.240
network 192.168.1.160
broadcast 192.168.1.175
gateway 192.168.1.161
您会注意到 IP 有点奇怪。这是因为服务器现在位于专用于隔离特定服务器的特殊子网上。我还编辑了 resolv.conf 文件以包含正确的 DNS 服务器(包括一个 Google 的服务器,以防万一万一失败了)。
问题是,看似随机的机器将失去与外界对话的能力。我知道这台机器还在运行,但它的行为就像它根本没有网络一样。我认为部分问题是没有 DHCP 运行到该子网(也不会有),并且 dhclient 有时似乎仍在运行,这会导致某种冲突(不知道是什么),从而导致网络中断。但是,我不能删除 dhcp3-client 包,因为它还会导致 ubuntu-minimal 包被删除,这很糟糕。
那么,有什么想法吗?什么可能会调用 dhclient,我该怎么做才能阻止它运行?
如果此后您没有重新启动机器,则该行为是正常的。从 dhcp 更改为静态 ip 应该是:
sudo ifdown eth0
sudo ifup eth0
原因是,如果您在更改配置后执行 ifdown,它的行为就好像它正在关闭一个静态接口,并且不会终止 dhclient 进程,这将继续搞砸您的配置。在这种情况下,只需杀死 dhclient 进程
这一切都应该解决。
正如jneves所提到的,这可能是 DHCP 客户端为您搞砸了。
作为
sudo ifdown eth0
-edit-的替代方法sudo ifup eth0
,您可以/etc/init.d/networking restart
在编辑文件后运行。它还有一个优点,就是你可以远程操作...(在 askubuntu 上没有足够的分数,我不能只评论 jneves 的答案,所以请考虑将其视为评论......)
编辑:完全忘记了;由于上述命令不会在任何时候断开您的连接,因此您的 SSH 会话实际上应该在重新加载配置后仍然存在。能够在连接到所述机器时更改网络设置真是太好了......