我在服务器上设置了 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