从广域网访问路由器上的NGINX

从广域网访问路由器上的NGINX,nginx,server,router,wan,Nginx,Server,Router,Wan,我正在用Shibby FW的番茄配置我的家用路由器ASUS N18U。我想在上面设置一个家庭网络服务器NGINX。我知道,这并不理想。我唯一的问题是无法从Wan访问服务器。此外,我还有动态IP,我已经用DDNS服务解决了这个问题。如果我想访问路由器或SFTP的配置页面,或者当我键入myddnsdomain并且我在LAN内时,它可以正常工作。我在调制解调器(ISP)上打开了端口80,并将下面的代码添加到路由器(ASUS N18U)配置中,我不能在管理菜单中直接端口转发,因为它只允许转发到lan(我

我正在用Shibby FW的番茄配置我的家用路由器ASUS N18U。我想在上面设置一个家庭网络服务器NGINX。我知道,这并不理想。我唯一的问题是无法从Wan访问服务器。此外,我还有动态IP,我已经用DDNS服务解决了这个问题。如果我想访问路由器或SFTP的配置页面,或者当我键入myddnsdomain并且我在LAN内时,它可以正常工作。我在调制解调器(ISP)上打开了端口80,并将下面的代码添加到路由器(ASUS N18U)配置中,我不能在管理菜单中直接端口转发,因为它只允许转发到lan(我的web服务器在“路由器”上)

iptables-A输入-p tcp--dport80-j接受

iptables-I输入-p tcp--dport 80-j接受

iptables-t filter-A INPUT-ptcp-dport80-j ACCEPT

这些都没有解决我的问题。我还尝试了不同的端口。我跟踪了它,似乎路由器阻止了它。通过Wan IP访问我的服务器没有帮助。文件夹“www”不归任何人所有。谢谢你的帮助

#NGinX生成的配置文件
用户无人;
工人1;
工人(cpu)亲和力0101 ;;
主程序关闭;
工人优先权10;
error\u log/tmp/var/log/nginx/error.log;
pid/tmp/var/run/nginx.pid;
工人档案8192;
事件{
工人联合会;
}
http{
包括/tmp/etc/nginx/mime.types;
包括/tmp/etc/nginx/fastcgi.conf;
默认_类型应用程序/八位字节流;
日志格式主“$remote\u addr-$remote\u user[$time\u local]$status”
“$request”$body\u bytes\u sent“$http\u referer”
“$http_user_agent”“$http_x_forwarded_for””;
发送文件到;
客户最大身体尺寸为100M;
服务器{
听80;
服务器名称mydynamicdomain.net;
access_log/tmp/var/log/nginx/access.log main;
地点/{
root/tmp/mnt/CORSAIR/www;
index.html index.htm index.php;
错误\u第404/404.html页;
错误\u第500页502 503 504/50x.html;
location/50x.html{

root/tmp/mnt/CORSAIR/www;
我今天的番茄酱路由器也有同样的问题。在端口85上运行可以接受来自内部lan的连接,但不接受来自WAN的连接,所以我只需将端口85转发到10.0.0.1(我路由器的lan地址),它就工作了

解决

这个例子将帮助您,因为我已经用下面的iptable规则实现了这一点

动态值: (根据您的环境值进行更改)

广域网接口:
vlan10
局域网接口:
br0

局域网Web服务器IP:
192.168.1.1
局域网Web服务器端口:
8080

路由器广域网IP:
192.168.10.129
路由器局域网IP
192.168.1.254

使用上述值插入以下规则:

1.端口转发规则

iptables -I FORWARD 1 -i vlan10 -p tcp -d 192.168.1.1 --dport 8080 -j ACCEPT    
iptables -A PREROUTING -t nat -i vlan10 -p tcp --dport 8080 -j DNAT --to 192.168.1.1
iptables -t nat -A PREROUTING -i br0 -s 192.168.1.0/24 -d 192.168.10.129/32 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.1.1
iptables -t nat -A POSTROUTING -o br0 -s 192.168.1.0/24 -d 192.168.1.1/32 -p tcp -m tcp --dport 8080 -j SNAT --to-source 192.168.1.254
2.NAT环回规则

iptables -I FORWARD 1 -i vlan10 -p tcp -d 192.168.1.1 --dport 8080 -j ACCEPT    
iptables -A PREROUTING -t nat -i vlan10 -p tcp --dport 8080 -j DNAT --to 192.168.1.1
iptables -t nat -A PREROUTING -i br0 -s 192.168.1.0/24 -d 192.168.10.129/32 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.1.1
iptables -t nat -A POSTROUTING -o br0 -s 192.168.1.0/24 -d 192.168.1.1/32 -p tcp -m tcp --dport 8080 -j SNAT --to-source 192.168.1.254

我在尝试从WAN连接时遇到了相同的问题。端口转发到路由器的IP没有帮助。将此添加到
管理>脚本>防火墙中,然后重新启动解决了我的问题:

iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT