背景

前段时间通过客服拿到了联通的公网 IP, 因此也申请了域名并做了解析, 也顺利应当地在路由器上做了端口映射, 从而可以在外网可以直接通过域名加端口的形式访问内网的服务. 但也有一个问题就是当处于内网环境时通过域名反而无法访问同一内网下的服务, 必须使用内网 IP 才行.

其实这个问题很明显, 就是网络报文在通过路由器时路由器将报文转发给了内网服务器, 但是内网服务器在回报文的时候直接按内网地址回包了. 这个问题由来已久, 也即 NAT 回环问题. 以下我们将通过脚本的形式在 RouterOS 上添加 NAT 规则来解决这个 NAT 回环问题.

具体环境为光猫配置了桥接后通过 MikroTik RB750Gr3 进行拨号, 同时 RB750Gr3 运行的 RouterOS 版本为 7.7, 并且内网网段为 192.168.2.0/24.