前言
應(yīng)公司要求需要在一臺(tái)遠(yuǎn)程服務(wù)器上搭建一個(gè)OpenVPN服務(wù)端,在公司本地服務(wù)器上搭建一個(gè)OpenVPN客戶端,實(shí)現(xiàn)公司內(nèi)網(wǎng)可以訪問(wèn)遠(yuǎn)程服務(wù)器的內(nèi)網(wǎng)資產(chǎn)。
客戶端與服務(wù)端環(huán)境介紹
- ? 服務(wù)器:
- ? 外網(wǎng):111.6.XXX.XXX
- ? 內(nèi)網(wǎng):172.XX.XX.23/25
- ? 系統(tǒng):CentOS 7
- ? 客戶端:
- ? 外網(wǎng):1.192.XX.XX
- ? 內(nèi)網(wǎng):10.10.XX.XX
- ? CentOS 7
開(kāi)始搭建:
1、準(zhǔn)備OpenVPN證書(shū)、密鑰等文件
1.1、從github上下載easy-rsa并傳到服務(wù)器上。
然后解壓并進(jìn)入該文件目錄。
1.2、安裝easy-rsa和openvpn,執(zhí)行如下命令:
yum install easy-rsa openvpn -y
1.3、下載好的easy-rsa文件里面內(nèi)容如下:
剛下載好的是沒(méi)有vars文件的,我們復(fù)制一下并重命名
cp vars.example vars
然后編輯vars文件,找到如下位置并修改為你自己對(duì)應(yīng)的信息。
然后使文件生效
source vars
./clean-all
1.4、生成根證書(shū)和根密鑰
執(zhí)行命令
./easyrsa build-ca
1.5、生成server證書(shū)和server密鑰
執(zhí)行命令
./easyrsa build-server-full server
隨后會(huì)生成3個(gè)文件:
server.crt
server.req
server.key
生成server.key的時(shí)候會(huì)要求輸入密碼,該密碼用于啟動(dòng)openvpn服務(wù)時(shí)的認(rèn)證(如果不填寫(xiě)即啟動(dòng)服務(wù)時(shí)不需要輸入密碼)
1.6、生成client的根證書(shū)和根密鑰
類(lèi)似服務(wù)端,客戶端也要生成證書(shū)和密鑰。client.key文件的密碼,用于客戶端的密碼認(rèn)證。執(zhí)行命令:
./easyrsa build-client-full client
1.7、生成密鑰交換文件dh.pem
執(zhí)行命令:
./easyrsa gen-dh
執(zhí)行完畢后,文件生成在/usr/share/easy-rsa/pki/dh.pem
1.8、最后整理生成的證書(shū)和密鑰
把服務(wù)端的證書(shū)和密鑰放入/etc/openvpn/server/
下,把客戶端的證書(shū)和密鑰放入/etc/open/client/
下:
cp ca.crt /etc/openvpn/server/
cp dh.pem /etc/openvpn/server/
cp server.crt /etc/openvpn/server/
cp server.key /etc/openvpn/server/
cp ca.crt /etc/openvpn/client/
cp client.crt /etc/openvpn/client/
cp client.key /etc/openvpn/client/
2、修改服務(wù)器配置文件
執(zhí)行命令
cp /usr/share/doc/openvpn/sample/sample-config-files/server.conf /etc/openvpn
將server.conf文件復(fù)制到openvpn的配置目錄下,這里可能每個(gè)人的目錄都不一樣,但是肯定是在doc目錄下有一個(gè)openvpn的目錄 編輯server.conf文件,找到如下位置并修改:
注意:這里不能有錯(cuò)誤,有一個(gè)錯(cuò)誤都會(huì)導(dǎo)致服務(wù)啟動(dòng)不起來(lái)
端口可以自己設(shè)定,但設(shè)定后要與待會(huì)客戶端的保持一致
使用tcp或者udp協(xié)議,自己根據(jù)情況考慮
四個(gè)證書(shū)的位置,根據(jù)自己的路徑設(shè)置好
server那一行,是服務(wù)端給客戶端分配的IP地址默認(rèn)是10.8.0.0段
第一個(gè)push,與自己上面的配置對(duì)應(yīng)起來(lái)
第二個(gè)push,與自己服務(wù)器的內(nèi)網(wǎng)IP對(duì)應(yīng)起來(lái),注意子網(wǎng)掩碼不要錯(cuò)
修改加密方式為AES-256-GCM
最后保存文件
3、啟動(dòng)OpenVPN服務(wù)
到此就可以啟動(dòng)OpenVPN服務(wù)了,執(zhí)行命令
openvpn --daemon --config server.conf
最后查看端口是否開(kāi)啟:
netstat -lntup | grep 1194
這里端口根據(jù)自己的配置輸入
4、啟動(dòng)路由轉(zhuǎn)發(fā)
最后為服務(wù)器開(kāi)啟路由轉(zhuǎn)發(fā),這樣客戶端才可以訪問(wèn)服務(wù)器內(nèi)網(wǎng)中的其他服務(wù)器。輸入如下命令:
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE
5、客戶端配置
5.1、證書(shū)及配置文件
先在服務(wù)端上找到client.conf,復(fù)制到openvpn目錄下:
cp /usr/share/doc/openvpn/sample/sample-config-files/client.conf /etc/openvpn/client/
然后編輯client.conf文件 cipher AES-256-CBC 改為 cipher AES-256-GCM 找到 remote my-server-1 1194 改為 remote 111.6.XX.XX 1194
此處IP為OpenVPN服務(wù)端的外網(wǎng)IP 最后將/etc/openvpn/client文件傳輸?shù)娇蛻舳松稀?/p>
5.2、安裝OpenVPN,根據(jù)自己的情況在Windows或Linux下安裝
- Windows直接去下載安裝包:
https://openvpn.net/community-downloads/
- Linux輸入命令:
yum -y install openvpn
5.3、連接服務(wù)端
5.3.1、Windows
Windows下找到你的OpenVPN的安裝目錄,打開(kāi)config文件,將服務(wù)端的/etc/openvpn/client目錄下的文件放到客戶端的config目錄下, 把client.conf重命名為client.ovpn
最后,打開(kāi)OpenVPN的設(shè)置,選高級(jí),查看路徑是否為你OpenVPN的正確路徑。
確認(rèn)無(wú)誤后直接連接即可。
可以看到成功連接并獲取到了服務(wù)端分配的IP。
5.3.2 Linux Linux下把服務(wù)端的/etc/openvpn/client目錄傳輸?shù)娇蛻舳松?/p>
然后在客戶端上運(yùn)行client.conf
openvpn client.conf
可以看到連接成功
查看IP地址
可以看到客戶端成功獲取到服務(wù)端的分配的地址。
6、驗(yàn)證網(wǎng)絡(luò)連通性
在客戶端分別ping服務(wù)端地址,服務(wù)端內(nèi)網(wǎng)其他地址。
ping 10.8.0.1
ping 111.6.xx.xx
ping 172.xx.xx.23
ping 172.xx.xx.60
可以看到網(wǎng)絡(luò)全部都是連通的。
7、總結(jié)
至此已經(jīng)完成了OpenVPN客戶端與服務(wù)端的搭建,客戶端也能成功與服務(wù)端內(nèi)網(wǎng)進(jìn)行通信,整個(gè)過(guò)程比較復(fù)雜,可以自己多配幾遍,多理解一下,切記配置文件中的內(nèi)容不能有一點(diǎn)錯(cuò)誤,否則就會(huì)導(dǎo)致客戶端連不上。
-
Linux系統(tǒng)
+關(guān)注
關(guān)注
4文章
588瀏覽量
27265 -
UDP協(xié)議
+關(guān)注
關(guān)注
0文章
68瀏覽量
12667 -
CentOS
+關(guān)注
關(guān)注
0文章
76瀏覽量
13712 -
TCP通信
+關(guān)注
關(guān)注
0文章
146瀏覽量
4192
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論