在Debian 7.6服务器上configurationiptables以logging新的TCP连接时,出现以下错误:
Bad argument `NEW' Error occurred at line: ##
引发错误的行格式如下:
-A INBOUND-ACCEPT -p tcp -m state --state NEW -j LOG --log-prefix ' NEW INBOUND TCP ' --log-level 4
我正在使用'iptables-restore'命令从文件应用防火墙规则。 这里的configuration有什么问题? 任何援助非常感谢。
注意 INBOUND-ACCEPT是为了便于logging已接受的数据包而创build的一个链。 在UDP和ICMP日志logging链中还有一些其他类似的格式化的行,但是修复这个规则的问题将使我能够解决我规则文件中其他行的问题。
尝试切换到双引号,而不是后 – --log-prefix
我发现使用'-m状态'和' – 状态STATE'已被弃用。 我无法使用这些参数来解决这个问题,但是通过使用“-m conntrack”和“–ctate STATE”来代替以前的参数来解决问题。 下面是我的最终命令,解决这个问题:
-A INBOUND-ACCEPT -p tcp -m conntrack --ctstate NEW -j LOG --log-prefix " NEW INBOUND TCP " --log-level 4
编辑我的团队成员之一帮我find了一个解决scheme,我没有注意到,但他不仅取代了'-m状态'和' – 状态'与conntrack相当,他也改变了单引号双引号。
在RHELtesting机上尝试命令。 它工作正常。
当我运行iptables-save ,命令用双引号保存它:
# Generated by iptables-save v1.3.5 on Thu Mar 12 13:12:45 2015 *filter :INPUT ACCEPT [399357208:150111383153] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [311789762:341416567394] -A INBOUND-ACCEPT -p tcp -m state --state NEW -j LOG --log-prefix " NEW INBOOUND TCP " COMMIT # Completed on Thu Mar 12 13:12:45 2015
您可能需要使用双引号。