文档
史上坑最少的openVPN搭建

史上坑最少的openVPN搭建

2024-11-22 centos安装服务端 我的服务器是centos 6.8版本的,亲测6.4无法安装openvpn,亲测5不能运行安装脚本 服务器并且拥有固定的内网ip, 和一个外网ip 然后在网上找了一大坨安装文档,第一感觉是太复杂,后面发现在github上有一键安装的脚本:https://github.

Related articles

【ProtonVPN評價】主打加密技術的ProtonVPN免費版好用嗎? 2024年5款在中国能用的VPN:效果最佳,亲测可用 2024 免費9款【免費VPN軟體】推薦-電腦&手機VPN App,無限流量!真正免費 YouTube Premium VPN 教學!帶你比較各國價格最便宜在那裡! 2022年4个最好vpn chrome 扩展程序,以确保您的在线隐私 每隔几分钟就不好用了, VPN 太不稳定了?教你解决_LetsVPN_快连VPN官网_LetsVPN下载_Lets快连永远能连上的VPN Surfshark能看Netflix吗?2024年如何解锁Netflix

centos安装服务端

  • 我的服务器是centos 6.8版本的,亲测6.4无法安装openvpn,亲测5不能运行安装脚本
  • 服务器并且拥有固定的内网ip, 和一个外网ip
  • 然后在网上找了一大坨安装文档,第一感觉是太复杂,后面发现在github上有一键安装的脚本:https://github.com/Nyr/openvpn-install
  • 果断clone之,然后把shell放到服务器上进行执行,(1)输入ip地址:由于服务器上只能获得到内网ip,所以这里填写内网ip,(2)输入端口,有默认端口:1194(首先确保该端口已经允许访问,我安装的时候因为1194未开放,所以导致客户端无法连接vpn)(3)如果有外网ip,并且和内网ip不一致,程序会提示要你输入外网ip,输入回车就可以了,否则没有这一步。
  • 安装完成以后会生成一个.ovpn结尾的文件,这个文件是给客户端使用的。
  • 看一下1194端口是否被启动(netstat -anp | grep 1194),如果启动了就证明openvpn的服务端顺利启动了,接下来就是安装客户端了。

安装客户端

  • mac用户请自行下载Tunnerblick,安装完成之后,将服务端生成的rrjf.ovpn文件导入(此文件名是我自己设定的)。
  • windows用户请下载OpenVPN,安装完成之后将rrjf.ovpn复制到OpenVPN的安装目录的config中,例如:“C:\Program Files\OpenVPN\config”。导入完成之后,以“管理员身份运行”即可。
  • 启动openvpn的客户端进行连接(无法连接原因如下:1、udp方式不允许,可修改为tcp方式 2、上面的默认端口未开放,更换开放的端口)
  • 顺利的话就应该可以通过内网ip进行访问服务器了。

设置用户名/密码登录即User/Pass登录

  • 修改openvpn的配置文件,即安装目录里面的server.conf,在配置文件里面添加如下几行:

        auth-user-pass-verify /etc/openvpn/checkpsw.sh via-env

        client-cert-not-required

        username-as-common-name

        script-security 3

  • 添加完毕之后请重启openvpn服务,sercice openvpn restart (不同的centos系统,命令不一样,具体请自行百度)
  • 添加验证脚本checkpsw.sh,下载后添加到步骤一第一行你设定的目录中。注意修改PASSFILE、LOG_FILE这两个参数,PASSFILE路径保持和server.conf在同一级目录即可,LOG_FILE这个参数推荐使用默认参数
  • chmod +x /etc/openvpn/checkpsw.sh,# 给脚本添加执行权限
  • mkdir -p /var/log/openvpn   touch /var/log/openvpn/openvpn-password.log # 创建目录以及日志文件,用来记录用户名密码认证产生的日志
  • echo “test 123456” >>/etc/openvpn/psw-file   chmod 400 /etc/openvpn/psw-file       # 创建用户名密码文件,并修改权限
  • 修改客户端文件 注释掉cert和key(客户端不需要crt和key文件,但是需要服务器的CA证书);cert eva.crt  ;key eva.key(如果在客户端配置中没有找到则不用修改)在最后一行添加如下内容  auth-user-pass

过程中遇到的坑

  • 使用client去连接server端发现能够连上vpn,但是连不上internet。是因为此脚本默认的dns是读取服务器上/etc/resolv.conf的内容,如果安装完毕之后不能上网,自行修改server.conf为如下即可   (push “dhcp-option DNS 8.8.8.8”  push “dhcp-option DNS 8.8.4.4”)。
  • udp方式无法连接,采用的tcp方式。原因未知,可能是防火墙问题
  • 日志写入问题 checkpsw.sh 脚本是用来读取用户名和密码以及写入登录日志,当一切都搞定之后发现无法写入日志,修改权限即可(因为不知道当前操作用户,所以赋予了最高权限)