我想将所有端口 80 流量(无论域名是什么)重定向到特定的外部网站。因此,如果用户输入“www.google.com”或其他任何内容,它会将其发送到“www.mysite.com”。如果除了主机/域名之外,它还适用于 IP 地址(因此是 iptables),那就更好了。
我尝试过 dnsmasq.conf 中的“地址”设置以及使用 IPTABLES,但无济于事。操作系统是 Raspbian Buster Lite。
这是我的 dnsmasq.conf 文件:
domain-needed
interface=wlan0
dhcp-range=10.3.141.50,10.3.141.255,255.255.255.0,1h
address=/#/10.3.141.1
except-interface=lo
except-interface=eth0
答案1
iptables
无法重定向到网站,因为它不使用这样的 URL。您混淆了 OSI 堆栈中的第 3 层流量和第 7 层流量。
看这个帖子了解为什么这不起作用的详细信息(并查看已经问过这个问题的其他人)。
您无法使用 iptables 执行此操作。您混淆了网络堆栈中的层:IP 是 OSI 模型中的第 3 层,HTTP 是第 7 层。请参阅 http://en.wikipedia.org/wiki/OSI_model
如果您想重定向 URL 请求,您可以将 Apache 与 mod_proxy 一起使用。