远程设置防火墙要小心
今天想在自己管理的一台机器(安装的 freebsd)上设置下防火墙,使用 ipfw 的时候,发现 ipfw 模块没有加载。
一时冲动就直接 kldload ipfw ,立刻就被防火墙踢了出来 :( 。无奈只好联系机房的同事帮忙按一下电源。
好吧,这次我知道 freebsd ipfw 默认的配置是有一条 65535 deny ip from any to any 的规则了。一加载 ipfw 模块根本不给我机会通过 ssh 远程添加新的规则。
以往都是在自己办公室的机器上折腾,没什么好担心的,第一次操作千里之外的机器的 firewall ,一不小心就傻眼了。
重起之后谨慎多了。还是改 /etc/rc.conf ,然后用 /etc/rc.d/ipfw start 的脚本启动好了。
保险起见,我添加了 firewall_enable="yes"
和 firewall_type="open"
,并在机器的桌面机上测试了一下,感觉没有问题。就登陆上远程机器上操作。
可是当我输入 /etc/rc.d/ipfw start 后,又被踢了,真是欲哭无泪啊。终于有明白的同事告诉我,因为 ipfw 添加规则时会有标准输出。但是加载完 ipfw 模块后,新的规则没来的及加上前,我的连接就被断开了。后续的输出失败会导致系统发信号让程序退出,后续规则就没有加上了。
再次麻烦机房同事重启系统,一切正常。
这次算长了点经验。远程开启 ipfw ,一定要重定向标准输出,更安全点是把标准错误输出也一并重定向。
/etc/rc.d/ipfw start >/dev/null 2>&1
Comments
不知道freebsd有没有crontab,我一直在Linux下都是先写好一个彻底清除iptables规则的脚本,然后放在crontab中每5分钟跑一下,锁在外边后等5分钟就可以了,防火墙彻底调试完毕后,在crontab中注销掉这个任务即可。
Posted by: phpman | (10) December 23, 2008 06:16 PM
也遇上过这个门
Posted by: korpton | (9) November 26, 2008 08:12 AM
http://www.tianxia22.cn/
天下2出外挂了,我不知道咋给你发邮件。随便找个位置留个言,不知道你能看见么。
Posted by: vane | (8) September 20, 2008 01:30 PM
远程机器,不是弄过的人都不敢弄。
Posted by: joe wulf | (7) September 14, 2008 10:37 AM
远程么…我还没干过,哈
Posted by: 邪风天烬 | (6) September 13, 2008 09:11 AM
还有著名的ldconfig问题...
有一次把ldconfig的内容清了,也导致被直接踢下:(
Posted by: bigmonkey | (5) September 12, 2008 12:58 AM
呵呵呵,好多人也干过这样的事,正常.
Posted by: tigerdx8 | (4) September 11, 2008 08:47 AM
多年前,XFOCUS 服务器还在长春一个朋友机房里的时候,用的也是 freebsd,也犯过一样的错误。
Posted by: wlj | (3) September 10, 2008 09:44 PM
iptable的规则可以写在文件内导入,ipfw的应该也可以~~
以前远程设置linux 的iptable 时候也被踢过一次 -_-
Posted by: icat | (2) September 10, 2008 09:32 PM
干过类似的事,远程改ip然后改路由,改完ip后发现上不去了,因为路由没加上,所以连接不上,改完就后悔了,然后找机房同事重启。。。
Posted by: liuworld | (1) September 10, 2008 09:02 PM