我制定了以下 iptables 规则文件:
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:sshguard - [0:0]
-A INPUT -i enp3s0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT -m comment --comment "Allow incoming SSH"
-A INPUT -i enp3s0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT -m comment --comment "Allow outgoing SSH"
-A INPUT -i enp3s0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT -m comment --comment "Allow incoming HTTP"
-A INPUT -i enp3s0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT -m comment --comment "Allow incoming HTTPS"
-A INPUT -i enp3s0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT -m comment --comment "Allow outgoing HTTP"
-A INPUT -i enp3s0 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT -m comment --comment "Allow outgoing HTTPS"
-A INPUT -i enp3s0 -p udp --sport 53 -j ACCEPT -m comment --comment "Allow outgoing DNS"
-A INPUT -i lo -j ACCEPT -m comment --comment "Allow ALL from localhost"
-A INPUT -p icmp --icmp-type echo-request -j ACCEPT -m comment --comment "Allow incoming ping"
-A INPUT -p icmp --icmp-type echo-reply -j ACCEPT -m comment --comment "Allow outgoing ping"
-A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT -m comment --comment "Prevent DoS attacks"
-A INPUT -p tcp --dport 443 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT -m comment --comment "Prevent DoS attacks"
-A INPUT -p tcp -m tcp --dport 22 -j sshguard -m comment --comment "SSH access protection"
COMMIT
但是当我尝试加载它时iptables-restore < iptables.rules
,出现此错误:
iptables-restore:第 22 行失败
我做错什么了吗?
编辑 :
- 我的Linux版本是:linux44 4.4.48-1
- 我的 iptables 版本是:iptables 1.6.0-1
- uname:Linux ARCH 4.4.41-1-MANJARO #1 SMP PREEMPT 2017 年 1 月 9 日星期一 12:43:09 UTC i686 GNU/Linux
编辑2:
经过多次测试,似乎 目录中缺少ipt_state.ko.gz
和模块ipt_comment.ko.gz
/lib/modules/4.4.48-1-MANJARO/kernel/net/ipv4/netfilter
有人知道如何添加这些模块吗?
答案1
好的,请关注该论坛:https://bbs.archlinux.org/viewtopic.php?id=195108,我意识到我的内核最近从 -41 更新到了 -48,模块发现是基于 uname(已经过时了),这就是模块无法加载的原因。简单的重启解决了所有问题 :D