我试图转发只有gmail的内部使用正向下降策略networking没有成功。 这台机器作为内部networking的路由器/防火墙工作。 我无法浏览到谷歌或Gmail。 DNS查找正在工作,我可以成功地从内部networking进行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命令。
你不能像这样使用string匹配。 基本上你的SYN数据包将被阻塞,因为它们没有“谷歌”string,因此无法通过string匹配器进行匹配。 您可以在Internet接口上运行tcpdump,您将看不到SYN数据包正在离开它。 另外一个问题是Google有时候会改变IP,使用IP也不是一个很好的解决scheme。 如果你需要每个URL过滤,Squid可能是一个选项。