我试图阻止除我的 ip 地址之外的所有到我的 pop3、imap 服务器的连接,并将断开的连接记录到日志文件
/etc/sysconfig/iptables
...
-N accept-n-log
-A accept-n-log -j LOG --log-level 4 --log-prefix "accept-n-log:"
-A accept-n-log -j ACCEPT
-N drop-n-log
-A drop-n-log -j LOG --log-level 4 --log-prefix "drop-n-log:"
-A drop-n-log -j DROP
-A INPUT -p tcp -m multiport --dports 110,143 -s m.y.i.p -j ACCEPT
-A INPUT -p tcp -m multiport --dports 110,143 -j DROP
...
重新启动 iptables 后,出现错误
[root@lax sysconfig]# iptables -N accept-n-log
[root@lax sysconfig]# iptables -A accept-n-log -j LOG --log-level 4 --log-prefix "accept-n-log:"
iptables: No chain/target/match by that name.
但我找不到导致此错误的任何原因。
我的问题是:这一行错误在哪里?谢谢!
答案1
使用-N
并不是在 中定义新链的方式/etc/sysconfig/iptables
。尝试-N accept-n-log
用以下行(靠近顶部)替换:
:accept-n-log - [0:0]
对 也做类似的事情drop-n-log
。顺便说一句,我相信您已经意识到了这一点,不要忘记数据包不会自动到达您的新链,并且在某些时候,您必须在常规链中设置一个或多个终止 或 的-j accept-n-log
规则-j drop-n-log
。