我尝试在 dnsmasq 的网络级别强制使用 google safesearch。以下语句强制任何对 google.com 的 dns 查询重定向到指定的 safesearch ip 地址。
address=/google.com/216.239.38.120
效果很好。任何时候,任何人通过浏览器或手机进行谷歌搜索时,都会选择安全搜索选项。
但是,这是一个很大的但是,当启用此功能时,所有需要通过此网关的 Android 推送通知都会失败。
我不得不推测,通过端口 5228、5229 和 5230 发送到大量 IP 地址的推送通知必须通过 DNS 查找 google.com 以找到最合适的 IP,而谷歌显然不会监听 safesearch IP 上的推送通知消息。这是真的吗?
我的变通计划是重新路由用于推送通知的特定端口,这些端口将发送到 216.239.38.120,以便它们转到实际的非安全搜索 Google IP,目前,从我的网络来看,该 IP 是 172.217.11.238。这将是一条 iptables 规则,我将使用 shorewall 实现它。
有没有更好的方法来满足在网络层面启用安全搜索和维护推送通知功能的要求?
答案1
找到了解决方案:
address=/www.google.com/216.239.38.120
显然,我只需要重定向www
子域名即可强制安全搜索,而不是所有子域名。另外,请注意,在 dnsmasq.conf 中还有另一种方法可以实现此目的,它似乎更接近 Google 推荐的方法:
host-record=forcesafesearch.google.com,216.239.38.120
cname=www.google.com,forcesafesearch.google.com
另外,请注意,有很多国际域名也需要重定向,但由于方法和疯狂与标准域名相同,我觉得这些对于我的问题来说是不必要的细节。
参考:
DnsMasq 和推送通知
家长控制 - 在 OpenWRT 上强制使用 DnsMasq 的 Google SafeSearch 和 Youtube Kids 模式