openvpn服务器&客户端配置

来源:互联网 发布:哪个看书软件好 编辑:程序博客网 时间:2024/05/08 23:52

openvpn服务器&客户端配置


  • openvpn服务器客户端配置
    • 服务器端
      • 1 关闭selinux
      • 2 安装openvpn
      • 3 安装easy-rsa
      • 4 制作CA证书
      • 5 编辑vars文件
      • 6 生效vars
      • 7 删除keys目录下的文件
      • 8 制作ca证书
      • 9 查看 cacrt cakey 两个文件
      • 10 制作server端证书
      • 11 查看server端证书
      • 12 生成加密交换时的Diffie-Hellman文件
      • 13 查看加密文件dh2048pem
      • 14 将vpnservercrtvpnserverkeydh2048pem复制到etcopenvpn目录下
      • 15 配置server端
      • 16 重启openvpn服务
      • 17 查看是否启动openvpn服务
    • 生成客户端证书及key
      • 1 制作client端使用的证书
      • 2 查看testuser配置的文件
      • 3 编辑testuserovpn配置文件
    • 客户端
      • 1 Mac 端
      • 2 Windows 10
      • 3 Android 端
      • 4 使用vnc远程登录


1. 服务器端

环境:CentOS 6.5
软件:openvpn、easy-rsa。

1.1 关闭selinux

    #setenforce 0    查看状态    #sed -i '/^SELINUX=/c\SELINUX=disabled' /etc/selinux/config

1.2 安装openvpn

    #yum install -y openvpn    查看版本:    #openvpn --version

1.3 安装easy-rsa

    #yum install -y easy-rsa    查看    #rpm -ql easy-rsa

1.4 制作CA证书

    #mkdir /etc/openvpn/easy-rsa/    #cp -r /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa/

1.5 编辑vars文件

    #vi /etc/openvpn/easy-rsa/vars    修改    export KEY_COUNTRY="CN"    export KEY_PROVINCE="GD"    export KEY_CITY="Shenzhen"    export KEY_ORG="LD"    export KEY_EMAIL="user@user.com"    export KEY_OU="user"    export KEY_NAME="user"

1.6 生效vars

    #cd /etc/openvpn/easy-rsa    #source vars

1.7 删除keys目录下的文件

    #./clean-all

1.8 制作ca证书

    #./build-ca    使用默认信息,一直回车即可。    #cp /etc/openvpn/easy-rsa/keys/ca.crt /etc/openvpn/

1.9 查看 ca.crt / ca.key 两个文件。

    #ls -l /etc/openvpn/easy-rsa/keys/

1.10 制作server端证书

    #./build-key-server vpnserver    使用默认配置,最后两次需要选择两次y    Sign the certificate? [y/n]:y    1 out of 1 certificate requests certified, commit? [y/n]y

1.11 查看server端证书

    查看 vpnserver.crt/vpnserver.csr/vpnserver.key    #ls -al /etc/openvpn/easy-rsa/keys

1.12 生成加密交换时的Diffie-Hellman文件

    #./build-dh

1.13 查看加密文件,dh2048.pem

    #ls -al /etc/openvpn/easy-rsa/keys

1.14 将vpnserver.crt/vpnserver.key/dh2048.pem复制到/etc/openvpn/目录下

    #cd /etc/openvpn/easy-rsa/keys    #cp vpnserver.crt vpnserver.key dh2048.pem /etc/openvpn/    #ls /etc/openvpn/    显示    ca.crt dh2048.pem easy-rsa openvpn.crt openvpn.key
至此, server端相关证书制作完成。

1.15 配置server端

    #cp /usr/share/doc/openvpn-2.3.12/sample/sample-config-files/server.conf /etc/openvpn/server.conf.bak    #cp /etc/openvpn/server.conf.bak /etc/openvpn/server.conf    #cd /etc/openvpn/    #vi server.conf    去掉;client-to-client前面的";"。    cert server.crt 改成 cert vpnserver.crt #也可使用绝对路径    key server.key  改成 key vpnserver.key  #也可使用绝对路径    其它的使用默认配置即可。    如果需要配置固定ip地址,则将以下两行前面";"去掉    ;client-config-dir ccd    ;route 10.8.0.0 255.255.255.252    新建 ccd 目录    #mkdir /etc/openvpn/ccd    为testuser配置固定虚拟ip地址    #cd /etc/openvpn/ccd    #echo ifconfig-push 10.8.0.1 10.8.0.2 > testuser     10.8.0.0 需要与server.confg里面的 route 10.8.0.0 255.255.255.252  一样。

