我如何阻止除 22、80、443 之外的所有端口以及除本地主机之外的所有传入流量?

我如何阻止除 22、80、443 之外的所有端口以及除本地主机之外的所有传入流量?

我想要这种行为:

所有外部计算机只能绑定到我的服务器的端口 22(ssh)、80(http)和 443(https)。

但是所有本地主机应用程序都可以绑定到他们想要的任何端口。

我进行了搜索并得出了以下结论:

iptables -A INPUT -p tcp -m tcp -m multiport ! --dports 22,80,443 -j DROP

它满足了我的要求,但同时也阻止了所有本地主机应用程序。我应该在那里进行哪些更改才能使本地主机应用程序绑定到任何端口?

那么我怎样才能使该规则永久生效?

谢谢!

答案1

规则按顺序匹配。先创建一条允许 localhost 的规则,再创建一条拒绝的规则。

iptables -A 输入 -p tcp -s 本地主机 -m tcp -m 多端口 !--dports 22,80,443 -j 接受

iptables -A INPUT -p tcp -m tcp -m 多端口 !--dports 22,80,443 -j DROP

请阅读此处了解如何根据您的操作系统保存它们。 https://www.thomas-krenn.com/en/wiki/Saving_Iptables_Firewall_Rules_Permanently

相关内容