我不确定是什么导致了我的不稳定,但我所知道的是:
该服务器运行的是没有 GUI 的 Debian。
我有一个静态 IP,并且 /etc/network/interfaces 配置了“gateway xxx1”条目。
有时,我的服务器会失去所有互联网连接,当我可以访问它时,路由表中却缺少默认网关。
由于此错误会停止我服务器的所有流量,因此我设置了一个 cronjob 来定期尝试“route add default gw xxx1”,这样我就不必一直亲自返回机器。我想要一个更好的解决方案...
在 /etc/网络/接口:
auto lo
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet static
address 192.168.0.121
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
up route add default gw 192.168.0.1
dns-nameservers 192.168.0.1
dns-search domain.com
为什么 /etc/network/interfaces 中的条目:up route add default gw xxx1 不起作用,无法将网关保留在路由表中?此外,“gateway xxx1”条目不是应该已经确保默认网关保留在路由表中吗?
此外,我应该查看哪些日志文件才能追踪这个重复出现的错误?
附带问题:DoS 类型的攻击会导致 eth0 瘫痪吗?
答案1
该ifconfig
命令不用于设置接口本身以外的任何东西,因此不涉及网关。
当您运行时ifconfig down
,网关会被内核删除,因为它发现该网关不再有效。
当您运行时ifconfig up
,内核无法猜测有关网关的任何信息。
您应该使用您的发行版特定的命令来up
控制界面(例如,对于 Debian 来说这是ifup eth0
),或者明确使用route
命令。
答案2
我不确定 debian 是否如此,但 redhat 要求配置 sysconfig 脚本才能保留网关设置。我不确定这与 debian 有多大关系,但它让我对 redhat 感到抓狂。
答案3
好的,首先,你为什么要使用ifconfig
?在普通服务器上,除非你更改 IP 地址,否则你不会触及它。
我怀疑您在某处运行了 DHCP 客户端的副本。我见过在dhclient
租约到期时间即将结束时唤醒时出现此类间歇性问题。确保完全禁用此功能(您可能甚至可以将chmod -x
其删除,因为它在生产服务器上没有实际用途)。检查ps aux
并确保您没有看到与 DHCP 相关的任何内容。
最后,DoS 攻击不会对系统的网关地址产生任何影响。它可能会导致网关瘫痪(如果它压垮了路由器),但不会导致系统突然将其从路由表中删除。
答案4
这不是一个解决方案,而是一个快速修复方法,可以阻止您进入更正配置文件。
将 bash 组合在一起以检查连接性。如果无法退出,则将网关附加到配置文件并反弹网络。至少现在它可以节省您的停机时间和驾驶时间。
抱歉,我又要写另一个答案了...显然还不能附加评论。