我在 OpenWRT 上创建了 3 个不同的网络接口。WAN 用于互联网,LAN 用于我的个人网络,MANAGEMENT 用于我的托管服务器。这两个网络是分开的。分开的 DCHP、DNS 等。只是两个完全独立的网络...
所以我想要做的是设置 OpenWRT,这样当我通过 LAN 网络访问 myservers.com 时,它会环回我的外部 IP,并基本上为我提供管理网络所托管的服务。
我怎样才能做到这一点?
答案1
这里不需要“发夹式”——只有当请求需要通过 NAT 转回时才需要相同的子网。大多数用户都是这种情况,因为他们本来就只有一个子网,但不是这里的情况是——您要从 LAN 转到 MGMT,因此网络拓扑已经确保路由器位于中间,因此发夹弯是无关紧要的;您需要做的就是调整当前 DNAT(端口转发)规则上的接口限制。
但请注意,如果你转发端口 80,你将无法访问同样位于端口 80 上的 OpenWRT Web UI - NAT 基于 IP 地址和 TCP 端口;它不知道领域您尝试访问,因此如果您将路由器的端口 80 DNAT 到托管服务器,则无论域是什么,您都会 DNAT 端口 80。例如,如果您访问http://192.168.1.1
,它也将以相同的方式 DNAT 到服务器http://myserver.com
。
更好的想法可能是配置 OpenWRT 的 dnsmasq 来覆盖myserver.com
解析的 IP 地址(即使用“拆分 DNS”),以便在您的 LAN 内部它直接解析为托管服务器的 IP,而不是像往常一样解析为路由器的 IP。
因此,考虑到这一点,唯一的改变是使端口转发从 LAN 工作应该在端口转发规则中选择正确的“外部区域”;即在当前 WAN 转发规则旁边添加第二条带有“外部区域:LAN”的转发规则。