当前位置:   article > 正文

超详细open vn搭建之Linux亲测可用

超详细open vn搭建之linux亲测可用

目录

1      安装

2     配置

2.1      CA证书

2.2      Server证书

2.3      客户端证书

2.4      归档证书

3      配置

3.1      配置服务端

3.2      windows客户端配置


前言:openvpn不符合博客内容要求,所以标题不对。

VPN直译就是虚拟专用通道,是提供给企业之间或者个人与公司之间安全数据传输的隧道,OpenVPN无疑是Linux下开源VPN的先锋,提供了良好的性能和友好的用户GUI。

1      安装

(1)       配置epel源

  1. mkdir /tmp/openvpn
  2. cd /tmp/openvpn
  3. wget https://repo.huaweicloud.com/epel/epel-release-latest-7.noarch.rpm
  4. rpm -ivh epel-release-latest-7.noarch.rpm
  5. yum update

(2)       安装依赖

yum install -y openssl lzo pam easy-rsa

yum源安装openvpn

yum install openvpn

(3)       源码安装openvpn(可选)

  1. wget http://mirror.centos.org/centos/7/os/x86_64/Packages/lzo-2.06-8.el7.x86_64.rpm
  2. wget http://mirror.centos.org/centos/7/os/x86_64/Packages/lzo-devel-2.06-8.el7.x86_64.rpm
  3. wget http://mirror.centos.org/centos/7/os/x86_64/Packages/lzo-minilzo-2.06-8.el7.x86_64.rpm
  4. yum update lzo-2.06-8.el7.x86_64.rpm lzo-minilzo-2.06-8.el7.x86_64.rpm
  5. yum install lzo-devel-2.06-8.el7.x86_64.rpm
  6. yum install -y lz4-devel
  7. wget https://swupdate.openvpn.org/community/releases/openvpn-2.4.6.tar.gz
  8. tar -zxvf openvpn-2.4.6.tar.gz
  9. cd openvpn-2.4.6
  10. ./configure
  11. make
  12. make install

默认安装位置:/usr/local/sbin/openvpn

2     配置

2.1      CA证书

查看easy-rsa路径,以3.0版本为例,

whereis easy-rsa

  1. cd /usr/share/easy-rsa/3
  2. ./easyrsa init-pki
./easyrsa build-ca

记住输入的密码(pass phrase),后续签名需要使用。

2.2      Server证书

下面的$EntityName就是给server取个名字,注意前后统一就行,比如都叫server。

  1. cd /usr/share/easy-rsa/3
  2. ./easyrsa gen-req $EntityName nopass

签名证书

./easyrsa sign-req server $EntityName

生成Diffie-Hellman

./easyrsa gen-dh

最终目录结构如下:

2.3      客户端证书

另外创建一个目录用于存放client证书

  1. mkdir -p /tmp/openvpn/client1
  2. cd /tmp/openvpn/client1
  3. /usr/share/easy-rsa/3/easyrsa init-pki
  4. /usr/share/easy-rsa/3/easyrsa gen-req client1

记录输入的密码,client登录时使用

签名client证书:

  1. cd /usr/share/easy-rsa/3/
  2. ./easyrsa import-req /tmp/openvpn/client1/pki/reqs/client1.req client1
./easyrsa sign-req client client1

这里输入的制作CA证书时的密码。

客户端证书pki目录如下:

2.4      归档证书

将server证书放在同一个目录下

  1. mkdir /etc/openvpn
  2. cp /usr/share/easy-rsa/3/pki/ca.crt /etc/openvpn/
  3. cp /usr/share/easy-rsa/3/pki/private/server.key /etc/openvpn/
  4. cp /usr/share/easy-rsa/3/pki/issued/server.crt /etc/openvpn/
  5. cp /usr/share/easy-rsa/3/pki/dh.pem /etc/openvpn/

客户端需要的文件:

  1. mkdir /tmp/client1
  2. cp /usr/share/easy-rsa/3/pki/ca.crt /tmp/client1/
  3. cp /usr/share/easy-rsa/3/pki/issued/client1.crt /tmp/client1/
  4. cp /tmp/openvpn/client1/pki/private/client1.key /tmp/client1/

3      配置

3.1      配置服务端

如果没有默认配置文件可以从源码包拷贝一份

cp /tmp/openvpn/openvpn-2.4.6/sample/sample-config-files/server.conf /etc/openvpn
  1. vim /etc/openvpn/server.conf
  2. 如果是yum源安装则配置路径在这
  3. /usr/share/doc/openvpn-2.4.6/sample/sample-config-files/server.conf

server.conf配置文件如下

  1. local 192.168.1.5 #云主机内网ip
  2. port 11094
  3. proto tcp
  4. dev tun
  5. ca ca.crt
  6. cert server.crt
  7. key server.key
  8. dh dh.pem
  9. auth SHA512
  10. #tls-crypt tc.key
  11. topology subnet
  12. server 10.8.0.0 255.255.255.0
  13. push "redirect-gateway def1 bypass-dhcp"
  14. ifconfig-pool-persist ipp.txt
  15. push "dhcp-option DNS 192.168.1.2"
  16. client-to-client
  17. keepalive 10 120
  18. cipher AES-256-CBC
  19. user nobody
  20. group nobody
  21. persist-key
  22. persist-tun
  23. verb 3
  24. #crl-verify crl.pem
service openvpn@server start

源码安装的可能没有启动脚本,可以从源码里面拷贝一份:

  1. cp /tmp/openvpn/openvpn-2.4.6/distro/systemd/openvpn-server@.service.in /usr/lib/systemd/system/openvpn-server.service
  2. vim /usr/lib/systemd/system/openvpn-server.service

修改启动命令:

  1. systemctl enable openvpn@server
  2. systemctl start openvpn@server

ifconfig 可以看到多了一个tun0的网卡设备,ip是10.8.0.1

netstat -unlp可以查看监听的端口,我这里没有使用默认的1194端口

3.2      windows客户端配置

下载安装包 如openvpn-install-2.4.9-I601-Win10.exe

安装后,将ca.crt、client1.crt、client1.key拷贝到openvpn安装目录下的config目录下;

然后将安装目录sample-config/client.ovpn拷贝到config目录下,

client.ovpn内容如下:

  1. client
  2. dev tun
  3. proto tcp
  4. remote 175.6.40.67 11094
  5. resolv-retry infinite
  6. nobind
  7. persist-key
  8. persist-tun
  9. remote-cert-tls server
  10. auth SHA512
  11. cipher AES-256-CBC
  12. #ignore-unknown-option block-outside-dns #注释该行,解决开启vpn不能外网的问题
  13. #block-outside-dns #注释该行,解决开启vpn不能外网的问题
  14. verb 3
  15. route-nopull #解决开启vpn不能外网的问题
  16. ca ca.crt
  17. cert client1.crt
  18. key client1.key

然后打开./bin/openvpn-gui.exe,输入制作client证书时输入的密码即可连接成功

给其它同事开通vpn权限:从2.3开始生成证书即可

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/182664
推荐阅读
相关标签
  

闽ICP备14008679号