0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在Linux上設(shè)置OpenVPN服務(wù)器和客戶端

馬哥Linux運(yùn)維 ? 來源:huaweicloud ? 2024-08-05 15:10 ? 次閱讀

VPN 代表虛擬專用網(wǎng)絡(luò)

虛擬專用網(wǎng)絡(luò)使計(jì)算機(jī)能夠?qū)?shù)據(jù)從一個(gè)專用網(wǎng)絡(luò)發(fā)送和接收到另一個(gè)通過公共網(wǎng)絡(luò)(Internet)連接的專用網(wǎng)絡(luò)。

這對于那些在公司內(nèi)網(wǎng)之外,并且喜歡安全地連接到辦公網(wǎng)絡(luò)以訪問內(nèi)部服務(wù)器的人來說是有幫助的。當(dāng)您將多個(gè)分支機(jī)構(gòu)連接在一起時(shí),VPN 也很有幫助。

即使您沒有將多個(gè)分支機(jī)構(gòu)連接在一起,您仍然可以使用 VPN 設(shè)置讓您的員工從他們的筆記本電腦遠(yuǎn)程連接到數(shù)據(jù)中心并訪問系統(tǒng)。

569efe2c-4fa4-11ef-b8af-92fbcf53809c.png

有時(shí)公司會(huì)購買專線組成WAN(廣域網(wǎng)),并與分支機(jī)構(gòu)進(jìn)行通信。專線雖然安全可靠,但價(jià)格昂貴。

VPN 通過通過公共網(wǎng)絡(luò)提供點(diǎn)對點(diǎn)虛擬連接來填補(bǔ)這一空白。VPN 可以擴(kuò)展以輕松容納不同地理位置的更多用戶。

VPN的類型

概括地說,以下是兩種類型的 VPN:

遠(yuǎn)程訪問

站點(diǎn)到站點(diǎn)

遠(yuǎn)程訪問是通過 VPN 將個(gè)人計(jì)算機(jī)連接到網(wǎng)絡(luò)?!罢军c(diǎn)到站點(diǎn)”通過 VPN 將兩個(gè)網(wǎng)絡(luò)連接在一起。

什么是 OpenVPN

來自 OpenVPN 人:

OpenVPN 是 James Yonan 的開源 VPN 守護(hù)程序。OpenVPN 是一個(gè)強(qiáng)大且高度靈活的 VPN 守護(hù)程序。OpenVPN 支持 SSL/TLS 安全性、以太網(wǎng)橋接、通過代理或 NAT 的 TCP 或 UDP 隧道傳輸、對動(dòng)態(tài) IP 地址和 DHCP 的支持、對成百上千用戶的可擴(kuò)展性以及對大多數(shù)主要操作系統(tǒng)平臺的可移植性。

教程解釋了為遠(yuǎn)程訪問設(shè)置和配置 OpenVPN 服務(wù)器和客戶端的過程。

一、配置OpenVPN——服務(wù)器端

1. 安裝 OpenVPN

在服務(wù)器和客戶端機(jī)器上安裝 openvpn 包。

$ sudo apt-get install openvpn

使用您正在使用的發(fā)行版的相應(yīng)包管理器。如果您使用的是 yum,請執(zhí)行以下操作

$ yum install openvpn

2.創(chuàng)建目錄并設(shè)置Env變量

在/etc/openvpn中創(chuàng)建一個(gè)目錄并將easy-rsa內(nèi)容復(fù)制到其中。這樣做是為了確保在升級包時(shí)對腳本所做的更改不會(huì)丟失。將所有者更改為當(dāng)前用戶,以便當(dāng)前用戶具有創(chuàng)建文件的權(quán)限。

$ sudo mkdir /etc/openvpn/easy-rsa 

$ sudo cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa 

$ sudo chown -R $USER /etc/ openvpn/easy-rsa/

接下來,編輯/etc/openvpn/easy-rsa/vars以適應(yīng)您的環(huán)境。

export KEY_COUNTRY="IN" 
export KEY_PROVINCE="TN" 
export KEY_CITY="CHN" 
export KEY_ORG="tgs" 
export KEY_EMAIL="admin@hgst.com.cn"

3. 創(chuàng)建 CA – 證書頒發(fā)機(jī)構(gòu)(根證書)

