天天看點

Linux OpenVPN 用戶端連接配接配置Linux OpenVPN 用戶端連接配接配置

Linux OpenVPN 用戶端連接配接配置

  • 最近北京機房的機器需要連接配接上海機房的伺服器,上海機房用的 VPN 服務是 OpenVPN。又聽說 OpenVPN 用戶端可以在 Linux 伺服器上運作,是以研究了一下 OpenVPN 如何在 Linux 伺服器上使用。
  • Linux 伺服器資訊如下:
    系統: CentOS Linux release 7.5.1804 (Core)
    記憶體: 8G
    硬碟: 100G
    複制代碼
               

安裝 OpenVPN 用戶端

  • Linux 伺服器安裝 OpenVPN 相對簡單一些,為了友善安裝,我們用 yum 直接安裝,具體過程如下:
    yum -y install epel-release
    yum -y install openvpn
    複制代碼
               
  • OpenVPN 安裝完成後會在 

    /etc/openvpn

     生成對應的檔案,具體如下:
    [[email protected] ~]# ll /etc/openvpn/
    total 8
    drwxr-x--- 2 root openvpn  34 Jul 26 15:06 client
    drwxr-x--- 2 root openvpn   6 Apr 26 23:04 server
    複制代碼
               

準備配置檔案及證書檔案

  • 因為我們之前有安裝過 OpenVPN 服務端,具體過程參見 OpenVPN 安裝配置,在這裡我們直接用它提供的配置檔案即可。
  • 注意: 我們之前安裝的 OpenVPN 服務端內建了 LDAP 統一認證,是以我們不再需要服務端配置設定給用戶端的證書及密鑰,隻需要配置檔案及相應的 

    key

     即可,還有就是我們需要建立賬号密碼檔案 

    passwd

     。
  • 配置檔案修改完成後, 

    /etc/openvpn

     目錄結構如下所示:
    [[email protected] ~]# tree /etc/openvpn/
    /etc/openvpn/
    ├── client
    │   ├── ca.crt                    # 服務端提供
    │   └── ta.key                    # 服務端提供
    ├── client.ovpn                    # 用戶端配置檔案
    ├── passwd                         # 賬号密碼檔案,需要建立,第一行賬号,第二行是密碼
    └── server
    2 directories, 4 files
    複制代碼
               

連接配接測試

  • 配置完成後,我們用指令行相關指令進行測試,具體指令如下:
    openvpn \
    --daemon \
    --cd /etc/openvpn \
    --config client.ovpn \
    --auth-user-pass /etc/openvpn/passwd \
    --log-append /var/log/openvpn.log
    複制代碼
               
  • 指令參數說明:
    --daemon           # 背景運作
    --cd               # 配置檔案目錄路徑
    --config           # 配置檔案名稱
    --auth-user-pass   # 指定賬号密碼檔案
    --log-append       # 日志檔案
    複制代碼
               
  • 指令執行完後,可以用以下指令檢視相關日志:
    tail -f /var/log/openvpn.log
    複制代碼
               
  • 當日志末尾出現類似如下内容說明正常連接配接了:
    Thu Jul 26 15:19:43 2018 /sbin/ip addr add dev tun0 local 10.6.0.226 peer 10.6.0.225
    Thu Jul 26 15:19:43 2018 /sbin/ip route add 172.16.1.0/24 via 10.6.0.225
    Thu Jul 26 15:19:43 2018 /sbin/ip route add 10.0.0.0/8 via 10.6.0.225
    Thu Jul 26 15:19:43 2018 /sbin/ip route add 10.6.0.0/24 via 10.6.0.225
    Thu Jul 26 15:19:43 2018 Initialization Sequence Completed
    複制代碼
               
  • 最後補充一下配置檔案内容:
    client
    dev tun
    proto tcp
    remote x.x.x.x 1194               # x.x.x.x 代表服務端IP位址映射的公網IP位址
    resolv-retry infinite
    nobind
    persist-key
    persist-tun
    
    ca client/ca.crt
    ;cert client.crt
    ;key client.key
    remote-cert-tls server
    tls-auth client/ta.key 1
    cipher AES-256-CBC
    
    ns-cert-type server
    auth-user-pass
    
    comp-lzo
    verb 3