我有一个小型网络服务器在端口 80 上运行,我想只允许 Google 翻译访问它。
首先,我尝试运行dig translate.google.com
并dig translate.googleusercontent.com
获取它的 IP 地址,它返回的地址范围为74.125.234.74到74.125.234.110。
然后我打开了提到的端口,但它不起作用。查看 iptables 日志,我发现 Google 有非常不同的 IP 地址来打开目标网站进行翻译。在一些测试中,它们的范围包括74.125.186.40到74.125.187.169。
现在,到目前为止我得到的是以下规则,它为这个范围打开了大门:
-A INPUT -p tcp --dport 80 -m iprange --src-range 74.125.186.40-74.125.187.169 -j ACCEPT
问题:
- 每次 Google 尝试访问该页面时,它都会使用不同的 IP 地址,并且可能超出范围我之前提到过。我必须尝试很多次才能记下所有范围。
- 我也担心安全隐患,因为我不知道该范围内的所有 IP 是否都可以安全地保持开放(它们都属于 Google 吗?)
我尝试nslookup 74.125.186.40
查看是否可以获得它的域名,但它返回:
** server can't find 40.186.125.74.in-addr.arpa.: NXDOMAIN
答案1
你无法有效地做到这一点。在任何已知的时间长度内,您将无法依赖任何特定的 IP 块。
现在,有几种方法可以解决您的问题。
- 剪切并粘贴您需要翻译的内容到谷歌翻译中。
cat file | xclip -i
即使是相当长的文件,如果您有剪辑软件包已安装。 - 如果您使用的是相当稳定的 Web 服务器,请为其提供一个具有非常长且随机名称的目录。用于
mkdir $(dd if=/dev/random bs=21 count=1 | base64)
创建目录,使其具有真正随机的名称。确保您必须在 URL 中包含该目录名称。这将设置它,以便有人必须知道秘密才能获取任何文件。当然,您必须确保父目录无法通过 Web 服务器列出,否则找出“秘密”目录名称是很简单的。