構(gòu)建 openvpn 服務(wù)器的下一步是建立一個(gè)公鑰基礎(chǔ)設(shè)施,以便服務(wù)器和客戶端可以相互驗(yàn)證。

$ cd /etc/openvpn/easy-rsa/

$ source vars

$ ./clean-all

$ ln -s openssl-1.0.0.cnf openssl.cnf

$ ./build-ca

Generating a 1024 bit RSA private key
........++++++
......++++++
unable to write 'random state'
writing new private key to 'ca.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [IN]:
State or Province Name (full name) [TN]:
Locality Name (eg, city) [CHN]:
Organization Name (eg, company) [tgs]:
Organizational Unit Name (eg, section) [changeme]:
Common Name (eg, your name or your server's hostname) [changeme]:
Name [changeme]:lakshmanan
Email Address [mail@host.domain]:admin@hgst.com.cn

./build-ca完成后,您將在/etc/openvpn/easy-rsa/keys/中看到一個(gè)名為“ca.key”和“ca.crt ”的文件

請記住,“.key”文件必須保密。

4. 為服務(wù)器創(chuàng)建證書

下一步是為我們的 Openvpn 服務(wù)器創(chuàng)建一個(gè)證書。

$ /etc/openvpn/easy-rsa/build-key-server vpnserver
...
...

Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y

請注意,vpnserver 是服務(wù)器的 HOSTNAME。該命令將接受用戶的輸入,類似于前一個(gè)命令。此命令將為服務(wù)器創(chuàng)建證書和密鑰文件。

5. 為客戶創(chuàng)建證書

VPN 客戶端還需要證書來與服務(wù)器進(jìn)行身份驗(yàn)證。如果要配置多個(gè)客戶端,則需要為每個(gè)客戶端分別創(chuàng)建證書。

$ ./build-key vpnclient1
...
...

Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y

vpnclient1 是客戶端的主機(jī)名。此命令將為客戶端創(chuàng)建證書和密鑰文件。

6. 創(chuàng)建 Diffie Hellman 參數(shù)

$ ./build-dh

成功完成上述所有步驟后,您將在/etc/openvpn/easy-rsa/keys中擁有許多密鑰和證書文件。

7. 將證書復(fù)制到相應(yīng)位置

我們已經(jīng)創(chuàng)建了根證書、服務(wù)器證書和客戶端證書。我們需要將它們復(fù)制到適當(dāng)?shù)奈恢谩?/p>

$ cd /etc/openvpn/easy-rsa/keys/ 

$ sudo cp ca.crt vpnserver.crt vpnserver.key dh1024.pem /etc/openvpn/ 

$ scp ca.crt vpnclient1.key vpnclient1.crt root@vpnclient1:/etc /openvpn

現(xiàn)在我們已將客戶端證書和密鑰復(fù)制到客戶端計(jì)算機(jī)。在復(fù)制密鑰文件時(shí),請記住使用 scp 之類的安全介質(zhì)。

8. 配置服務(wù)器

OpenVPN 提供了一個(gè)默認(rèn)的 server.conf。您可以根據(jù)需要對其進(jìn)行修改。

$ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/ 

$ sudo gzip -d /etc/openvpn/server.conf.gz

編輯“/etc/openvpn/server.conf”。

ca ca.crt
cert vpnserver.crt
key vpnserver.key
dh dh1024.pem

現(xiàn)在啟動(dòng) OpenVPN 服務(wù)器:

$ sudo /etc/init.d/openvpn start
 * Starting virtual private network daemon(s)... 
 * Autostarting VPN 'server'

$ ifconfig tun0
tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.8.0.1  P-t-P:10.8.0.2  Mask:255.255.255.255

默認(rèn)情況下,openVPN 會(huì)在 syslog 文件中記錄錯(cuò)誤。

二、配置 OpenVPN – 客戶端

9. 設(shè)置客戶端配置文件

現(xiàn)在我們將配置 openVPN 作為客戶端工作。記住我們已經(jīng)在客戶端安裝了openvpn包,我們在/etc/openvpn/中有“ca.crt”、“vpnclient1.key”、vpnclient1.crt”

將示例 client.conf 復(fù)制到/etc/openvpn。

$ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/

編輯/etc/openvpn/client.conf。

...
# Specify that this is openvpn client
client

remote vpnserver 1194

