远程设置防火墙要小心
今天想在自己管理的一台机器(安装的 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
Posted by: phpman | (10) December 23, 2008 06:16 PM
Posted by: korpton | (9) November 26, 2008 08:12 AM
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
Posted by: bigmonkey | (5) September 12, 2008 12:58 AM
Posted by: tigerdx8 | (4) September 11, 2008 08:47 AM
Posted by: wlj | (3) September 10, 2008 09:44 PM
Posted by: icat | (2) September 10, 2008 09:32 PM
Posted by: liuworld | (1) September 10, 2008 09:02 PM