我想允许来自特定IP地址的所有连接,但是我失败了。
操作系统:Ubuntu服务器16.04。 (传入和传出服务器)
我已经执行了这些命令:
iptables -I INPUT -p tcp -s 192.168.0.45 -j ACCEPT iptables -I OUTPUT -p tcp -d 192.168.0.45 -j ACCEPT service netfilter-persistent save /etc/init.d/netfilter-persistent restart
但它不工作。
这就是我的rules.v4
样子:
# Generated by iptables-save v1.6.0 on Thu Jun 22 08:48:43 2017 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -s 192.168.0.45/32 -p tcp -j ACCEPT -A INPUT -p tcp -m tcp --dport 9100 -j ACCEPT -A INPUT -p tcp -m tcp --dport 8025 -j ACCEPT -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 -i tun0 -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 17000 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7 -A INPUT -j REJECT --reject-with icmp-port-unreachable -A FORWARD -j REJECT --reject-with icmp-port-unreachable -A OUTPUT -d 192.168.0.45/32 -p tcp -j ACCEPT -A OUTPUT -j ACCEPT COMMIT # Completed on Thu Jun 22 08:48:43 2017
只有我全部冲洗,我才能接收所有连接
iptables -F
如何正确地允许来自特定IP地址的所有连接?
“所有连接”的意思是不匹配你的具体IP允许规则的TCP! 只要删除-p tcp,你将得到ping(icmp)和所有其他的IP协议工作。 另请注意,输出规则没有用处。 第一条规则是允许tcp为192.168.0.45,第二条规则允许/向任何人提供任何东西。 所以第一个没有效果
为了得到你想要的编辑input规则:
iptables -A INPUT -s 192.168.0.45/32 -j ACCEPT
并删除0.45 OUTPUT之一。