在FreeBSD 7.1 amd64版下,由于默认的内核编译选项没有并加入以下内容: options IPFIREWALL options IPFIREWALL_DEFAULT_TO_ACCEPT 所以在启用ipfw的时候,会启用默认禁止的全部连接的规则,那么直接的后果是把ssh的连接踢下线,并切断外界到这个服务器一切端口的连接请求。 解决方案,在启用ipfw后,马上加入一条允许所有请求的规则: kldload ipfw && ipfw add 65534 allow ip from any to any 另外需要注意一点:绝对禁止使用/sbin/ipfw -q -f flush,会导致把上面这条手动添加的开放规则删除! 同时,如果想在重启后ipfw也开启生效,那么需要这样做: 在/etc/rc.conf里加入: firewall_enable=”YES” firewall_script=”/etc/firewall.sh” 同时/etc/firewall.sh的内容是 #!/bin/sh /sbin/ipfw -q -f flush /sbin/ipfw add 65534 allow ip from any to any 同时自定义的ipfw规则也可以向/etc/firewall.sh中添加,比如阻止118.215.66.135到本机80端口的连接,那么加入 /sbin/ipfw add 1 deny ip from 124.193.167.1 to any dst-port […]