it-swarm.cn

除IP地址外,iptables的阻止访问端口8000

我从来没有使用iptables,在线文档似乎有点不透明。

我想阻止我的服务器上的所有端口8000请求,除了那些来自特定IP地址的请求。我如何使用iptables做到这一点?

72
will

这个问题应该在 服务器故障 。不过,假设您正在讨论TCP并且您要允许的IP是1.2.3.4,则以下应该可以解决问题:

iptables -A INPUT -p tcp --dport 8000 -s 1.2.3.4 -j ACCEPT
iptables -A INPUT -p tcp --dport 8000 -j DROP
129
Jon Bright

另一种选择是;

Sudo iptables -A INPUT -p tcp --dport 8000 -s ! 1.2.3.4 -j DROP

我有类似的问题,3桥接虚拟机只需要使用不同的组合访问彼此,所以我测试了这个命令,它运作良好。

编辑**

根据Fernando的评论,这个 link 感叹号(!)将放在-s参数之前:

Sudo iptables -A INPUT -p tcp --dport 8000 ! -s 1.2.3.4 -j DROP
17
HRgiger

您始终可以使用iptables删除规则。如果您有很多规则,只需使用以下命令输出它们。

iptables-save > myfile

vi从命令行编辑它们。只需使用“dd”删除不再需要的行。

iptables-load < myfile and you're good to go.  

请记住,如果您没有配置您的操作系统以保存文件的规则,那么在您的规则将丢失的情况下加载文件。

4
RecentCoin