FreeBSD 8.0“看门狗超时”丢弃以太网连接

最近我的FreeBSD 8.0(GENERIC)盒子遭到台湾知识产权的大量请求,试图猜测密码和所有这些东西。 无论如何,长话短说,我注意到在某个时候,我不能ssh进入框。 直接login后,我注意到大量的密码猜测,并且msk0: watchdog timeout 。 msk0指的是我的有线以太网连接。

我使用ifconfig msk0 up了接口,并且成功地能够ping通那个接口的地址。 但是,当试图ping我的主要路由器,这是盒子直接连接,它挂起。 试图ping我的外部IP地址返回了一大堆sendto: no buffer space available

问题已经解决了重启,但显然这不是一个理想的方式去做。 在这种情况再次发生的情况下,我应该采取什么措施来恢复连接? 我已经读过,有时可以用watchdog -t 0来防止,但我不确定我想要沿着那条大街走下去。

在预防方面,有没有办法阻止IP地址在一段时间内有一定数量的失败login? 例如,15次login失败会在接下来的12个小时内导致拒绝连接?

我不知道msk0支持的芯片; 但是我也看到很多其他卡/芯片/驱动程序出现类似的问题。 99.9%的时间是一个错误的固件实现(通常是由于便宜的制造)不能正确处理看门狗定时器。

此外,这是一个奇迹的芯片,奇迹还没有开源友好; 这可能是驱动程序本身的问题。 无论哪种方式,最好的启动地点是排除NIC故障手册页的底部。

我对这类问题有着相当的分享, 我发现最简单的解决scheme是切换到更昂贵的网卡(尽pipe您可以在eBay上find更老的网卡,但这是我家的首选设备)。

如果故障排除不能解决问题,那么FreeBSD论坛上还有更多的故障排除专家。

我错过了你的问题的最后一部分与我的其他答案,所以我会在这里快速添加它。

我使用并强烈推荐给面向公众的* nix服务器的每个人: Fail2Ban

它位于security / py-fail2ban下的ports树中,因此很容易上手。
在你最喜欢的编辑器中打开/usr/local/etc/fail2ban/jails.local之后。 如果您使用IPFW,这是一个快速的开始。 如果你使用pf,它会略有不同。

 [DEFAULT] maxretry = 10 [auth-bsd-ipfw] enabled = true filter = bsd-sshd action = bsd-ipfw logpath = /var/log/auth.log 

启用服务echo 'fail2ban_enable="YES"' >> /etc/rc.conf并启动它/usr/local/etc/rc.d/fail2ban start

监视IPFW中的表1的内容一段时间,以确保你不会用ipfw table 1 listlocking自己。 一旦它按预期工作,请添加一个防火墙规则来阻止表1中的IP: ipfw add 00030 deny ip from "table(1)" to me 。 一定要将其添加到启动规则集,以便在重新启动时加载。

Fail2Ban可以用来监视任何日志文件。 大多数服务已经login失败的login到一个日志文件,其他大多数可以做; 还有很多通过Google发现的例子(或者在这里问)。