家宽有公网 IP ,于是在内网 Linux 机器上部署了一个 vaultwarden 并且也在路由器上做了端口转发,但是有一个问题无法在家里通过公网 IP + 端口的形式访问 vaultwarden ,只能通过内网 IP 直接访问。
不知道是哪里配置出了问题,在外部的话是可以正常通过公网 IP + 端口的形式访问的。
1
stcQ2G13k9yxep40 2023-05-11 21:10:40 +08:00 via iPhone
老问题了,需要做域内 NAT ,把源数据 IP 转换为公网其他 IP 即可,不然数据包来回兜圈子,无法路由到你的主机。有些防火墙或路由器是默认配置了域内 NAT ,不然就需要手动来做了。
|
2
AS4694lAS4808 2023-05-11 21:13:32 +08:00 via Android
找找 NAT 回环 选项
|
3
flynaj 2023-05-11 23:10:39 +08:00 via Android
路由器要支持环回才行。
|
4
lilogo OP 是 NAT 回环的问题,问题清楚其实也好解决,我这边使用的是 MikroTik 的 RouterOS 7 ,在网上试了好几种方法都不生效,以下方法是可以正常工作的:
``` /ip firewall nat add chain=dstnat dst-address-type=local protocol=tcp dst-port=8182 action=dst-nat to-addresses=192.168.2.88 to-ports=48182 /ip firewall nat add chain=srcnat src-address=192.168.2.0/24 dst-address=192.168.2.88 protocol=tcp dst-port=8182 out-interface-list=LAN action=masquerade ``` 其中 192.168.2.0 是本地 LAN 网段, 192.168.2.88:48182 是内网服务, 现在外网可以正常访问并且内网也可以通过域名和公网 IP 的形式访问了。 |
6
lilogo OP 更新,最后 NAT 回环规则应该只需要下面这一条就可以, 这样就不用每个端口都配置一条了:
/ip firewall nat add chain=srcnat src-address=192.168.2.0/24 dst-address=192.168.2.0/24 protocol=tcp out-interface-list=LAN action=masquerade comment="Hairpin-NAT" |