Debian iptables:阻止除特殊 IP 或端口之外的所有传入

Debian iptables:阻止除特殊 IP 或端口之外的所有传入

我尝试了各种 Web 服务器规则,但并没有如我所愿地运行。端口似乎可以访问,但无法建立连接,以下是脚本:

#!/bin/bash

# Drop all Incoming
iptables -A INPUT -j DROP

# Allow all Outgoing
iptables -A OUTPUT -d 0.0.0.0/0 -j ACCEPT

# Allow Incoming for special IPs to all Ports
iptables -A INPUT -s 1.2.3.4/32 -j ACCEPT
iptables -A INPUT -s 2.3.4.5/32 -j ACCEPT
iptables -A INPUT -s 3.4.5.6/32 -j ACCEPT

# Allow Incoming from Internet to Ports
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# Allow established connections
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Allow localhost
iptables -A INPUT -i lo -j ACCEPT

答案1

解决方案很简单,只需替换第一条规则

iptables -A INPUT -j DROP

iptables --policy INPUT DROP

这不会阻止所有内容,而是将策略设置为输入连接的默认阻止。

相关内容