19.基于Linux平臺下0penVPN服務(wù)器搭建

一汛聚、環(huán)境準備

開始之前:將所有的0penv替換為openv。你懂的

  • 模擬環(huán)境軟件:

    • VMware? Workstation 15 Pro
  • 網(wǎng)卡準備:

    • vmnet1:192.168.0.0/24 <-----> 企業(yè)內(nèi)網(wǎng)
    • vmnet8:172.16.0.0/16 <-----> Internet外網(wǎng)
  • 機器準備

    • 服務(wù)端:
      • IP:內(nèi)網(wǎng):192.168.0.66 外網(wǎng):172.16.0.66
      • 系統(tǒng):CentOS 7


        image-20210629161819331.png
  • 遠程主機:

    • vmnet8:172.16.10.10 <-----> 能ping通服務(wù)器172.16.0.66網(wǎng)卡接口
    • 系統(tǒng):Windows 7


      image-20210629161910362.png

客戶端:

  • vmnet1:192.168.0.100 <-----> 能ping通服務(wù)器192.168.0.66網(wǎng)卡接口
  • 系統(tǒng):Windows 7
image-20210629162010619.png

二注盈、服務(wù)端搭建

01.0penVPN證書制作

easyrsa軟件下載地址:

https://github.com/0penVPN/easy-rsa/archive/refs/heads/master.zip

步驟:

(1)下載:

wget https://github.com/0penVPN/easy-rsa/archive/refs/heads/master.zip

(2)解壓:

    下載下來之后會得到一個`master.zip`的壓縮包苫亦,使用`unzip`命令進行解壓,解壓之后會得到一個名為`easy-rsa-master`的文件夾
# 沒有unzip命令的話惫叛,需要下載
yum -y install zip unzip.x86_64
# 解壓
unzip master.zip
# 查看解壓后生成的文件
ls
easy-rsa-master

(3)配置文件:

vars文件是為制作證書時所使用到的配置文件倡勇。里面主要是定義了在配置證書的時候需要填寫的變量。

cd easy-rsa-master/easyrsa3/
# 默認是沒有vars文件的嘉涌,可以拷貝vars.example模板文件
cp vars.example vars
# 編輯文件妻熊,打開注釋,修改一下信息
vim vars
...
set_var EASYRSA_DN      "org"
set_var EASYRSA_REQ_COUNTRY     "cn"
set_var EASYRSA_REQ_PROVINCE    "Guangdong"
set_var EASYRSA_REQ_CITY        "Guangzhou"
set_var EASYRSA_REQ_ORG "xxx"
set_var EASYRSA_REQ_EMAIL       "10242048@qq.com"
...

注意:如果open client的配置文件中使用了ns-cert-type server則要打開此選項仑最,制作server證書時會將一些信息寫入證書扔役,
如不打開此選項,則open client會提示server certificate verify fail
set_var EASYRSA_NS_SUPPORT "yes"

02.生成根證書和密鑰

先初始化警医,會在當前目錄創(chuàng)建PKI目錄亿胸,用于存儲一些中間變量及最終生成的證書。

每條命令執(zhí)行之后都有些信息輸出预皇,如出錯侈玄,會提示相關(guān)錯誤信息

pwd
/root/easy-rsa-master/easyrsa3
./easyrsa init-pki
# 創(chuàng)建根證書,首先會提示設(shè)置密碼吟温,用于ca對之后生成的server和client證書簽名時使用序仙,
# 會提示設(shè)置一些信息,因為我們已經(jīng)在vars配置好了鲁豪,我們一路回車潘悼,使用默認值就好了
./easyrsa build-ca
# 此時會在pki目錄里看到新生成幾個目錄和文件,我們重點關(guān)注ca.crt文件
# 這個文件是ca證書爬橡,也是根證書治唤,跟密鑰會被保存在private目錄下

03.生成服務(wù)端證書和密鑰

創(chuàng)建server端證書和private key,nopass表示不加密private key,提示設(shè)置信息時糙申,一路回車就行

./easyrsa gen-req server nopass

給server端證書做簽名宾添,首先是對一些信息的確認,可以輸入yes,然后輸入build-ca時設(shè)置的那個密碼

./easyrsa sign server server

04.生成客戶端證書和密鑰

創(chuàng)建client端證書辞槐,需要單獨把easyrsa3文件夾拷貝出來一份掷漱,刪除里面的PKI目錄,然后進入到此目錄

