[转帖]史上坑最少的openVPN搭建

最少,openvpn,搭建 · 浏览次数 : 0

小编点评

**为什么搭建VPN单独购买VPN服务器的成本比较高?** 由于VPN服务器需要购买服务器硬件和服务器软件,其成本比使用跳板机和高端口访问要安全爱折腾的小伙伴可以搭建VPN来满足自己的技术需求更昂贵。

正文

https://www.rrfed.com/2017/09/26/openvpn/

 

为什么要搭建vpn

  • 单独购买vpn服务器的成本比较高,可以在公司现有的服务器上搭建vpn服务
  • 可以在任何有网络的地方访问到公司资源,比使用跳板机和高端口访问要安全
  • 爱折腾的小伙伴可以搭建vpn来满足自己的技术需求

选择

  • vpn种类有这么多,有PPTP协议,有L2TP协议, 有OpenVPN 如何进行选择?
    首先先看下对比:https://cn.giganews.com/vyprvpn/compare-vpn-protocols.html
  • 看了上面的对比之后,选择了OpenVPN做为首选的vpn协议,还有一个最主要的原因是安装方法比较简单。

下面开始介绍如何一步一步搭建vpn (centos版本):

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 脚本是用来读取用户名和密码以及写入登录日志,当一切都搞定之后发现无法写入日志,修改权限即可(因为不知道当前操作用户,所以赋予了最高权限)

与[转帖]史上坑最少的openVPN搭建相似的内容:

[转帖]史上坑最少的openVPN搭建

https://www.rrfed.com/2017/09/26/openvpn/ 为什么要搭建vpn 单独购买vpn服务器的成本比较高,可以在公司现有的服务器上搭建vpn服务 可以在任何有网络的地方访问到公司资源,比使用跳板机和高端口访问要安全 爱折腾的小伙伴可以搭建vpn来满足自己的技术需求 选

【转帖】Lua,LuaJIT,Luarocks的安装与配置-史上最详细【Linux】

目录 一,lunux下lua安装 二,安装luarocks lua包管理工具 三,LuaJIT的安装 既然各位都点开看了,那么Lua语言不用我介绍了吧,LuaJIT是lua的一个Just-In-Time也就是运行时编译器,就是存储热点代码直接转化为二进制,JIT是一个概念,Java 底层也有JIT编

[转帖]Redis 性能优化的 13 条军规!史上最全

https://zhuanlan.zhihu.com/p/118532234 Redis性能优化实战方案 Redis 是基于单线程模型实现的,也就是 Redis 是使用一个线程来处理所有的客户端请求的,尽管 Redis 使用了非阻塞式 IO,并且对各种命令都做了优化(大部分命令操作时间复杂度都是 O

[转帖]TCP半连接队列和全连接队列

TCP半连接队列和全连接队列 文章很长,建议收藏起来慢慢读! 总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :《尼恩Java面试宝典》持续更新+ 史上最全 + 面试必备 2000页+ 面试必备 + 大厂必备 +涨薪必备免费赠送 经典图书:《Java高并发核心编程(卷1)》 面试必备 + 大

[转帖]Java 容器化的历史坑(史坑) - 资源限制篇

https://blog.mygraphql.com/zh/posts/cloud/containerize/java-containerize/java-containerize-resource-limit/ -XX:ActiveProcessorCount=$POD_CPU_LIMIT 由来

[转帖]详解MySQL数据库原生的数据复制方式:异步复制、半同步复制与全同步复制

一、MYSQL复制架构衍生史 在2000年,MySQL 3.23.15版本引入了Replication。Replication作为一种准实时同步方式,得到广泛应用。这个时候的Replicaton的实现涉及到两个线程,一个在Master,一个在Slave。Slave的I/O和SQL功能是作为一个线程,

[转帖]一本正经的八卦一下CPU的自主可控

https://zhuanlan.zhihu.com/p/36391482 (2018年的4月16日,美国商务部发布对中兴通讯出口权限禁令,禁止美国企业向其出售零部件,史称“中兴禁运事件”。马上中兴事件就要一周年了,在这一年内,中国上上下下都知道了芯片这个东西,自主可控已经成为大家的共识,但是如何实

[转帖]

Linux ubuntu20.04 网络配置(图文教程) 因为我是刚装好的最小系统,所以很多东西都没有,在开始配置之前需要做下准备 环境准备 系统:ubuntu20.04网卡:双网卡 网卡一:供连接互联网使用网卡二:供连接内网使用(看情况,如果一张网卡足够,没必要做第二张网卡) 工具: net-to

[转帖]

https://cloud.tencent.com/developer/article/2168105?areaSource=104001.13&traceId=zcVNsKTUApF9rNJSkcCbB 前言 Redis作为高性能的内存数据库,在大数据量的情况下也会遇到性能瓶颈,日常开发中只有时刻

[转帖]ISV 、OSV、 SIG 概念

ISV 、OSV、 SIG 概念 2022-10-14 12:29530原创大杂烩 本文链接:https://www.cndba.cn/dave/article/108699 1. ISV: Independent Software Vendors “独立软件开发商”,特指专门从事软件的开发、生产、