虎泰克博客

使用OpenVPN + Nginx进行内网穿透访问家里的NAS和路由器等内网网站


本来最开始是用花生壳内网穿透,但是内网映射只能有两条而且月限流1GB,明显不够用,于是思考解决方案,正好有一台公网服务器闲着,就拿来用咯。你需要的东西: 一台公网IP服务器、群晖NAS服务器(网段10.10.10.0/24,NAS ip为10.10.10.10) 一、 首先参考https://blog.whutech.com/article/72.html 在公网服务器上搭建OpenVPN服务器(网段10.12.10.0/24)。

本来最开始是用花生壳内网穿透,但是内网映射只能有两条而且月限流1GB,明显不够用,于是思考解决方案,正好有一台公网服务器闲着,就拿来用咯。

虎kz泰us克_新lc闻ask网z版权所有,请勿未授权转载!!!


虎t泰qs克grpn新od闻ds网sgsq版权所有,请勿未授权转载!!!

你需要的东西:

虎iyvws泰p克rofu新yyvj闻bqcmy网ctrjh版权所有,请勿未授权转载!!!

一台公网IP服务器、群晖NAS服务器(网段10.10.10.0/24,NAS ip为10.10.10.10)

虎cae泰tqbhp克dc新t闻zcqpe网jzz版权所有,请勿未授权转载!!!


虎wj泰p克oc_c新oweh_闻bec网tevx版权所有,请勿未授权转载!!!

一、

虎l泰cfpr克du新ck闻w网oyb版权所有,请勿未授权转载!!!

首先参考https://blog.whutech.com/article/72.html 在公网服务器上搭建OpenVPN服务器(网段10.12.10.0/24)。

虎f泰ho克o新ryao闻qu网dgw版权所有,请勿未授权转载!!!


虎fumt泰pc_克xnwlx新bf闻_pycr网yrnz版权所有,请勿未授权转载!!!

二、

虎k泰nlnm克qc新sdhhz闻v网frh版权所有,请勿未授权转载!!!

在群晖内安装Virtual Mechine Manager,安装一台centos 7服务器,为了节省资源可以minimal安装。

虎jbhg泰f克uyjq新ls闻dqbnu网n版权所有,请勿未授权转载!!!

安装完毕后给centos安装openvpn客户端,

yum install -y openvpn

将openvpn配置上传到centos服务器内使用如下指令启动客户端

openvpn --config **.ovpn

启动完毕后使用ifconfig 可以查看连接openvpn后的ip,例如:10.12.10.6

虎rxk泰hagfr克ienp新uhxyt闻ehvwh网zlfng版权所有,请勿未授权转载!!!

由于我是NAS

虎au泰k克y新mkqx闻_a网fge版权所有,请勿未授权转载!!!

三、

虎jxlod泰v克w_ut新go闻kf网lzmzm版权所有,请勿未授权转载!!!

在公网服务器宝塔添加静态网站(用于访问centos7)然后在反向代理处配置代理访问10.12.10.6,这样centos7

location ^~ /
{
    proxy_pass http://10.12.10.6:81;
    proxy_set_header Host 10.12.10.6;
    proxy_read_timeout 600;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
}


虎zveb泰g克w新nlkq闻ebd网f版权所有,请勿未授权转载!!!

四、

虎ca泰omre克oqjqg新ov闻ruua网ighm版权所有,请勿未授权转载!!!

在宝塔安装完nginx后添加静态网站(用于访问内网),然后在反向代理处配置代理访问10.10.10.10

location ^~ /
{
    proxy_http_version 1.1;
    proxy_pass http://10.10.10.10:5000;
    proxy_read_timeout 600;
    proxy_set_header Host 10.10.10.10;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    # proxy_hide_header Upgrade;
}

这样NAS

虎cfr泰g克lppdt新gek闻ctqim网kd版权所有,请勿未授权转载!!!

五、

虎ahkq泰or克orzsr新wpq闻wnbi网er版权所有,请勿未授权转载!!!

由于openvpn设置,导致centos除了10.10.10.0/24网段走内网外,其他请求都走openvpn,会占用服务器大量带宽,因此可以在ovpn内设置如下:

route-nopull  #所有流量都不走VPN
route 10.12.10.0 255.255.255.0 vpn_gateway #10.12.10.0/24网段才走openvpn

六、

虎u泰fiq克mj新xl闻qetz网v版权所有,请勿未授权转载!!!

最后效果如下:

虎t泰vdly克dfxm新y闻omzp网tx_yy版权所有,请勿未授权转载!!!

image.png

虎tba泰bc克pgx新vrnal闻s网f版权所有,请勿未授权转载!!!

微信图片_20221022150511.png

虎xx泰sy克vtv新nilbg闻qw网admm版权所有,请勿未授权转载!!!


虎dda泰i克z新bqf闻v网ldb版权所有,请勿未授权转载!!!

--update:

虎a_eon泰tvqv克hyh新t闻x网z版权所有,请勿未授权转载!!!

我真的会谢,原来群晖可以通过ssh使用ipkg指令直接安装openvpn客户端,我还需要虚拟机的centos作甚。。。ref:群晖入门到进阶系列(八):为群晖配置ipkg软件包管理 - 知乎 (zhihu.com)



Statement: all articles / drawings reproduced on this website are for the purpose of transmitting more information and facilitating discussion, which does not mean that the website, the host and the organizer agree with their opinions or confirm the authenticity of their contents. The contents of the articles are for reference only. If the rights of the original author are violated, please contact the website administrator.

Sign in to comment

Comment list

    No data