已删除用户
发布于 2023-09-22 / 2 阅读 / 0 评论 / 0 点赞

openvpn

搭建openvpn

  1. 安装openvpn

    1. 使用apt包管理器来安装OpenVPN:

      sudo apt install openvpn
  2. 生成生成证书和密钥

    1. 安装Easy-RSA

      git clone https://github.com/OpenVPN/easy-rsa.git
      cd /easy-rsa/easyrsa3
      ./easyrsa init-pki   #初始化Easy-RSA
      ./easyrsa build-ca        # 创建一个新的CA
      ./easyrsa gen-req server nopass           # 生成服务器证书和密钥
      ./easyrsa sign server server          # 签署服务器证书
      ./easyrsa gen-req 客户端名称 nopass       # 生成客户端证书和密钥
      ./easyrsa sign client 客户端名称       # 签署
  3. 创建openvpn配置文件

    port 1194                                    #端口
    proto udp                                    #协议
    dev tun                                      #采用路由隧道模式
    ca  /easy-rsa/easyrsa3/pki/ca.crt                 #ca证书的位置  根据实际位置修改
    cert /easy-rsa/easyrsa3/pki/issued/server.crt     #服务端公钥的位置。根据实际位置修改
    key /easy-rsa/easyrsa3/pki/private/server.key     #服务端私钥的位置  根据实际位置修改
    # dh /easy-rsa/easyrsa3/pki/dh.pem                  #证书校验算法  
    server 10.8.0.0 255.255.255.0                #给客户端分配的地址池
    push "route 172.16.1.0 255.255.255.0"        #允许客户端访问的内网网段
    ifconfig-pool-persist ipp.txt                #地址池记录文件位置,未来让openvpn客户端固定ip地址使用的
    keepalive 10 120                             #存活时间,10秒ping一次,120秒如果未收到响应则视为短线
    max-clients 100                              #最多允许100个客户端连接
    status openvpn-status.log                    #日志位置,记录openvpn状态
    # log /etc/openvpn/log/openvpn.log                     #openvpn日志记录位置
    verb 3                                       #openvpn版本
    client-to-client                             #允许客户端与客户端之间通信
    persist-key                                  #通过keepalive检测超时后,重新启动VPN,不重新读取
    persist-tun                                  #检测超时后,重新启动VPN,一直保持tun是linkup的,否则网络会先linkdown然后再linkup
    duplicate-cn                                 #客户端密钥(证书和私钥)是否可以重复
    comp-lzo                                     #启动lzo数据压缩格式
  4. 启动openvpn

    sudo openvpn --config /etc/openvpn/config.ovpn           # 根据实际位置修改配置文件
    
    sudo systemctl status openvpn        # 检验是否启动
  5. 连接openvpn

    1. mac版

      1. 下载Tunnelblick
      https://tunnelblick.net/
    2. windows版本

      https://openvpn.net/
  6. 客户端配置文件

    1. 生成证书文件 导入到软件中即可(该配置只测试mac过版本)

      # OpenVPN client configuration file
      
      # Specify the protocol to use (UDP or TCP)
      proto udp
      
      # Specify the remote OpenVPN server's IP address or domain name and port
      remote 192.168.0.140 1194         # 服务端地址
      
      # Choose a device type (tun or tap)
      dev tun
      
      # Use the client mode
      client
      
      # Specify the ca, cert, and key file paths
      ca /Users/ma/develop/open_vpn/easy-rsa/easyrsa3/pki/ca.crt       # 证书文件以实际地址为准
      cert /Users/ma/develop/open_vpn/easy-rsa/easyrsa3/pki/issued/armor.crt   # 证书文件以实际地址为准
      key /Users/ma/develop/open_vpn/easy-rsa/easyrsa3/pki/private/armor.key   # 证书文件以实际地址为准
      # dh /Users/ma/develop/open_vpn/easy-rsa/easyrsa3/pki/dh.pem
      
      # Enable compression
      comp-lzo
      
      # Set the server's DNS name or IP address
      remote-cert-tls server
      nobind
      
      # Optional: Specify the DNS server(s) to use
      dhcp-option DNS 8.8.8.8
      dhcp-option DNS 8.8.4.4
      
      # Optional: Specify a custom route
      # route 10.8.0.0 255.255.255.0
      
      # Optional: Set the log verbosity level (0-9, higher is more verbose)
      verb 3

评论