我想给一个小时的tcp端口3306的IP访问。 之后,所有连接必须closures。
我如何添加一个超时到以下expression式?
iptables -A INPUT -m state --state NEW -m tcp -p tcp --source 1.2.3.4 --dport 3306 -j ACCEPT
我相信(我从来没有使用它,并通过iptables的手册页find它)–timestart和–timestop将完成这一点。
iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -m tcp -p tcp --source 1.2.3.4 --dport 3306 --timestart 13:00 --timestop 14:00 -j ACCEPT
将允许您在1至2pm之间。
如果分组到达时间/date在给定范围内,则匹配。 所有选项都是兼容的。
–timestart 值
只有在“值”之后才匹配(包含,格式:HH:MM;默认00:00)。
–timestop 值
只有在“值”之前匹配(包含,格式:HH:MM;默认23:59)。
不需要支持iptables时间模块的替代解决scheme。
( iptables -I INPUT -p tcp -s 1.2.3.4 --dport 3306 -j ACCEPT ; sleep 1h; iptables -D INPUT -p tcp -s 1.2.3.4 --dport 3306 -j ACCEPT ) &
这将不会在一小时后closures连接,它只会返回到允许连接之前的任何策略。 可以设置为中断和丢弃/拒绝不再允许的stream量,除非您有STATE ESTABLISHED ALLOW事先。