我正在运行 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,我该怎么做才能阻止它运行?
答案1
如果你此后没有重新启动机器,这种行为是正常的。从 dhcp 更改为静态 ip 应该是:
sudo ifdown eth0
- 更改配置
sudo ifup eth0
原因是,如果你在更改配置后执行 ifdown,它的行为就像关闭静态接口一样,不会终止 dhclient 进程,这将继续破坏你的配置。在这种情况下,只需使用以下命令终止 dhclient 进程
sudo killall dhclient
一切都会顺利。
答案2
正如所提到的伊内夫斯,这可能是 DHCP 客户端把事情搞乱了。
sudo ifdown eth0
作为-edit-的替代方法sudo ifup eth0
,您可以/etc/init.d/networking restart
在编辑文件后直接运行。它还有一个优点,就是您可以远程执行此操作...
(askubuntu 上的积分不够,我不能只对 jneves 的回答发表评论,所以请将此视为评论......)
编辑:完全忘记了;由于上述命令不会随时断开您的连接,因此您的 SSH 会话实际上应该在重新加载配置后继续存在。它是在连接到所述机器时能够更改网络设置非常好......