因为我使用openwrt拨号上网,然后下面还有一个二级路由

造成的结果是,如果我要访问NAS里面的东西,必须要通过反代

而且是做了两层的端口映射。因为网段都不一样。

用了反代之后导致很多软件访问出现问题,可能是因为我映射了两次端口的原因

之前只映射一次,同网段的话没有出现过问题

所以这次教程就是解决不同网段的。

这里踩了一个大坑,我openwrt是编译了nginx的,直接使用nginx作为web server的

看看以下这段代码

server {
    listen XXXX ssl;
    server_name yourdomain.com;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
#    location / {
#        proxy_redirect off;
#        proxy_set_header Host $host;
#        proxy_set_header X-Real-IP $remote_addr;
#        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#        proxy_pass https://192.168.2.2:5001;
#    }
}

这个坑就是,不要用nginx的反代。直接映射端口就可以了。

OP端口映射到二级路由的端口,然后登陆二级路由映射到NAS所在的内网IP的端口号。

比如

一级路由的网段是192.168.10.1

二级路由的网段是192.168.20.1

那么先在OP里面的端口映射里面设置

外部端口2222映射到192.168.10.2(这里就是分配给二级路由的IP)的2222端口

然后在二级路由里面设置

来源IP记得选192.168.10.2

外部端口2222到192.168.20.2(这里分配到NAS的IP)的端口

到这里就解决了。

enjoy!

Last modification:June 24th, 2022 at 04:39 pm
如果觉得我的文章对你有用,请随意赞赏