我试图只接受来自我的白名单端口53,80和443的连接。
这是我的iptables文件
# Generated by iptables-save v1.4.21 on Thu Feb 25 18:28:29 2016 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -i lo -j ACCEPT -A INPUT -d 127.0.0.0/8 ! -i lo -j REJECT --reject-with icmp-port-unreachable -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m tcp --dport 8071:8079 -j ACCEPT -A INPUT -p udp -m udp --dport 6881 -j ACCEPT -A INPUT -p tcp -m tcp --dport 9001 -j ACCEPT -A INPUT -p tcp -m tcp --dport 9030 -j ACCEPT -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT -A INPUT -p tcp -m tcp --dport 587 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT -A INPUT -p udp -m udp --dport 1194 -j ACCEPT -A INPUT -p tcp -m tcp --dport 1194 -j ACCEPT -A INPUT -p udp -m udp --dport 53 -m set --match-set whitelist src -j ACCEPT -A INPUT -p udp -m tcp --dport 53 -m set --match-set whitelist src -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -m set --match-set whitelist src -j ACCEPT -A INPUT -p tcp -m tcp --dport 443 -m set --match-set whitelist src -j ACCEPT -A INPUT -j REJECT --reject-with icmp-port-unreachable -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT -A FORWARD -s 10.8.0.0/24 -j ACCEPT -A FORWARD -j REJECT --reject-with icmp-port-unreachable -A OUTPUT -j ACCEPT COMMIT # Completed on Thu Feb 25 18:28:29 2016 # Generated by iptables-save v1.4.21 on Thu Feb 25 18:28:29 2016 *nat :PREROUTING ACCEPT [97277:5398468] :INPUT ACCEPT [96665:5304148] :OUTPUT ACCEPT [107653:6493517] :POSTROUTING ACCEPT [107653:6493517] -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE COMMIT # Completed on Thu Feb 25 18:28:29 2016
我已经build立了一个如下所示的ipset白名单:
create whitelist hash:net family inet hashsize 1024 maxelem 65536 add whitelist aaaa add whitelist bbbb
在我的/etc/network/if-pre-up.d/iptables脚本中,我有以下内容:
#!/bin/sh /sbin/ipset restore < /etc/ipset.whitelist.conf /sbin/iptables-restore < /etc/iptables.rules
我不知道为什么,但是当我取消我的iptables文件中的白名单规则时,我无法访问服务器,即使通过端口22,这不应该影响。
我在这里做错了什么?
你的iptables文件有一个错误,当你执行它时,它可能停在那一行。 在下面的行中,您正在使用UDP协议,但与TCP模块匹配:
-A INPUT -p udp -m tcp --dport 53 -m set --match-set whitelist src -j ACCEPT
尝试使用TCP协议与此行相反:
-A INPUT -p tcp -m tcp --dport 53 -m set --match-set whitelist src -j ACCEPT