ca ca.crt

cert vpnclient1.crt

key vpnclient1.key

現(xiàn)在在客戶端啟動(dòng) OpenVPN

$ /etc/init.d/openvpn start
 * Starting virtual private network daemon(s)... 
 * Autostarting VPN 'client'

$ ifconfig tun0
tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.8.0.6  P-t-P:10.8.0.5  Mask:255.255.255.255

10. 測試 VPN 設(shè)置

從客戶端機(jī)器 ping vpnserver 以查看 VPN 是否正常工作。

$ ping 10.8.0.1

PING 10.8.0.1 (10.8.0.1) 56(84) bytes of data.
64 bytes from 10.8.0.1: icmp_req=1 ttl=64 time=2.14 ms

如果您能夠 ping 通,那么您已經(jīng)進(jìn)行了正確的設(shè)置。

請記住以下幾點(diǎn):

確??蛻舳撕头?wù)器使用相同的協(xié)議和端口號。

客戶端和服務(wù)器必須對一些參數(shù)使用相同的配置,如密鑰大小、壓縮等……

如果出現(xiàn)任何問題,請?jiān)谂渲弥性黾尤罩驹敿?xì)程度并檢查 syslog 文件以進(jìn)行故障排除。

鏈接:https://bbs.huaweicloud.com/blogs/369552

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11207

    瀏覽量

    208717
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    8958

    瀏覽量

    85082
  • 客戶端
    +關(guān)注

    關(guān)注

    1

    文章

    289

    瀏覽量

    16640

