目的
工作环境为内网环境,离开公司后无法访问内部资源,特部署一套穿透工具,提高外地办公时的工作效率。
拓扑图
openvpn安装( windows系统)
openvpn是开源VPN软件,只需要简单的配置,就可以在企业搭建安全虚拟网络中使用,满足日常远程办公的需求。本篇文档为在windows服务器安装搭建openvpn记录,仅供参考
一、openvpn软件下载
安装包可以在github下载,或者去官网下载:
Community Downloads - Open Source VPN | OpenVPN
The OpenVPN community shares the open source OpenVPN. Download the latest version of the open source VPN release OpenVPN 2.6.3 for a secure network.
二、服务端安装
openvpn软件服务端和客户端都是同一个安装包,本次使用的openvpn安装包为2.5.6版本。
1.安装的时候要选择Customize, 勾选openvpn service和EasyRSA3 安装,用于服务端配置和证书生
2.安装完成后软件默认位置C:\Program Files\OpenVPN目录
三、证书生成
上一步我们已经安装了证书生成工具EasyRSA3,使用此工具即可生成所需证书。
1.进入EasyRSA shell 环境dos窗口
进入C:\Program Files\OpenVPN\easy-rsa目录,双击EasyRSA-Start.bat
进入EasyRSA shell 环境dos窗口中;
2.初始化证书生成程序
弹出的dos窗口中输入./easyrsa init-pki
初始化证书生成程序,初始化成功后会在C:\Program Files\OpenVPN\easy-rsa目录下新建文件夹kpi,如下图示:
3.生成ca证书
在dos窗口中输入./easyrsa build-ca nopass
生成无密码CA证书,生成过程中会要求输入证书名称,随意输入即可,本次使用Open_CA作为名称,生成结束后会打印出证书所在目录easy-rsa\pki\ca.crt;
4.生成服务端证书
输入./easyrsa build-server-full server nopass
生成无密码服务端证书,生成后证书文件在C:\Program Files\OpenVPN\easy-rsa\pki\issued文件夹
5.生成客户端证书
输入./easyrsa build-client-full client nopass
生成无密码客户端证书,生成后证书在C:\Program Files\OpenVPN\easy-rsa\pki\issued文件夹
6.生成DH密钥交换协议
输入./easyrsa gen-dh
生成DH密钥交换协议文件,生成文件在C:\Program Files\OpenVPN\easy-rsa\pki目录下
7.目录C:\Program Files\OpenVPN\easy-rsa\pki\private下为证书key
四、服务器配置
服务端配置文件模板为server.ovpn ,在 C:\Program Files\OpenVPN\sample-config目录下
1.修改服务端配置文件
复制server.ovpn文件至C:\Program Files\OpenVPN\config目录, 修改如下选项:
a)端口:(公网需要对应开通此端口)port udp 1194
b)协议文件名:dh dh2048.pem修改为dh dh.pem
c)运行多用户使用同一客户端证书:;duplicate-cn取消注释(前面;号删除)修改为duplicate-cn
d)注释掉此行(前面加#号): tls-auth ta.key 0修改为#tls-auth ta.key 0
2.证书复制配置
将服务证书,服务key,ca证书,dh文件复制到文件夹C:\Program Files\OpenVPN\config下
3.连接
右键点击任务栏带锁小电脑图标,点击连接, 连接成功后会变绿,系统提示分配ip
注: 因为VPN需要通过公网访问,需要在路由器中将udp 1194端口转发到内网服务器所在ip
五、安装FRP
1、frp内网穿透简介
内网穿透,就是如果你有一台公网上的服务器,那么可以将家里的N个电脑映射到公网服务器上去,然后你就可以在公网的任意地方访问你家里的服务了。
2、下载安装包
安装包下载地址:
Releases · fatedier/frp
A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet. - fatedier/frp
3、 注意事项
注意事项提前说,避免后面出现坑:
1.确认你的服务端口号:例如 你想远程桌面,默认是3389端口,你想做内网穿透的时候想改成 4489 ,那么需要以下这几点都做好,不然网不通。
2.验证本地端口:通过服务将默认端口改了,先从本地验证端口是正常的。
3.系统防火墙放行端口:从操作系统防火墙放行这个端口。
4.FRP客户端配置的代理端口和4489要一致。
5.如果在公司,公司层面的防火墙也要放行这个端口。
6.FRP服务器端口:如果用的是阿里云服务器做代理,注意阿里云控制台也得放行服务端的端口。
7.FRP所在的路径不能有中文。
8.FRP服务器不可以占用客户端所映射的端口。
部署流程
注意!无论是哪个平台的,要先部署服务器端,然后再部署客户端,否则客户端报错!!
4 windows版
4.1 服务端部署
1、拷贝frp安装包到服务器(目录不能有中文!),删除多余的文件,只留下面的三个:
2、修改服务端配置文件:直接编辑frps.ini(服务端配置文件):添加下面的内容,可以到frps-服务端配置文件模板.ini 里复制。
3、启动服务端**:** frps.exe -c ./frps.ini
4、登录控制台: http://127.0.0.1:7500/static/
5、防火墙放行7000端口**:** 7000这个端口是服务端和客户机之间通信用的默认端口,不是你转发服务时的那个端口,这个可以自己改,不过客户端也要跟着改才行。
6、配置开机自启动:将启动命令编辑到bat脚本,然后创建计划任务,设置成开机自启动即可。
4.2 客户端部署
1、拷贝frp安装包到你要映射端口的那个服务器,只留下面的三个文件:
2、然后编辑 frpc.ini 配置文件,添加下面的内容,可以参考:frpc-客户端配置文件模板.ini
3、启动客户端(从当前目录下运行cmd输入这个命令):frpc.exe -c frpc.ini
4.3 客户机访问
以上做好之后,在公网任意地方通过frp服务器的公网ip加上你的remote_port端口号来访问当前的服务即可。
4.4 客户端、服务端注册成服务
默认情况下,frp客户端和服务端需要用cmd命令行运行,而且窗口不能关,下面我们可以借助 nssm 工具将服务端和客户端注册成系统服务,然后开机自启动:
客户端和服务端注册方法相同
4.5 服务启动、停止命令
一、Linux启动和停止命令:
1、停止命令:
ps -aux|grep frp| grep -v grep --- 先找到frp进程
kill -9 进程ID --- 结束进程
2、启动客户端命令:nohup ./frpc -c ./frpc.ini --- 启动命令
二、Windows启动和停止命令:
1、启动服务端,在服务的所在目录下:frps.exe -c frps.ini
2、启动客户端,在服务的所在目录下:frpc.exe -c frpc.ini
3、停止服务:直接结束frp进程或者关闭frp命令行窗口。
4.6 Linux版客户机配置方法
1、上传安装包到/usr/frp下面,删除多余的文件(和Win版一样):
2、编辑配置文件,添加下面的内容:vim frpc.ini ,配置文件内容和windows版一样。
3、启动客户端:./frpc -c frpc.ini
4、设置成随系统启动:
(1)将启动命令制作成ssh脚本:vim ./start_frpc.ssh
(2)为脚本赋予可执行权限:chmod a+x ./start_frpc.sh
(3)将脚本添加到开机启动项:vim /etc/rc.local
有的时候一台服务器可能需要映射多个端口,这里就是配置多个端口的方法,Win和Linux版一样。
六、客户端安装
1.安装
双击OpenVPN-2.5.6-I601-amd64.msi,点击Install Now安装客户端,安装完成后目录C:\Program Files\OpenVPN
2.配置客户端文件
客户端配置文件client.ovpn,模板在C:\Program Files\OpenVPN\sample-config,复制该文件到C:\Program Files\OpenVPN\config目录下,修改客户端配置如下:
a)修改连接服务器地址: remote my-server-1 1194修改为remote 服务器公网ip 1194
b)注释掉此行(前面加#号): tls-auth ta.key 1修改为# tls-auth ta.key 1
3.证书复制
将客户端证书,客户端key,ca证书复制到该目录下C:\Program Files\OpenVPN\config
4.连接
右键点击任务栏带锁小电脑图标,点击连接,连接成功后系统分配ip,小电脑变绿
转载至 :记录下工作中内网穿透(frp+openvpn)部署方式 - 开发调优 / 开发调优, Lv2 - LINUX DO
因为后面工作需要使用openvpn,刚好看到,所以记录下~同时欢迎光临 LINUX DO