之前做过AI大模型搭建,想将搭建的访问能开放到外部局域网,方便其他人访问,需要一些网络设置,就在这个网络配置上踩了些坑。
想在最外局域网中访问,但是自己这边用了两级的路由,第一级是小米的无线路由,以及上一级让r2s软路由(OpenWrt系统)。
本来应该路由端口映射就行,小米的傻瓜路由配置下就通过了(3000端口映射到8089),结果r2s上的openwrt上配置端口映射怎么弄都不行,不知道是自己菜没配置对,还是openwrt本身的菜单设置缺陷,外部始终无法打通。
后面找了别的方法才解决,主要是需要在openwrt上通过终端命令配置端口映射:
iptables -t nat -A PREROUTING -p tcp --dport 8089 -j DNAT --to-destination 192.168.11.3:8089
iptables -t nat -A POSTROUTING -p tcp -d 192.168.11.3 --dport 8089 -j MASQUERADE
永久生效
echo "iptables -t nat -A PREROUTING -p tcp --dport 8089 -j DNAT --to-destination 192.168.11.3:8089" >> /etc/firewall.user
echo "iptables -t nat -A POSTROUTING -p tcp -d 192.168.11.3 --dport 8089 -j MASQUERADE" >> /etc/firewall.user
命令分别用于将进入的流量重定向到内部IP地址,并确保从内部地址返回的流量被正确处理。
做下笔记,方便后续使用,以及供大家参考。