原文標(biāo)題:如何在 Linux 上輕松設(shè)置 OpenVPN 服務(wù)器和客戶端:完整教程與實(shí)用技巧

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    如果ESP的TCP客戶端服務(wù)器斷開連接,如何啟用自動(dòng)重連?

    ESP - TCP 客戶端 嵌入式 Linux 服務(wù)器 - TCP 服務(wù)器 如果ESP的TCP客戶端
    發(fā)表于 07-17 06:25

    IR915作為OpenVPN服務(wù)器實(shí)現(xiàn)客戶端子網(wǎng)互聯(lián)的過程

    網(wǎng)絡(luò)拓?fù)? 1.配置openvpn server 導(dǎo)入相關(guān)的證書文件.(ca.cartca證書、 inhandserver.key服務(wù)器端私鑰、inhandserver.crt服務(wù)器端
    發(fā)表于 07-25 08:10

    OpenVPN下載、安裝、配置及使用詳解

    : ca.crtclient.crtclient.key(名稱client根據(jù)個(gè)人設(shè)置可能有所不同)ta.key(如果服務(wù)器端具備此文件,客戶端也應(yīng)具備)第二步:編寫對應(yīng)的配置文件上面我們已經(jīng)創(chuàng)建了
    發(fā)表于 07-25 06:14

    基于OpenVPN技術(shù)實(shí)現(xiàn)InRouter與SINEMA Remote Connect建立連接

    灰色字體變?yōu)楹谏煮w 3. 創(chuàng)建并測試OpenVPN客戶端 創(chuàng)建OpenVPN客戶端: 配置服務(wù)器IP地址、端口號,點(diǎn)擊新增
    發(fā)表于 07-25 07:52

    VPN如何配置Win7 PPTP(L2TP)客戶端?

    VPN—如何配置Win7 PPTP(L2TP)客戶端? 1)、點(diǎn)擊任務(wù)欄“開始”→“控制面板”→“網(wǎng)絡(luò)和Internet”→ “網(wǎng)絡(luò)和共享中心”,點(diǎn)擊更改網(wǎng)絡(luò)設(shè)置中的“設(shè)置新的連接或網(wǎng)
    發(fā)表于 07-26 08:02

    InRouter路由與中心OpenVPN服務(wù)器構(gòu)建OpenVPN的方法

    ,使得OpenVPN成為中小型企業(yè)及個(gè)人的VPN首選產(chǎn)品。OpenVPN的大致工作原理就是在服務(wù)器端客戶端之間搭建一個(gè)獨(dú)立于當(dāng)前網(wǎng)絡(luò)環(huán)境的
    發(fā)表于 07-26 07:26

    一個(gè)服務(wù)器,多個(gè)客戶端,怎么向指定的客戶端發(fā)數(shù)據(jù)

    我用labview做服務(wù)器,單片機(jī)做客戶端客戶端幾百個(gè),怎么區(qū)分客戶端,給指定的客戶發(fā)發(fā)數(shù)據(jù)
    發(fā)表于 06-01 09:26

    labview-TCP多客戶端服務(wù)器

    labview-TCP多客戶端服務(wù)器一個(gè)服務(wù)器上位機(jī),多個(gè)下位機(jī)客戶端
    發(fā)表于 03-26 16:58

    如何同時(shí)開啟服務(wù)器模式和客戶端模式?

    如題,UCOSII或者FreeRtos下使用LWIP如何同時(shí)開啟服務(wù)器模式和客戶端模式,我這幾天弄了下,單獨(dú)跑其中一個(gè),都好好的,但是同時(shí)跑,客戶端連接上了,服務(wù)器就不行了,誰知道這要
    發(fā)表于 10-31 03:05

    通訊貓MQTT服務(wù)器在線客戶端的問題

    我在網(wǎng)上找一個(gè)通訊貓MQTT服務(wù)器在線客戶端。我有點(diǎn)糊涂,到底是服務(wù)器,還是客戶端??梢赃B上,也可以發(fā)數(shù)據(jù),就是不知道跟誰連。我從上面下了個(gè)WIN32
    發(fā)表于 11-19 12:17

    客戶端服務(wù)器和網(wǎng)絡(luò)技術(shù)

    基于服務(wù)器的計(jì)算代表著一種應(yīng)用程序部署方法。 對以下基于服務(wù)器的計(jì)算環(huán)境而言,瘦客戶端是理想的客戶端設(shè)備: 借助 Windows 2000 或 Windows Server 2003
    發(fā)表于 07-02 16:46 ?17次下載
    瘦<b class='flag-5'>客戶端</b>的<b class='flag-5'>服務(wù)器</b>和網(wǎng)絡(luò)技術(shù)

    Linux下網(wǎng)絡(luò)編程TCP并發(fā)服務(wù)器和TCP客戶端程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是Linux下網(wǎng)絡(luò)編程TCP并發(fā)服務(wù)器和TCP客戶端程序免費(fèi)下載
    發(fā)表于 01-08 15:12 ?9次下載
    <b class='flag-5'>Linux</b>下網(wǎng)絡(luò)編程TCP并發(fā)<b class='flag-5'>服務(wù)器</b>和TCP<b class='flag-5'>客戶端</b>程序免費(fèi)下載

    Linux下TCP網(wǎng)絡(luò)編程-創(chuàng)建服務(wù)器客戶端

    這篇文章介紹在Linux下的socket編程,完成TCP服務(wù)器、客戶端的創(chuàng)建,實(shí)現(xiàn)數(shù)據(jù)通信。
    的頭像 發(fā)表于 08-14 09:26 ?2398次閱讀
    <b class='flag-5'>Linux</b>下TCP網(wǎng)絡(luò)編程-創(chuàng)建<b class='flag-5'>服務(wù)器</b>與<b class='flag-5'>客戶端</b>

    在遠(yuǎn)程服務(wù)器搭建一個(gè)OpenVPN服務(wù)端

    應(yīng)公司要求需要在一臺遠(yuǎn)程服務(wù)器搭建一個(gè)OpenVPN服務(wù)端,在公司本地服務(wù)器搭建一個(gè)
    的頭像 發(fā)表于 05-26 15:03 ?7218次閱讀
    在遠(yuǎn)程<b class='flag-5'>服務(wù)器</b><b class='flag-5'>上</b>搭建一個(gè)<b class='flag-5'>OpenVPN</b><b class='flag-5'>服務(wù)端</b>

    ORB305連接Linux搭建的OpenVPN服務(wù)器操作手冊

    1、網(wǎng)絡(luò)拓?fù)溆脩?b class='flag-5'>服務(wù)器部署再云服務(wù)器,系統(tǒng)采用Linux系統(tǒng),用戶需要Linux系統(tǒng)搭建一套openVPN
    的頭像 發(fā)表于 11-07 10:09 ?838次閱讀
    ORB305連接<b class='flag-5'>Linux</b>搭建的<b class='flag-5'>OpenVPN</b><b class='flag-5'>服務(wù)器</b>操作手冊