请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正在回答

5回答

Scott 2017-04-14 23:42:25

COMMIT 本身不会出错

应该之前的某一行出错了,我们这样排查

从 COMMIT 之前的一行,一行行倒着删除,删除一行后,就运行 sudo iptables-restore 这个命令,看这个 warning 会不会出现,直到删除到不再出现为止,然后,再逐行的回复,看看能定位到哪一行有了错误


0 回复 有任何疑惑可以回复我~
  • 提问者 newming #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2017-04-15 21:40:21
  • 提问者 newming #2
    老师我照你说的做了以下,发现去掉这一行就没问题了,仔细检查了下没有拼写错误,后来就没加它
    
    -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 150 -j DROP
    回复 有任何疑惑可以回复我~ 2017-04-15 21:41:33
  • 我出现了同样的问题,`-A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 150 -j DROP` 这一行没有拼写错误。但是最后一行commit就是会报错,删除后就好了。
    回复 有任何疑惑可以回复我~ 2017-04-17 22:33:48
Scott 2017-04-18 08:24:40

COMMIT 后面要留有一个空行,再试试看,另外对比下我这里完整的规则,应用和数据库端口部分不用完全一样,先看跟当前课程有关的这些规则。


*filter
# allow all connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# allow out traffic
-A OUTPUT -j ACCEPT
# allow http https
-A INPUT -p tcp --dport 443 -j ACCEPT
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 8081 -j ACCEPT
# allow ssh port login
-A INPUT -p tcp -m state --state NEW --dport 39999 -j ACCEPT
# ping
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
# mongodb connect
-A INPUT -s 127.0.0.1 -p tcp --destination-port 19999 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -d 127.0.0.1 -p tcp --source-port 19999 -m state --state ESTABLISHED -j ACCEPT
# website
-A INPUT -s 127.0.0.1 -p tcp --destination-port 3000 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -d 127.0.0.1 -p tcp --source-port 3000 -m state --state ESTABLISHED -j ACCEPT
# movie
-A INPUT -s 127.0.0.1 -p tcp --destination-port 3001 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -d 127.0.0.1 -p tcp --source-port 3001 -m state --state ESTABLISHED -j ACCEPT
# gougou app
-A INPUT -s 127.0.0.1 -p tcp --destination-port 3002 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -d 127.0.0.1 -p tcp --source-port 3002 -m state --state ESTABLISHED -j ACCEPT
# indust app
-A INPUT -s 127.0.0.1 -p tcp --destination-port 3003 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -d 127.0.0.1 -p tcp --source-port 3003 -m state --state ESTABLISHED -j ACCEPT
# wechat
-A INPUT -s 127.0.0.1 -p tcp --destination-port 3004 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -d 127.0.0.1 -p tcp --source-port 3004 -m state --state ESTABLISHED -j ACCEPT
# log denied calls
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7
# drop incoming sensitive connections
-A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set
-A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 150 -j DROP
# reject all other inbound
-A INPUT -j REJECT
-A FORWARD -j REJECT
COMMIT


0 回复 有任何疑惑可以回复我~
macq 2017-06-06 13:44:45

-A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 150 -j DROP

这行去掉就行了

1 回复 有任何疑惑可以回复我~
七月有风 2017-04-18 08:44:27

把老师的代码复制后,也会出现 iptables-restore: line 40 failed ,难到是我其他的地方的配置错了吗?

0 回复 有任何疑惑可以回复我~
  • -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 150 -j DROP
    你把这一句去掉就会发现正常了
    回复 有任何疑惑可以回复我~ 2017-04-18 10:25:23
  • 已解决,谢谢!
    回复 有任何疑惑可以回复我~ 2017-04-18 22:00:11
提问者 newming 2017-04-13 22:00:44

老师,我的22行就是最后一行 COMMIT ,去掉这行它又报错说缺少这行

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信