iptables 仅转发 gmail 和 google

iptables 仅转发 gmail 和 google

我尝试使用转发丢弃策略网络仅转发 Gmail 到内部网络,但没有成功。此机器用作内部网络的路由器/防火墙。我无法浏览 Google 或 Gmail。DNS 查找正在运行,我可以成功地从内部网络进行 DNS 查找。

我的 iptables 策略

INPUT ACCEPT
OUTPUT ACCEPT
FORWARD DROP

规则

FORWARD -m string --string "google" --algo bm --to 6745 -j ACCEPT
FORWARD -m string --string "gstatic" --algo bm --to 6745 -j ACCEPT
FORWARD -m string --string "googleusercontent" --algo bm --to 6745 -j ACCEPT

FORWARD -p tcp -m tcp -m state --state RELATED,ESTABLISHED -j ACCEPT

#DNS Lookup and ICMP
FORWARD -p udp -m udp --dport 53 -j ACCEPT
FORWARD -p udp -m udp --sport 53 -j ACCEPT
FORWARD -p icmp -j ACCEPT

任何帮助是极大的赞赏。

注意:我只是发布规则和策略,而不是实际使用的 iptable 命令。

答案1

您不能使用这样的字符串匹配。基本上,您的 SYN 数据包将被阻止,因为它们中没有“google”字符串,因此无法通过字符串匹配器进行匹配。您可以在 Internet 接口上运行 tcpdump,您将看到没有 SYN 数据包离开它。另一个问题是,Google 有时会更改 IP,而使用 IP 也不是一个优雅的解决方案。如果您需要按 URL 进行过滤,Squid 可能是一个选择。

相关内容