1.16 重启openvpn服务

    配置防火墙    #iptables -I INPUT -p tcp --dport 1194 -m comment --comment "openvpn" -j ACCEPT    #iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE    #service iptables save
    重启openvpn    #service openvpn start    Starting openvpn: [OK]
    开机启动    #chkconfig openvpn on

1.17 查看是否启动openvpn服务

    #ss -tnlp | grep 1194    显示LISTEN 0 1 *1194 *.* users:(("openvpn",1765,6))表示成功。

2. 生成客户端证书及key

2.1 制作client端使用的证书

    #cd /etc/openvpn/easy-rsa    #./build-key testuser    使用默认配置,最后需要输入两次y    Sign the certificate? [y/n]:y    1 out of 1 certificate requests certified, commit? [y/n]y

2.2 查看testuser配置的文件

    #ls keys    应该包含了 testuser.crt testuser.csr testuser.key    其中,testuser.crt和testuser.key是我们需要使用的。    如果想快速生成,也可使用    #./build-key --batch testuser

2.3 编辑testuser.ovpn配置文件

    #cp /usr/share/doc/openvpn-2.3.12/sample/sample-config-files/client.conf /etc/openvpn/easy-rsa/keys/testuser.ovpn    #vi testuser.ovpn

修改以下几点:

remote my-server-1 1194  改成  remote 自己服务器ip 1194cert client.crt 改成 cert testuser.crtkey client.key 改成 key testuser.key

配置文件字段详细说明:

# 端口,使用默认端口port 1194# 默认使用udp,如果使用HTTP Proxy,必须使用tcp协议proto tcpdev tun# 全路径为/etc/openvpn/keys/ca.crtca ca.crtcert testuser.crtkey testuser.key dh dh2048.pem# 默认虚拟局域网网段,不要和实际的局域网冲突即可server 10.8.0.0 255.255.255.0ifconfig-pool-persist ipp.txt# 10.0.0.0/8是这台VPN服务器所在的内网的网段push "route 10.0.0.0 255.0.0.0"# 可以让客户端之间相互访问直接通过openvpn程序转发,根据需要设置client-to-client# 如果客户端都使用相同的证书和密钥连接VPN,一定要打开这个选项,否则每个证书只允许一个人连接VPNduplicate-cnkeepalive 10 120tls-auth keys/ta.key 0 # This file is secretcomp-lzopersist-keypersist-tun# OpenVPN的状态日志,默认为/etc/openvpn/openvpn-status.logstatus openvpn-status.log# OpenVPN的运行日志,默认为/etc/openvpn/openvpn.log log-append openvpn.log# 改成verb 5可以多查看一些调试信息verb 5

3.客户端

下载cert和key:将服务器端以下4个文件通过远程下载到电脑上。/etc/openvpn/easy-rsa/keys/ca.crt/etc/openvpn/easy-rsa/keys/testuser.crt/etc/openvpn/easy-rsa/keys/testuser.key/etc/openvpn/easy-rsa/keys/testuser.ovpn

3.1 Mac 端

  1. 下载Tunnelblick
    下载地址:https://tunnelblick.net/downloads.html

  2. 导入配置文件
    打开Tunnelblick, 将testuser.ovpn拖到软件上即可。

  3. 点击“连接”
    连接后的图片

3.2 Windows 10

  1. 下载 OpenVPN 客户端并安装。
    http://openvpn.ustc.edu.cn

  2. 导入配置
    将ca.crt/testuser.crt/testuser.key/testuser.ovpn文件放入 c:\Program Files\OpenVPN\config目录下

  3. 打开软件,即可实现联接。
    连接后的图片

3.3 Android 端

  1. android 端安装 OpenVPN apk
    下载地址:
    https://play.google.com/store/apps/details?id=net.openvpn.privatetunnel

  2. 可以将ca.crt 和 testuser.crt testuser.key 合到 testuser.ovpn 文件里面。
    格式如下:
    testuser.ovpn内容

    <ca>    ca.crt内容    </ca>    <cert>    testuser.crt内容,-----BEGIN CERTIFICATE----- 到 -----END CERTIFICATE----- 内容    </cert>    <key>    testuser.key内容    </key>

打开app,导入testuser.ovpn即可。

3.4 使用vnc远程登录

vnc远程连接,必须配置成固定ip地址,请参照上述 [1.15]
目前我只用过 windows 登录 android 端。
windows 上需要安装 VNC-View 应用。
VNC-View: https://www.realvnc.com/download/viewer/
如下图。
这里写图片描述


0 0