我的公寓楼提供 wifi。但是他们有一个愚蠢的服务条款窗口,你必须接受才能访问。我编写了一个脚本,可以自动发布到该服务条款窗口并授予访问权限。我的问题是我无法连接我的 Apple TV,因为它没有网络浏览器来接受服务条款。
所以我拿了一个 Raspberry Pi 并将其做成了 NAT 路由器。我将 PI 的 wifi 连接到公寓 wifi。我设置了一个 cron 任务来运行我的脚本,以发布到公寓路由器以保持服务条款有效。一切都很顺利,直到我将 AirPort 连接到以太网。我的计划是使用 Raspberry Pi 作为路由器,AirPort 作为辅助路由器(私人 wifi 网络)来创建我自己的 WiFi 网络。
因此或多或少存在双重 NAT。公寓路由器正在执行 NAT。AirPort 正在使用 NAT。
使用大约一分钟后,一切都关闭了。我认为公寓路由器阻止了我们。公寓路由器不会将数据包路由到网络。它不会从 DHCP 给我 IP。公寓路由器是 WatchGuard 产品。
公寓路由器是否可能检测到私人网络(AirPort)并阻止我的访问。我假设他们是通过正在进行的双重 NAT 来检测的。有什么方法可以欺骗路由器不检测 AirPort 并让这一切正常工作?
谢谢。
~斯派塞
答案1
如果您的 Raspberry Pi 正在执行 NAT,那么您不需要让 AirPort 基站执行 NAT。禁用 AirPort 基站上的 NAT;在“网络”选项卡上,将其“路由器模式”设置为“关闭(桥接模式)”。
答案2
关于使用代理:
是的,我认为代理无法与 Apple TV 配合使用也...但是...有可能的。
对于iptables
命令...您可能想尝试:
iptables -t mangle -A POSTROUTING -o <wifi> -j TTL --ttl-set 128
(<wifi>
您的传出 WiFi 接口在哪里。)
POSTROUTING
用于出站流量。(PREROUTING
仅适用于入站流量)
这背后的原因是,您希望来自 Raspberry PI 本身的流量也设置为 127。如果您这样做,ping 127.0.0.1
您可能会看到它可以设置为 64。
如果你将网络流量设置为 127,并且 Raspberry PI 在一段时间后也使用了一些流量(TTL 为 64),你就会被抓住 :)(也许这就是它需要一个小时的原因)
我还没有研究过强制降低端口(和其他技术)。
TTL 技巧每次还能起作用整整一个小时吗?
无论哪种方式,我都会遵循 Spiff 的指示,将机场设置(并保留)为桥梁。(无论如何都不需要双 NAT)