如何使用 IPTABLES 删除 IP 上的所有网络输入

如何使用 IPTABLES 删除 IP 上的所有网络输入

使用 IPTABLES,是否可以根据主机或请求的 IP 删除所有网络输入?

我希望我的服务器拒绝所有传入传输,如果它的 IP 被调用 EG:

好处是它只根据 /etc/hosts 接受其 IP……

我知道 HTTP 和 HTTPS 可以使用如下规则:

iptables -I INPUT -p tcp --dport 80 -m string --to 700 --algo bm --string 'Host: 192.168.0.10' -j DROP
iptables -I INPUT -p tcp --dport 443 -m string --to 700 --algo bm --string 'Host: 192.168.0.10' -j DROP

我确信其他协议也可以实现,但目前我还不知道如何实现……

在此先感谢您的帮助。

答案1

这是不可能的iptablesiptables是网络层工具。

对于 SSH,解析是在客户端进行的,因此您的服务器根本不知道客户端是否输入了 IP 或 DNS 名称。

HTTP 请求包含“Host:”标头,因此可以使用 Web 服务器软件进行建议的过滤。

相关内容