我有一个家庭网络,其中有一台运行内核 3.8 的 debian 服务器,用作路由器,执行 DHCP、DNS 缓存、samba 和 Squid。主板是 Gigabyte GA-Z77X-UD5H,有两个以太网端口,一个是 Intel 的,一个是 Atheros 的。升级到内核 3.8 后,两个卡都可以检测到。
我已使用以下规则配置了 IPTables,以允许流量 LAN (eth0) -> WAN (eth1)
#!/bin/bash
PATH=/usr/sbin:/sbin:/bin:/usr/bin
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW ! -i eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -A FORWARD -i eth1 -o eth0 -j REJECT
以及防火墙
#!/bin/bash
PATH=/usr/sbin:/sbin:/bin:/usr/bin
iptables -A INPUT -i lo -j ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
我的接口配置如下:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth1
iface eth1 inet dhcp
auto eth0
iface eth0 inet static
address 192.168.7.1
netmask 255.255.255.0
一切正常,直到在一段随机时间后,一切都会中断,有时是 10 分钟,有时是几个小时,具体取决于负载。当它崩溃时,我无法访问互联网,唯一的解决方案是重新启动服务器。
如果您能提供任何关于造成这种情况的原因以及如何找到原因的建议,我们将不胜感激!
答案1
iptables -P 输入删除
此 iptable 规则会丢弃您服务器的所有包,甚至请求 ping。您需要一些规则来允许一些传入流量。
例如接受 ping:
-A 输入-p icmp -j 接受
打开 sshd 端口:
-A 输入-p tcp -m tcp --dport 22 -j 接受
答案2
我将内核更新到 3.8.7,问题就消失了。