系统丢失静态IP地址


11

我的无头系统之一是通过/etc/network/interfaces有线以太网分配的静态IP地址。它连接到也是DHCP服务器的路由器。几天后,静态地址将被丢弃,并由DHCP地址代替。为什么会这样呢?

  • 如果我做了sudo ifdown eth0 && sudo ifup eth0sudo service networking restart或重新启动,系统将在其静态地址一遍,但随后几天后,IP地址更改为动态的。
  • 网络上没有其他系统(偶然地)具有相同的静态地址。
  • NetworkManager不在系统上运行。
  • 我已经设置了系统,以便在地址更改时立即给我发送电子邮件,但是发生的时间似乎是完全随机的。DHCP租用时间为24小时,但这似乎没有关联,并且无论如何对于静态地址都无关紧要。
  • 我的/ etc / network / interfaces是这样的:
    自动搜索
    iface lo inet回送
    自动eth0
    iface eth0 inet静态
    地址192.168.124.104
    网关192.168.124.253
    网络掩码255.255.255.0

有点困惑。

是什么导致系统放弃其静态地址而请求DHCP地址呢?在哪个日志文件中查找什么?


那不是应该发生的,是网络管理员试图管理接口吗?nmcli dev status如果没有发布您的/etc/network/interfaces
meccooll 2014年

@meccooll如我所说,网络管理器无法运行。
2014年

我唯一能想到的就是配置错误/etc/network/interfaces,或者运行dhclient的某些cron作业?
meccooll 2014年

网关是x.253而不是x.254?DNS名称服务器在哪里声明?
chili555

@ chili555网关和DNS对DHCP无效。看看sudo grep eth0 /var/log/dmesg
meccooll 2014年

Answers:


8

最近,我偶然发现了这个问题,经过一番调查,结果发现/etc/dhcp/dhcp.conf需要添加一个类似于以下内容的块(或未添加注释):

别名{接口“ eth0”;   
固定地址10.1.1.1;   
可选子网掩码255.0.0.0; }

希望这可以帮助!

问候,格伦登·格罗斯


谢谢格伦登。我将取消注释并修改这些行,然后看看会发生什么。该问题仍然发生,但很少出现。
2015年

非常感谢,格伦登。这为我解决了。似乎/etc/network/interfaces仍然
无法

有趣的修复方法是,当我的NIC返回DHCP时,这创建了一个具有正确IP的别名NIC,而我的客户端却不那么明智,一切都变得很繁琐。仍然不确定为什么会发生这种情况,但是此修复程序现在就可以了!
FreeSoftwareServers

2
对我来说似乎也是/etc/dhcp/dhclient.conf。
FreeSoftwareServers

1

嗯,奇怪...我不确定这很重要,但是为了简洁起见,我会将netmask参数直接放在“地址”之后而不是在“网关”之后。您还应该卸载/停用(isc-dhcp-client从主机上软件包,并提防ipv6和该resolveconf软件包。在此之前:找出正在发生的情况的一种方法是放置一条防火墙规则,该规则接受和记录往返于DHCP端口(服务器67 UDP和客户端68 UDP)的所有流量,或为设备状态(dhcp-client或嗅探您的流量。

但是,一种解决方法(或替代解决方案)是为某些主机配置DHCP保留或为其DHCP地址配置无限的租用时间。对我而言,这确实很好,并且优点是集中管理。如果您的DHCP服务器是调制解调器/路由器,则可以在Web界面(租用时间或预订)中对其进行配置,在某些路由器上,您甚至可以选中“固定地址”复选框。如果您配置了自己的服务器(Ubuntu?),则需要编辑dhcpd.conf文件,并添加如下几行:

host Accountant {
  hardware ethernet 00:1F:6A:XX:XX:XX;
  fixed-address 192.168.124.104;
}

1

我知道这已经很久了,但是我遇到了我一直在努力解决的类似问题。我还向Canonical开了一个案子,寻求帮助。

从那以后,我已经解决了我的问题,并返回此职位,希望对那些偶然发现此问题的人可能有用。最后,我的问题竟然是“ wicd-daemon”。我不确定如何或为什么安装该软件包,但这是造成我的静态地址丢失并导致其他网络问题的主要原因。

我的问题的一个症状是,如果我拔下网络电缆并将其重新插入,dhclient将启动。类似于此处报告的问题,然后我将获得一个不同的IP地址。如果我手动设置了NIC,就可以了,但是随后的随机时间之后,它将获得一个不同的IP(由于dhclient在后台运行)。检查dhclient是否正在运行。至于为什么dhclient甚至在运行,这是另一个问题。下面,我描述为我解决的dhclient,最终找到了几个路径(avahi,ntpd,ifup等)。就我而言,这是wicd-daemon。

这个问题最初是在测试中发现的,因为我正在切换网络,这需要我物理移动网络电缆。这给我造成了网络问题,这是不应该的。同样也需要花费一些时间来发现问题,因为我不希望我的静态IP丢失或更改。

最后,清除wicd-daemon和python-wicd解决了这个问题。现在,即使拔掉网络电缆,我的系统仍保留静态IP地址。我也没有看到dhclient启动,因此我认为该问题也已解决。我也走了其他道路,查看了avahi,它似乎在解决我遇到的问题中发挥了作用,我也查看了ntpd(我知道这很奇怪,但是它同时出现在syslog中。确实; NTPD可能与它无关,但它正在产生可疑的日志。我跑了几个兔子洞,直到偶然发现执行其他测试时正在运行的wicd进程。

长话短说,请检查dhclient是否正在运行,以及是否在系统上运行了诸如wicd之类的网络管理器。这可能是导致您的静态地址出现问题的原因。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.