如何配置 iptables 文件以在所有端口上仅允许特定的 ip 地址并拒绝所有其他 ip 地址?

如何配置 iptables 文件以在所有端口上仅允许特定的 ip 地址并拒绝所有其他 ip 地址?

我需要配置 iptables 文件,以便只允许我通过特定的 ip 地址(比如 10.0.0.1)连接所有端口(范围从 0-5555),并拒绝所有其他 ip 地址?

我尝试了各种 iptables 命令选项,但都没有正常工作。确切的 iptables 命令是什么?

编辑:Ubuntu 14.04 LTS

答案1

代码是这样的

#################################################
# clear existing chains
#################################################

iptables --flush
iptables --delete-chain

#################################################
# allow loopback
#################################################

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

#################################################
# allow established connections
#################################################

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#################################################
# allow ICMP from 10.0.0.1
#################################################

iptables -A INPUT -s 10.0.0.1 -p icmp --icmp-type any -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT


#################################################
# allow port range from 10.0.0.1
#################################################

iptables -A INPUT -m state --state NEW -s 10.0.0.1 -m tcp -p tcp --match multiport --dports 0:5555 -j ACCEPT

#################################################
# deny all
#################################################

iptables -A INPUT -j DROP

#################################################
# default policies
#################################################

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

#################################################
# save the new policy
#################################################

service iptables save

相关内容