我正在尝试使用 iptables 将所有出站连接记录到一个文件中。
这是我的规则:
-A OUTPUT ! -o lo ! --destination 127.0.0.1 -m state --state NEW -j LOG --log-prefix "new_connection " --log-level 7
Run Code Online (Sandbox Code Playgroud)
但是,如果我添加另一个 IP 目的地(多播),那么我的规则变为:
-A OUTPUT ! -o lo ! --destination 127.0.0.1 ! --destination 239.192.0.0 -m state --state NEW -j LOG --log-prefix "new_connection " --log-level 7
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
multiple -d flags not allowed
Run Code Online (Sandbox Code Playgroud)
我的问题不是错误是什么意思,而是如何在我的规则中排除多个 IP 地址?两个条件
! --destination 127.0.0.1
Run Code Online (Sandbox Code Playgroud)
和
! --destination 239.192.0.0
Run Code Online (Sandbox Code Playgroud)
是相互排斥的,因此拥有两个规则实际上就像根本没有它们一样(更糟糕的是,因为我会得到将近两倍的日志)
那么有“and”运算符吗?
-A OUTPUT --destination ! '127.0.0.1' -m state --state NEW -j LOG --log-prefix "new_connection " --log-level 7
Run Code Online (Sandbox Code Playgroud)
给我
Bad argument `127.0.0.1'
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?我使用了这个文档:http : //www.iptables.info/en/iptables-matches.html