仅允许来自 Google 翻译的传入连接

仅允许来自 Google 翻译的传入连接

我有一个小型网络服务器在端口 80 上运行,我想只允许 Google 翻译访问它。

首先,我尝试运行dig translate.google.comdig translate.googleusercontent.com获取它的 IP 地址,它返回的地址范围为74.125.234.7474.125.234.110

然后我打开了提到的端口,但它不起作用。查看 iptables 日志,我发现 Google 有非常不同的 IP 地址来打开目标网站进行翻译。在一些测试中,它们的范围包括74.125.186.4074.125.187.169

现在,到目前为止我得到的是以下规则,它为这个范围打开了大门:

-A INPUT -p tcp --dport 80 -m iprange --src-range 74.125.186.40-74.125.187.169 -j ACCEPT

问题:

  1. 每次 Google 尝试访问该页面时,它都会使用不同的 IP 地址,并且可能超出范围我之前提到过。我必须尝试很多次才能记下所有范围。
  2. 我也担心安全隐患,因为我不知道该范围内的所有 IP 是否都可以安全地保持开放(它们都属于 Google 吗?)

我尝试nslookup 74.125.186.40查看是否可以获得它的域名,但它返回:

** server can't find 40.186.125.74.in-addr.arpa.: NXDOMAIN

答案1

你无法有效地做到这一点。在任何已知的时间长度内,您将无法依赖任何特定的 IP 块。

现在,有几种方法可以解决您的问题。

  1. 剪切并粘贴您需要翻译的内容到谷歌翻译中。cat file | xclip -i即使是相当长的文件,如果您有剪辑软件包已安装。
  2. 如果您使用的是相当稳定的 Web 服务器,请为其提供一个具有非常长且随机名称的目录。用于mkdir $(dd if=/dev/random bs=21 count=1 | base64)创建目录,使其具有真正随机的名称。确保您必须在 URL 中包含该目录名称。这将设置它,以便有人必须知道秘密才能获取任何文件。当然,您必须确保父目录无法通过 Web 服务器列出,否则找出“秘密”目录名称是很简单的。

相关内容