动态iptables 防火墙
2007-03-04 12:42:32 来源:WEB开发网核心提示: #tcplimit 873 5 minute onPort 873 new connection limit (5/minute, burst=5) on.tcplimit 使用新的 iptables "state" 模块(确保已经在内核中启用了这个模块或已经装入了这个
#
tcplimit 873 5 minute on
Port 873 new connection limit (5/minute, burst=5) on.
tcplimit 使用新的 iptables "state" 模块(确保已经在内核中启用了这个模块或已经装入了这个模块),以在某个特定时间周期内只允许一定数量的新进入连接。在本示例中,防火墙只允许每分钟有 5 个新连接到 rsync 服务器(端口 873) -- 如有必要,可以指定您希望每秒/分钟/小时或每天有多少连接。
tcplimit 为限制非基本服务提供了一个好方法 -- 因此对非基本服务的大量通信量不会中断网络或服务器。在我遇到的情况中,我使用 tcplimit 来设置使用 rsync 的最大上限,以防止太多 rsync 连接占据我的 DSL 线路。限制了连接的服务都记录在 /root/.dynfw-tcplimit 中,如果我要关闭新连接限制,只要输入:
#
tcplimit 873 5 minute off
Port 873 new connection limit off.
tcplimit 运行时会在 "filter" 表中创建一个全新的链。这个新的链将拒绝所有超出指定限度的信息包。然后,一个规则将插入 INPUT 链,该 INPUT 链将要发送到目标端口(本例中是 873)的所有进入 NEW 连接信息包重定向到这个特定链,这样便有效地限制了新的进入连接,但又不会影响所建立连接中的信息包。
关闭 tcplimit 时,INPUT 规则和该特定链将被删除。这是件奇妙的事,它真正体现了让经过精心测试的、可靠的脚本来为您管理防火墙规则的重要性。由于使用了 ipblock,tcplimit 脚本将与任何类型的防火墙,甚至 没有 防火墙的系统兼容,只要您在内核中启用了正确的 iptables 功能。
更多精彩
赞助商链接