如何在路由器中使用 iptables 重定向网站?

如何在路由器中使用 iptables 重定向网站?

我有两台设备:一台路由器和一台局域网内的电脑。路由器ip是192.168.1.1 电脑是192.168.1.10。我想实现这个:当我在浏览器栏中输入 www.geolgle.com 时,它可以重定向到 www.facebook.com

当我在路由器中使用此命令时:

#iptables -t nat -A PREROUTING -p tcp --dport 80  -d 158.69.143.114 -j DNAT --to-destination 67.228.126.62
#iptables -t nat -A PREROUTING -p tcp --dport 443  -d 158.69.143.114 -j DNAT --to-destination 67.228.126.62

但是它只能重定向 158.69.143.114。当我在浏览器栏中输入 158.69.143.114 时,它可以工作。输入 www.geolgle.com,它不工作。

请让我知道为什么会发生以及应该做什么

答案1

您需要通过主机名而不是 IP 地址进行重定向,因此iptables对于这项工作来说这是错误的工具。

使用网络代理,例如乌贼,能够将客户端机器请求的 URL 重定向到另一个目的地。

您可以编写自己的重定向器(对于一个简单的重定向器脚本来说,六行左右的 awk 或 perl 就足够了),或者您可以使用几个现有的重定向器之一(大多数都带有阻止广告、间谍软件和其他恶意软件的规则)和/或审查规则,以执行工作场所和学校可接受的使用政策),并用您自己的规则添加或替换它们的规则。

Squid 已针对大多数(如果不是全部)Linux 发行版进行了预打包。以及一些众所周知的重定向器(例如鱿鱼卫士杰斯雷德)也可以作为软件包提供。

注意:如果您的路由器不是能够运行squid 的unix/linux 机器,那么您必须在另一台机器上运行squid。此外,来自代理以外的计算机的 Web 流量应该在路由器上被阻止、转代理或重定向到本地(内部网络)网页,该网页记录了如何在各种浏览器中设置代理。

答案2

$ nslookup www.geolgle.com
Server:         10.220.231.10
Address:        10.220.231.10#53

Non-authoritative answer:
Name:   www.geolgle.com
Address: 103.224.212.222

也许您应该使用正确的 IP 地址?

相关内容