OPNsense升级后无法从WAN访问Web服务器(端口转发失效)
OPNsense升级后无法从WAN访问Web服务器(端口转发失效)
兄弟我太懂这种升级翻车+忘备份的酸爽了!别慌,咱们一步步排查,毕竟你之前的配置是正常的,大概率是重置默认设置后漏掉了某个关键配置项。
先从端口转发规则本身查起
- 先去「防火墙>NAT>端口转发」确认你的规则细节:
- 接口是不是选的WAN,协议是不是TCP,源地址是
*(任意),目标地址是你的WAN公网地址,目标端口是80,443; - 转发的目标IP必须是Nginx Proxy Manager(以下简称NPM)的LAN静态IP,目标端口要和NPM实际监听的80/443对应(别填错成其他端口);
- 一定要确认规则的「启用」复选框是勾上的,重置后有时候会默认禁用或者恢复规则时漏选。
- 接口是不是选的WAN,协议是不是TCP,源地址是
检查WAN接口的防火墙规则
重置默认设置后,OPNsense的WAN接口默认是拒绝所有入站流量的,哪怕你配置了端口转发,也得有对应的防火墙规则允许流量进来:
- 去「防火墙>规则>WAN」,看看有没有一条规则允许TCP 80/443从任意源到你的WAN地址(或者直接到NPM的LAN IP);
- 如果没有,赶紧新建一条:接口选WAN,协议TCP,源地址
*,目标地址选「WAN地址」,目标端口填80,443,动作选「允许」,优先级设得比默认拒绝规则高。
确认NPM和后端服务的状态
虽然你说没改NPM,但还是要排除这边的问题:
- 登录NPM后台,检查每个代理主机的监听设置是不是
0.0.0.0:80和0.0.0.0:443(或者至少监听NPM所在机器的LAN IP端口),确保不是只监听了127.0.0.1; - 去NPM所在的机器上,用命令
netstat -tulnp | grep nginx(Linux系统)确认nginx进程确实在监听80和443端口; - 检查NPM机器的本地防火墙(比如ufw、iptables),有没有阻止来自OPNsense LAN IP的80/443流量(重置后OPNsense的LAN IP会不会变了?比如之前是192.168.1.1,现在变成192.168.0.1,导致NPM的防火墙规则没放行新的网关IP)。
排查OPNsense的其他关键设置
- 检查WAN接口的「阻止私有网络」选项:去「接口>WAN」,看看这个选项是不是勾上了。如果你的WAN是运营商给的私有IP(比如10.x.x.x),勾上这个会阻止流量;如果是公网IP,这个选项没问题,但可以临时取消试试;
- 测试流量走向:在OPNsense上用抓包命令确认流量是否到达:
- 抓WAN接口的流量:
tcpdump -i wan port 80 or port 443,从外网访问你的80/443端口,看看有没有数据包进来; - 如果WAN有流量,再抓LAN接口的流量:
tcpdump -i lan host <NPM的LAN IP> port 80 or port 443,看看OPNsense有没有把流量转发到NPM; - 如果WAN没流量,可能是运营商封了80/443端口,但你之前正常,这个概率低,可以用其他端口(比如8080)测试转发是否正常。
- 抓WAN接口的流量:
最后确认网关和子网
重置后OPNsense的LAN子网会不会变了?比如之前是192.168.1.0/24,现在变成192.168.0.0/24?如果是这样,NPM机器的网关和DNS设置可能还是旧的,导致流量无法正常回传。去NPM机器的网络设置里,确认网关是现在OPNsense的LAN IP,子网掩码也对应新的子网。
备注:内容来源于stack exchange,提问作者cyberneko2020




