ubuntu 22.04搭建OpenVPN服務(wù)器的詳細(xì)圖文教程
為了公司與分公司之前的內(nèi)部服務(wù)器和辦公電腦之間能夠相互訪問,打算使用VPN,對(duì)于VPN,以前用得多的是PPTP; 但是PPTP相對(duì)于openvpn來(lái)說,沒有openvpn安全,而且PPTP在linux下命令行支持不是很好,穩(wěn)定性也不如openvpn。所以最后就選擇openvpn來(lái)搭建VPN.
如上圖所示,紅線為VPN訪問效果,黑線為一般網(wǎng)絡(luò)訪問效果。
PS:本文在ubuntu 22.04上安裝,openvpn服務(wù)器地址為172.26.14.242。
運(yùn)行效果如下:
PC客戶端
服務(wù)端:
一、openvpn原理
openvpn通過使用公開密鑰(非對(duì)稱密鑰,加密解密使用不同的key,一個(gè)稱為Publice key,另外一個(gè)是Private key)對(duì)數(shù)據(jù)進(jìn)行加密的。這種方式稱為TLS加密
openvpn使用TLS加密的工作過程是,首先VPN Sevrver端和VPN Client端要有相同的CA證書,雙方通過交換證書驗(yàn)證雙方的合法性,用于決定是否建立VPN連接。
然后使用對(duì)方的CA證書,把自己目前使用的數(shù)據(jù)加密方法加密后發(fā)送給對(duì)方,由于使用的是對(duì)方CA證書加密,所以只有對(duì)方CA證書對(duì)應(yīng)的Private key才能解密該數(shù)據(jù),這樣就保證了此密鑰的安全性,并且此密鑰是定期改變的,對(duì)于竊聽者來(lái)說,可能還沒有破解出此密鑰,VPN通信雙方可能就已經(jīng)更換密鑰了。
二、安裝openvpn
openvpn的安裝我們分為apt-get方式和源碼方式,下面我們只講解apt-get方式的安裝。有關(guān)源碼方式安裝openvpn,可自行百度。
apt-get方式安裝,我們可以使用如下命令:
sudo apt-get -y install openvpn libssl-dev openssl
openvpn安裝完畢后,我們來(lái)查看openvpn的版本,如下:
(下載openvpn client時(shí)需要參照這個(gè)版本號(hào))
openvpn --version
通過上圖,我們可以看到openvpn目前的版本為2.5.5。這個(gè)版本號(hào),建議記住。
我們?cè)賮?lái)查看下openvpn安裝時(shí)產(chǎn)生的文件,如下:
dpkg --list openvpn
dpkg -L openvpn | more
通過上圖,我們可以很明顯的看出openvpn已經(jīng)有相關(guān)配置的模版了。
openvpn安裝完畢后,我們?cè)賮?lái)安裝easy-rsa。
easy-rsa是用來(lái)制作openvpn相關(guān)證書的。
安裝easy-rsa,使用如下命令:
sudo apt-get -y install easy-rsa
查看easy-rsa安裝的版本:
dpkg --list easy-rsa
查看easy-rsa安裝的文件,如下:
dpkg -L easy-rsa |more
三、制作相關(guān)證書
根據(jù)第一章節(jié)openvpn的工作原理,我們可以知道openvpn的證書分為三部分:CA證書、Server端證書、Client端證書。
下面我們通過easy-rsa分別對(duì)其進(jìn)行制作。
3.1 制作CA證書
openvpn與easy-rsa安裝完畢后,我們需要在/etc/openvpn/目錄下創(chuàng)建easy-rsa文件夾,如下:
sudo mkdir /etc/openvpn/easy-rsa/ cd /etc/openvpn/easy-rsa/
然后把/usr/share/easy-rsa/目錄下的所有文件全部復(fù)制到/etc/openvpn/easy-rsa/下,如下:
sudo cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/
當(dāng)然,我們也可以直接在/usr/share/easy-rsa/制作相關(guān)的證書,但是為了后續(xù)的管理證書的方便,我們還是把easy-rsa放在了openvpn的啟動(dòng)目錄下。
注意:由于我們現(xiàn)在使用的是ubuntu系統(tǒng),所以我們必須切換到root用戶下才能制作相關(guān)證書,否則easy-rsa會(huì)報(bào)錯(cuò)。如果是centos系統(tǒng),則不存在此問題。
切換到root用戶下,使用如下命令:
sudo su cp vars.example vars
在開始制作CA證書之前,我們還需要編輯vars文件,修改如下相關(guān)選項(xiàng)內(nèi)容即可。如下:
vim vars
修改
添加
vars文件主要用于設(shè)置證書的相關(guān)組織信息,紅色部分的內(nèi)容可以根據(jù)自己的實(shí)際情況自行修改。
其中export KEY_NAME=”vpnairgens”這個(gè)要記住下,我們下面在制作Server端證書時(shí),會(huì)使用到。
注意:以上內(nèi)容,我們也可以使用系統(tǒng)默認(rèn)的,也就是說不進(jìn)行修改也是可以使用的。
注意:不同的easy-isa版本,可能使用過程不一樣,具體使用方法可以參考安裝文檔中描述
查看安裝文檔中的步驟描述:
cat /usr/share/doc/easy-rsa/README.Debian
制作命令如下:
./easyrsa init-pki ls
./easyrsa build-ca nopass ls
3.2 制作Server端證書
./easyrsa build-server-full vpnairgens nopass
注意:上述命令中vpnairgens,就是我們前面vars文件中設(shè)置的KEY_NAME
查看生成的Server端證書,如下
ls pki/issued/ ls pki/private/
如此,Server端證書就制作完畢。
3.3 制作Client端證書
Server端證書制作完成后,我們現(xiàn)在開始制作Client端證書,如下:
./easyrsa build-client-full airgens nopass
注意:上述命令中的airgens,是客戶端的名稱。這個(gè)是可以進(jìn)行自定義的。
ls pki/issued/ ls pki/private/
查看生成的證書,如下:
通過上圖,我們可以很明顯的看出已經(jīng)生成了很多加密相關(guān)的文件
其中 ca.crt private/airgens.key issued/airgens.crt三個(gè)文件是我們要使用的。
如此,Client端證書就制作完畢。
現(xiàn)在再為服務(wù)器生成加密交換時(shí)的Diffie-Hellman文件,如下:
./easyrsa gen-dh
ls pki/dh.pem -l
查看生成的文件,如下:
3.4 將相關(guān)文件放到同目錄下
cd /etc/openvpn/ cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf . ls
cp easy-rsa/pki/ca.crt ./ cp easy-rsa/pki/issued/vpnairgens.crt ./ ls
cp easy-rsa/pki/private/vpnairgens.key . cp easy-rsa/pki/dh.pem ./ cp easy-rsa/pki/dh.pem ./dh2048.pem
3.5 配置vpn Server
vim server.conf
隧道port
開tcp關(guān)udp
修改秘鑰key文件名
修改VPN的IP地址段(也可不修改)
3.6 運(yùn)行VPN SERVER
配置完運(yùn)行openvpn server
nohup /usr/sbin/openvpn --config /etc/openvpn/server.conf &
打開日志顯示
tail -f /var/log/openvpn/openvpn.log
3.7 tftp下載秘鑰文件
cp /etc/openvpn/ca.crt /etc/openvpn/easy-rsa/pki/issued/airgens.crt tmp_dir/
四 VPN CLIENT安裝
4.1 下載openvpn客戶端
下載地址:https://build.openvpn.net/downloads/releases/OpenVPN-2.5.5-I602-amd64.msi
(版本與上面服務(wù)端一致)安裝軟件
將文件復(fù)制到軟件安裝的目錄
4.2 創(chuàng)建配置文件
創(chuàng)建airgens.ovpn文件,用記事本打開,添加如下內(nèi)容
client dev tun proto tcp remote 172.26.14.242 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert airgens.crt key airgens.key comp-lzo verb 3
4.3 開啟客戶端軟件
4.4 配置文件
4.5 連接狀態(tài)查看
服務(wù)端連接狀態(tài):
PC客戶端連接狀態(tài):
4.6 測(cè)試
參考文檔:
爛泥:ubuntu 14.04搭建OpenVPN服務(wù)器
到此這篇關(guān)于ubuntu 22.04搭建OpenVPN服務(wù)器的文章就介紹到這了,更多相關(guān)OpenVPN服務(wù)器搭建內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- ubuntu 下的nginx服務(wù)器配置詳解
- ubuntu16.04服務(wù)器配置ssh免密碼登錄
- Ubuntu服務(wù)器配置apache2.4的限速功能shell腳本分享
- ubuntu上配置Nginx+PHP5 FastCGI服務(wù)器配置
- 在Ubuntu?Server?22.04上安裝?Docker的詳細(xì)步驟記錄
- Ubuntu?22.04或20.04安裝Oracle?SQL?Developer的圖文教程
- Ubuntu22.04系統(tǒng)下升級(jí)nodejs到v18版本
- Ubuntu22.04使用nginx部署vue前端項(xiàng)目的詳細(xì)教程
- Ubuntu22.04系統(tǒng):fatal:?無(wú)法連接到?github.com
- Ubuntu?22.04.1?LTS?編譯安裝?nginx-1.22.1的配置過程
- ubuntu22.04將python源切換為清華源的方法
- ubuntu?22.04安裝mysql?8.0步驟與避坑指南
- Ubuntu22.04 LTS 上安裝Redis的過程
- ubuntu22.04?server安裝及使用詳細(xì)圖文教程
- Ubuntu22.04安裝PyTorch1.12.1 GPU版本全過程
- Virtualbox 下 Ubuntu 22.04 網(wǎng)絡(luò)互通/固定IP 配置方法
- VMware?虛擬機(jī)圖文安裝和配置?Ubuntu?Server?22.04?LTS?的詳細(xì)步驟
- Ubuntu?22.04?服務(wù)器安裝部署(nginx+postgresql)
相關(guān)文章
使用gitlab在服務(wù)器上搭建私服git倉(cāng)庫(kù)并上傳項(xiàng)目的操作方法
這篇文章主要介紹了使用gitlab在服務(wù)器上搭建私服git倉(cāng)庫(kù),并且上傳項(xiàng)目,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-12-12Memcache緩存系統(tǒng)知識(shí)點(diǎn)梳理
Memcached是一個(gè)免費(fèi)開源的,高性能的,具有分布式對(duì)象的緩存系統(tǒng),它可以用來(lái)保存一些經(jīng)常存取的對(duì)象或數(shù)據(jù),保存的數(shù)據(jù)像一張巨大的HASH表,該表以Key-value對(duì)的方式存在內(nèi)存中2012-09-09解決Ubuntu虛擬機(jī)NAT不能上網(wǎng)的幾種方法小結(jié)
vmware安裝ubuntu虛擬機(jī)后,網(wǎng)絡(luò)經(jīng)常抽風(fēng),也不知道具體是什么原因?qū)е碌?有時(shí)候開機(jī)就不能上網(wǎng),有時(shí)候,是突然不能上網(wǎng),這個(gè)時(shí)候,嘗試重啟虛擬機(jī)后者電腦,看看能否解決,或者使用下面的方法看看2023-12-12解決服務(wù)器運(yùn)行jupyter notebook方法
這篇文章主要介紹了解決服務(wù)器運(yùn)行jupyter notebook方法,來(lái)幫助大家實(shí)現(xiàn)服務(wù)器跑Jupyter,附含圖文以及詳細(xì)代碼,有需要的朋友可以借鑒參考下2021-08-08dell 服務(wù)器安裝 centos 7.9 系統(tǒng)的方法
本文介紹了在Dell服務(wù)器上安裝CentOS 7.9系統(tǒng)的步驟,包括查看系統(tǒng)版本、設(shè)置靜態(tài)IP地址、重啟網(wǎng)絡(luò)服務(wù)等,文章還提到了如何為系統(tǒng)生成新的UUID,這些步驟為用戶提供了在Dell服務(wù)器上安裝和配置CentOS 7.9系統(tǒng)的基礎(chǔ)知識(shí)2024-11-11寶塔面板屏蔽禁止某個(gè)IP段訪問的辦法實(shí)現(xiàn)
有時(shí)候我們會(huì)遇到各種不明IP的訪問,比如采集蜘蛛IP,那么應(yīng)該怎么解決,本文主要介紹了寶塔面板屏蔽禁止某個(gè)IP段訪問的辦法實(shí)現(xiàn),感興趣的可以了解一下2023-08-08