iptables 停止访问网站

iptables 停止访问网站

我在服务器上设置了 iptables,只允许白名单中的 IP 访问它:

:INPUT ACCEPT [1695:323274]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [987:756890]
:xxx - [0:0]

-A INPUT -s 12.34.56.78/32 -j ACCEPT
-A INPUT -s 98.76.54.32/32 -j ACCEPT
-A INPUT -j DROP

这样做是因为它允许 12.34.56.78 和 98.76.54.32(显然是示例 IP)访问服务器。但是,服务器本身无法访问互联网。例如,我无法使用 lynx 浏览器访问谷歌。

我不介意这种行为,但我需要服务器能够与一些网站进行通信,特别是更新网站。

我可以添加哪些规则来允许我的服务器与白名单服务器通信?

答案1

-A INPUT -j DROP正在丢弃所有传入流量,包括您示例中来自 google 的回复。

将该规则更改为,-A INPUT -p tcp --dport 80 -j DROP以便它阻止到达您的 Web 服务器的传入请求(您可能需要添加 https 端口 443 和其他您不想公开的服务),同时允许您接收从服务器发起的连接返回的流量。

另一个选择是允许与iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT

相关内容