linux openvpn是什麼

2023-03-17 10:00:44

在linux中,OpenVPN是一個基於OpenSSL庫的應用層VPN實現,是一個開源的加密隧道構建工具,可以在Internet中實現對等的SSL VPN安全連線。使用OpenVPN的好處是安全、易用和穩定,且認證方式靈活,具備實現SSL VPN解決方案的完整特性。

本教學操作環境:linux7.3系統、Dell G3電腦。

openvpn是什麼

VPN 直譯就是虛擬專用通道,是提供給企業之間或者個人與公司之間安全資料傳輸的隧道,OpenVPN 無疑是 Linux 下開源 VPN 的先鋒,提供了良好的效能和友好的使用者 GUI。

OpenVPN 是一個基於 OpenSSL 庫的應用層 VPN 實現,是一個開源的加密隧道構建工具。OpenVPN可以在Internet中實現對等的SSL VPN安全連線。使用 OpenVPN 的好處是安全、易用和穩定,且認證方式靈活,具備實現 SSL VPN 解決方案的完整特性。OpenVPN 可以應用於 Linux、Unix、Mac OS 以及Windows 等各種作業系統平臺。

OpenVPN 允許參與建立 VPN 的單點使用共用金鑰,電子證書,或者使用者名稱/密碼來進行身份驗證。它大量使用了 OpenSSL 加密庫中的 SSLv3 /TLSv1 協定函式庫。OpenVPN 能在 Solaris、Linux、OpenBSD、FreeBSD、NetBSD、Mac OS X 與 Windows 上執行,幷包含了許多安全性的功能。它並不是一個基於 Web 的 VPN 軟體,也不與 IPSec 及其他 VPN 軟體包相容。

虛擬私有網路(VPN)隧道是通過 Internet 隧道技術將兩個不同地理位置的網路安全的連線起來的技術。當兩個網路是使用私有 IP 地址的私有區域網路時,它們之間是不能相互存取的,這時使用隧道技術就可以使得兩個子網內的主機進行通訊。例如,VPN 隧道技術經常被用於大型電腦構中不同辦公區域子網的連線。有時,使用 VPN 隧道僅僅是因為它很安全。服務提供商與公司會使用這樣一種方式架設網路,他們將重要的伺服器(如,資料庫,VoIP,銀行伺服器)放置到一個子網內,僅僅讓有許可權的使用者通過 VPN 隧道進行存取。如果需要搭建一個安全的 VPN 隧道,通常會選用 IPSec,因為 IPSec VPN 隧道被多重安全層所保護。

VPN (虛擬專用網)發展至今已經不在是一個單純的經過加密的存取隧道了,它已經融合了存取控制、傳輸管理、加密、路由選擇、可用性管理等多種功能,並在全球的資訊保安體系中發揮著重要的作用。也在網路上,有關各種 VPN 協定優缺點的比較是仁者見仁,智者見智,很多技術人員由於出於使用目的考慮,包括存取控制、 安全和使用者簡單易用,靈活擴充套件等各方面,權衡利弊,難以取捨;尤其在 VOIP 語音環境中,網路安全顯得尤為重要,因此現在越來越多的網路電話和語音閘道器支援 VPN 協定。

Linux伺服器上使用OpenVPN

安裝 OpenVPN 使用者端

Linux 伺服器安裝 OpenVPN 相對簡單一些,為了方便安裝,我們用 yum 直接安裝,具體過程如下:

yum -y install epel-release
yum -y install openvpn
登入後複製

OpenVPN 安裝完成後會在 /etc/openvpn 生成對應的檔案,具體如下:

[root@ns1 ~]# 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 目錄結構如下所示:

[root@ns1 ~]# 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
登入後複製

推薦學習:《》

以上就是linux openvpn是什麼的詳細內容,更多請關注TW511.COM其它相關文章!