解决内网无法用域名访问本地http服务,DD-WRT NAT回流(NAT loopback).

问题描述:

  • 路由器拨号上网
  • 路由器已设置DDNS, 且外网用户可通过域名访问内网机器上的http服务.
  • 内网用户无法用域名访问此http服务, 但可用内网IP访问.

分析问题:

造成内网无法用域名访问同一内网http服务的原因可能是路由器不支持 “NAT 回流”(NAT loopback) 或未打开此功能. 此问题大部分出现在使用刷了 dd-wrt 的路由器上, dd-wrt 官网明确不支持NAT回流.

解决方法:

在 dd-wrt 的命令中加输入以下内容, 保存为防火墙命令,并运行命令或重启路由. 之后便可用域名访问内网http服务了.

将上面例子中的 “192.168.0.188” 换成你的http服务器ip.

 

解决内网无法用域名访问本地http服务,DD-WRT NAT回流(NAT loopback).》上有8个想法

  1. 一级路由器 Wan1 公网IP ,Lan 192.168.50.1 DD-WRT
    映射 任何IP 端口85 192.168.50.254端口 85
    二级路由器 Wan 192.168.50.254 Lan 192.168.10.1 Tomato DualWAN(默认支持回流的)
    映射 任何IP 端口85 192.168.50.200端口 85
    Http服务器接在二级路由lan口 IP192.168.10.200:85
    一级路由加入命令:
    iptables -t nat -I POSTROUTING -o br0 -s 192.168.50.254/24 -d 192.168.50.254/24 -j MASQUERADE
    iptables -t nat -I POSTROUTING -o br0 -s 192.168.10.200/24 -d 192.168.10.200/24 -j MASQUERADE
    iptables -t nat -I POSTROUTING -o br0 -s 192.168.50.254/24 -d 192.168.10.200/24 -j MASQUERADE
    iptables -t nat -I POSTROUTING -o br0 -s 192.168.10.200/24 -d 192.168.50.254/24 -j MASQUERADE
    还是不支持回流啊

  2. 请问“192.168.0.188/24”中的24是代表HTTP服务所使用的端口吗?
    我的是 DD-WRT v24SP2-MULTI (10/31/11) std, 用上面的命令语句没有效果,求指教~

  3. 困扰我多星期的问题,终於给我找到答案,网上多的是说什麽关防火墙.端囗影射…..没有一个说得出来,跟来就不是那回事,无意中在网上找到这里.终於解决问题了.谢谢你.

回复 LiuYan 刘研 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

验证码