« 高度图压缩后的边界处理 | 返回首页 | 重构 »

远程设置防火墙要小心

今天想在自己管理的一台机器(安装的 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中注销掉这个任务即可。
也遇上过这个门
http://www.tianxia22.cn/ 天下2出外挂了,我不知道咋给你发邮件。随便找个位置留个言,不知道你能看见么。
远程机器,不是弄过的人都不敢弄。
远程么…我还没干过,哈
还有著名的ldconfig问题... 有一次把ldconfig的内容清了,也导致被直接踢下:(
呵呵呵,好多人也干过这样的事,正常.
多年前,XFOCUS 服务器还在长春一个朋友机房里的时候,用的也是 freebsd,也犯过一样的错误。
iptable的规则可以写在文件内导入,ipfw的应该也可以~~ 以前远程设置linux 的iptable 时候也被踢过一次 -_-
干过类似的事,远程改ip然后改路由,改完ip后发现上不去了,因为路由没加上,所以连接不上,改完就后悔了,然后找机房同事重启。。。

Post a comment

非这个主题相关的留言请到:留言本