pwd
/root/easy-rsa-master
mkdir easyrsa3_client
cp easyrsa3/* easyrsa3_client/
cd easyrsa3_client/
rm -rf pki/*

初始化榄檬,會在當前目錄創(chuàng)建PKI目錄卜范,用于存儲一些中間變量及最終生成的證書

./easyrsa init-pki

創(chuàng)建client端證書和private key,nopass表示不加密private key鹿榜,提示設(shè)置信息時海雪,一路回車就行

./easyrsa gen-req client nopass

回到制作server證書時的那個easyrsa3目錄,導(dǎo)入client端證書舱殿,準備簽名

./easyrsa import-req client.req所在路徑 client

client.req應(yīng)該在剛才制作client端證書的easyrsa3_client/pki/reqs/下面

pwd
cd easyrsa3
./easyrsa import-req ../easyrsa3_client/pki/reqs/client.req client

給client端證書做簽名奥裸,首先是對一些信息的確認,可以輸入yes沪袭,然后輸入build-ca時設(shè)置的那個密碼

./easyrsa sign client client

05.生成密鑰交換文件

創(chuàng)建Diffie-Hellman湾宙,時間會有點長,耐心等待

./easyrsa gen-dh

至此冈绊,server和client端證書已制作完畢

open server端需要的是:

easyrsa3/pki/ca.crt <制作server證書的文件夾>

easyrsa3/pki/private/server.key <制作server證書的文件夾>

easyrsa3/pki/issued/server.crt <制作server證書的文件夾>

easyrsa3/pki/dh.pem

open client端需要的是:

easy-rsa/easyrsa3/pki/ca.crt <制作server證書的文件夾>

easy-rsa/easyrsa3/pki/issued/client.crt <制作server證書的文件夾>

easy-rsa/easyrsa3/pki/private/client.key <制作client證書的文件夾>

06.安裝0penVPN

因為0penVPN依賴于epel源侠鳄,所以需要準備好epel

curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

使用yum命令安裝

yum -y install 0penvpn
# 查看配置文件信息
rpm -ql 0penvpn

修改配置文件

cd /etc/0penvpn/
cp /usr/share/doc/0penvpn-2.4.11/sample/sample-config-files/server.conf /etc/0penvpn/
cat server.conf 
port 1194
proto udp
dev tun
ca keys/ca.crt
cert keys/server.crt
dh keys/dh.pem
server 10.0.1.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 10.0.1.0 255.255.255.0"
push "route 192.168.0.0 255.255.255.0"
keepalive 10 120
cipher AES-256-GCM
persist-key
persist-tun
status 0penvpn-status.log
verb 3
explicit-exit-notify 1

復(fù)制一份需要的證書文件到keys目錄下

mkdir /etc/0penvpn/keys
cd /root/easy-rsa-master/easyrsa3/pki/
cp ca.crt dh.pem issued/server.crt private/server.key /etc/0penvpn/keys/

建立生成拒絕服務(wù)攻擊的證書文件

/etc/0penvpn/keys
0penvpn --genkey --secret ta.key
[root@vpn keys]# ls
ca.crt  dh.pem  server.crt  server.key  ta.key

啟動路由轉(zhuǎn)發(fā)功能

echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf

啟動0penVPN服務(wù)

0penvpn --daemon --config /etc/0penvpn/server.conf
[root@vpn 0penvpn]# netstat -tlunp|grep 1194
udp        0      0 0.0.0.0:1194            0.0.0.0:*                           1362/0penvpn

三、客戶端(遠程主機)配置

在進行客戶端配置之前死宣,確保主機能ping通服務(wù)器的外網(wǎng)卡接口伟恶,也就是

ping 172.16.0.66

但是并不能ping通內(nèi)網(wǎng)卡接口。

客戶端下載:

https://swupdate.0penvpn.org/community/releases/0penvpn-install-2.4.5-I601.exe

準備配置文件和證書文件

cd 
mdkir client
cd client
cp /usr/share/doc/0penvpn-2.4.11/sample/sample-config-files/client.conf .
[root@vpn client-pki]# cat client.conf 
client
dev tun
proto udp
remote my-server-1 1194
remote 172.16.0.66 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
remote-cert-tls server
tls-auth ta.key 1
cipher AES-256-GCM
verb 3
mv client.conf client.ovpn
cp /root/easy-rsa-master/easyrsa3/pki/ca.crt /root/client
cp /root/easy-rsa-master/easyrsa3_client/pki/private/client.key /root/client
cp /root/easy-rsa-master/easyrsa3/pki/issued/server.crt /root/client
cp /etc/0penvpn/keys/ta.key /root/client/
[root@vpn client]# ls
ca.crt  client.crt  client.key  client.ovpn  ta.key

打包并傳到客戶端上

zip client.zip client/*

將壓縮包和0penVPN的安裝程序都傳到客戶端去


image-20210629161552929.png

安裝軟件毅该,如果在安裝軟件的過程中提示需要安裝Microsoft .NET Framework時博秫,需要聯(lián)網(wǎng)安裝,可以配置網(wǎng)絡(luò)的網(wǎng)關(guān)和DNS眶掌,讓客戶機聯(lián)網(wǎng)自動下載安裝挡育。

解壓壓縮文件,將里面的證書和配置文件一起拷貝到0penVPN的安裝目錄下朴爬。


image-20210629162249867.png

在安裝好0penVPN之后静盅,雙擊程序快捷方式,以管理員的身份運行寝殴,并修改默認的配置文件和日志文件路徑。


image-20210629162434666.png

配置好之后明垢,可以點擊圖標的蚣常,建立連接,正常連接的話痊银,會在彈出連接對話框之后自動關(guān)閉抵蚊。

此時,查看電腦的IP地址之后,就會發(fā)現(xiàn)會多出一個地址贞绳,這個地址就是使用0penVPN撥號之后分配到的地址谷醉。


image-20210629163610570.png

簡單測試:

可以在客戶端終端輸入

ping 192.168.0.66

可以發(fā)現(xiàn)能正常ping通,說明客戶端可以連接到服務(wù)器的內(nèi)網(wǎng)網(wǎng)卡冈闭,可以嘗試一下能否ping通局域網(wǎng)主機俱尼,輸入

ping 192.168.0.100

意外發(fā)現(xiàn)竟然連接超時,但是我們能正常ping通內(nèi)網(wǎng)接口萎攒,說明不是0penVPN配置問題遇八。

造成這個問題的原因可能是局域網(wǎng)主機沒有配置網(wǎng)關(guān),無法響應(yīng)我們的請求耍休。

想要解決這個問題刃永,有兩種方法:

1.給內(nèi)網(wǎng)機器配置網(wǎng)關(guān),通過網(wǎng)關(guān)相應(yīng)遠程的請求羊精。但是一般我們內(nèi)網(wǎng)服務(wù)器為了安全斯够,不建議上配置網(wǎng)關(guān),連接外網(wǎng)喧锦。

2.配置iptables服務(wù)读规,通過修改nat表將地址轉(zhuǎn)化。

步驟:

在服務(wù)器端配置iptables服務(wù)

iptables -t nat -L
iptables -t nat -A POSTROUTING -s 10.0.1.0/24 -j  MASQUERADE
iptables -t nat -L
# 配置好之后會發(fā)現(xiàn)多出一條規(guī)則

四裸违、內(nèi)網(wǎng)服務(wù)器配置

內(nèi)網(wǎng)服務(wù)器配置簡單掖桦,按照要求配置好IP地址,此時的電腦無法連接外網(wǎng)供汛,只能與服務(wù)器的內(nèi)網(wǎng)卡通信枪汪,確保的內(nèi)網(wǎng)主機的安全。

測試局域網(wǎng)主機與服務(wù)內(nèi)網(wǎng)網(wǎng)卡的連通性:

ping 192.168.0.66

能正常連通怔昨。

重要的步驟:

在配置好之后雀久,一定要關(guān)閉電腦的防火墻配置,因為到時遠程客戶機是以10.0.1.0網(wǎng)段進行訪問趁舀,會被拒絕赖捌。

五、連接測試

所有的連接測試都在遠程客戶端進行

01.先測試客戶端是否獲取0penVPN分配的內(nèi)網(wǎng)地址:

02.測試客戶端是否能ping通服務(wù)器外網(wǎng)卡接口地址

03.測試客戶端是否能ping通服務(wù)器內(nèi)網(wǎng)卡接口地址

04.測試客戶端是否能ping通服務(wù)器局域網(wǎng)主機


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末矮烹,一起剝皮案震驚了整個濱河市越庇,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌奉狈,老刑警劉巖卤唉,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異仁期,居然都是意外死亡桑驱,警方通過查閱死者的電腦和手機竭恬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來熬的,“玉大人痊硕,你說我怎么就攤上這事⊙嚎颍” “怎么了岔绸?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長强戴。 經(jīng)常有香客問我亭螟,道長,這世上最難降的妖魔是什么骑歹? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任预烙,我火速辦了婚禮,結(jié)果婚禮上道媚,老公的妹妹穿的比我還像新娘扁掸。我一直安慰自己,他們只是感情好最域,可當我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布谴分。 她就那樣靜靜地躺著,像睡著了一般镀脂。 火紅的嫁衣襯著肌膚如雪牺蹄。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天薄翅,我揣著相機與錄音沙兰,去河邊找鬼。 笑死翘魄,一個胖子當著我的面吹牛鼎天,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播暑竟,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼斋射,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了但荤?” 一聲冷哼從身側(cè)響起罗岖,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎腹躁,沒想到半個月后桑包,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡潜慎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年捡多,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片铐炫。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡垒手,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出倒信,到底是詐尸還是另有隱情科贬,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布鳖悠,位于F島的核電站榜掌,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏乘综。R本人自食惡果不足惜憎账,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望卡辰。 院中可真熱鬧胞皱,春花似錦、人聲如沸九妈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽萌朱。三九已至宴树,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間晶疼,已是汗流浹背酒贬。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留冒晰,地道東北人同衣。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像壶运,于是被迫代替她去往敵國和親耐齐。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內(nèi)容