偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

在Ubuntu 15.04上配置OpenVPN服務(wù)器和客戶(hù)端

系統(tǒng) Linux 其他OS
OpenSSL提供了兩種加密方法:對(duì)稱(chēng)和非對(duì)稱(chēng)。下面,我們展示了如何配置OpenVPN的服務(wù)器端,以及如何配置使用帶有公共密鑰基礎(chǔ)結(jié)構(gòu)(PKI)的非對(duì)稱(chēng)加密和TLS協(xié)議。假定我們有一臺(tái)裝有類(lèi)Unix操作系統(tǒng)的設(shè)備,比如Ubuntu 15.04,并安裝有OpenVPN。

[[143587]]

虛擬專(zhuān)用網(wǎng)(VPN)常指幾種通過(guò)其它網(wǎng)絡(luò)建立連接技術(shù)。它之所以被稱(chēng)為“虛擬”,是因?yàn)楦鱾€(gè)節(jié)點(diǎn)間的連接不是通過(guò)物理線(xiàn)路實(shí)現(xiàn)的,而“專(zhuān)用”是指如果沒(méi)有網(wǎng)絡(luò)所有者的正確授權(quán)是不能被公開(kāi)訪問(wèn)到。

OpenVPN軟件借助TUN/TAP驅(qū)動(dòng)使用TCP和UDP協(xié)議來(lái)傳輸數(shù)據(jù)。UDP協(xié)議和TUN驅(qū)動(dòng)允許NAT后的用戶(hù)建立到OpenVPN服務(wù)器的連接。此外,OpenVPN允許指定自定義端口。它提供了更多的靈活配置,可以幫助你避免防火墻限制。

OpenVPN中,由OpenSSL庫(kù)和傳輸層安全協(xié)議(TLS)提供了安全和加密。TLS是SSL協(xié)議的一個(gè)改進(jìn)版本。

OpenSSL提供了兩種加密方法:對(duì)稱(chēng)和非對(duì)稱(chēng)。下面,我們展示了如何配置OpenVPN的服務(wù)器端,以及如何配置使用帶有公共密鑰基礎(chǔ)結(jié)構(gòu)(PKI)的非對(duì)稱(chēng)加密和TLS協(xié)議。

服務(wù)器端配置

首先,我們必須安裝OpenVPN軟件。在Ubuntu 15.04和其它帶有‘apt’包管理器的Unix系統(tǒng)中,可以通過(guò)如下命令安裝:

  1. sudo apt-get install openvpn

然后,我們必須配置一個(gè)密鑰對(duì),這可以通過(guò)默認(rèn)的“openssl”工具完成。但是,這種方式十分難。這也是我們使用“easy-rsa”來(lái)實(shí)現(xiàn)此目的的原因。接下來(lái)的命令會(huì)將“easy-rsa”安裝到系統(tǒng)中。

  1. sudo apt-get unstall easy-rsa

注意: 所有接下來(lái)的命令要以超級(jí)用戶(hù)權(quán)限執(zhí)行,如在使用sudo -i命令后執(zhí)行,或者你可以使用sudo -E作為接下來(lái)所有命令的前綴。

開(kāi)始之前,我們需要拷貝“easy-rsa”到openvpn文件夾。

  1. mkdir /etc/openvpn/easy-rsa
  2. cp -r /usr/share/easy-rsa /etc/openvpn/easy-rsa
  3. mv /etc/openvpn/easy-rsa/easy-rsa /etc/openvpn/easy-rsa/2.0

然后進(jìn)入到該目錄:

  1. cd /etc/openvpn/easy-rsa/2.0

這里,我們開(kāi)始密鑰生成進(jìn)程。

首先,我們編輯一個(gè)“vars”文件。為了簡(jiǎn)化生成過(guò)程,我們需要在里面指定數(shù)據(jù)。這里是“vars”文件的一個(gè)樣例:

  1. export KEY_COUNTRY="CN"
  2. export KEY_PROVINCE="BJ"
  3. export KEY_CITY="Beijing"
  4. export KEY_ORG="Linux.CN"
  5. export KEY_EMAIL="open@vpn.linux.cn"
  6. export KEY_OU=server

希望這些字段名稱(chēng)對(duì)你而言已經(jīng)很清楚,不需要進(jìn)一步說(shuō)明了。

其次,我們需要拷貝openssl配置。另外一個(gè)版本已經(jīng)有現(xiàn)成的配置文件,如果你沒(méi)有特定要求,你可以使用它的上一個(gè)版本。這里是1.0.0版本。

  1. cp openssl-1.0.0.cnf openssl.cnf

第三,我們需要加載環(huán)境變量,這些變量已經(jīng)在前面一步中編輯好了。

  1. source ./vars

生成密鑰的最后一步準(zhǔn)備工作是清空舊的證書(shū)和密鑰,以及生成新密鑰的序列號(hào)和索引文件??梢酝ㄟ^(guò)以下命令完成。

  1. ./clean-all

現(xiàn)在,我們完成了準(zhǔn)備工作,準(zhǔn)備好啟動(dòng)生成進(jìn)程了。讓我們先來(lái)生成證書(shū)。

  1. ./build-ca

在對(duì)話(huà)中,我們可以看到默認(rèn)的變量,這些變量是我們先前在“vars”中指定的。我們可以檢查一下,如有必要進(jìn)行編輯,然后按回車(chē)幾次。對(duì)話(huà)如下:

  1. Generating a 2048 bit RSA private key
  2. .............................................+++
  3. ...................................................................................................+++
  4. writing new private key to 'ca.key'
  5. -----
  6. You are about to be asked to enter information that will be incorporated
  7. into your certificate request.
  8. What you are about to enter is what is called a Distinguished Name or a DN.
  9. There are quite a few fields but you can leave some blank
  10. For some fields there will be a default value,
  11. If you enter '.', the field will be left blank.
  12. -----
  13. Country Name (2 letter code) [CN]:
  14. State or Province Name (full name) [BJ]:
  15. Locality Name (eg, city) [Beijing]:
  16. Organization Name (eg, company) [Linux.CN]:
  17. Organizational Unit Name (eg, section) [Tech]:
  18. Common Name (eg, your name or your server's hostname) [Linux.CN CA]:
  19. Name [EasyRSA]:
  20. Email Address [open@vpn.linux.cn]:

接下來(lái),我們需要生成一個(gè)服務(wù)器密鑰。

  1. ./build-key-server server

該命令的對(duì)話(huà)如下:

  1. Generating a 2048 bit RSA private key
  2. ........................................................................+++
  3. ............................+++
  4. writing new private key to 'server.key'
  5. -----
  6. You are about to be asked to enter information that will be incorporated
  7. into your certificate request.
  8. What you are about to enter is what is called a Distinguished Name or a DN.
  9. There are quite a few fields but you can leave some blank
  10. For some fields there will be a default value,
  11. If you enter '.', the field will be left blank.
  12. -----
  13. Country Name (2 letter code) [CN]:
  14. State or Province Name (full name) [BJ]:
  15. Locality Name (eg, city) [Beijing]:
  16. Organization Name (eg, company) [Linux.CN]:
  17. Organizational Unit Name (eg, section) [Tech]:
  18. Common Name (eg, your name or your server's hostname) [Linux.CN server]:
  19. Name [EasyRSA]:
  20. Email Address [open@vpn.linux.cn]:
  21.  
  22. Please enter the following 'extra' attributes
  23. to be sent with your certificate request
  24. A challenge password []:
  25. An optional company name []:
  26. Using configuration from /etc/openvpn/easy-rsa/2.0/openssl-1.0.0.cnf
  27. Check that the request matches the signature
  28. Signature ok
  29. The Subject's Distinguished Name is as follows
  30. countryName :PRINTABLE:'CN'
  31. stateOrProvinceName :PRINTABLE:'BJ'
  32. localityName :PRINTABLE:'Beijing'
  33. organizationName :PRINTABLE:'Linux.CN'
  34. organizationalUnitName:PRINTABLE:'Tech'
  35. commonName :PRINTABLE:'Linux.CN server'
  36. name :PRINTABLE:'EasyRSA'
  37. emailAddress :IA5STRING:'open@vpn.linux.cn'
  38. Certificate is to be certified until May 22 19:00:25 2025 GMT (3650 days)
  39. Sign the certificate? [y/n]:y
  40. 1 out of 1 certificate requests certified, commit? [y/n]y
  41. Write out database with 1 new entries
  42. Data Base Updated

這里,最后兩個(gè)關(guān)于“簽署證書(shū)”和“提交”的問(wèn)題,我們必須回答“yes”。

#p#

現(xiàn)在,我們已經(jīng)有了證書(shū)和服務(wù)器密鑰。下一步,就是去生成Diffie-Hellman密鑰。執(zhí)行以下命令,耐心等待。在接下來(lái)的幾分鐘內(nèi),我們將看到許多點(diǎn)和加號(hào)。

  1. ./build-dh

該命令的輸出樣例如下:

  1. Generating DH parameters, 2048 bit long safe prime, generator 2
  2. This is going to take a long time
  3. ................................+................<許多的點(diǎn)>

在漫長(zhǎng)的等待之后,我們可以繼續(xù)生成最后的密鑰了,該密鑰用于TLS驗(yàn)證。命令如下:

  1. openvpn --genkey --secret keys/ta.key

現(xiàn)在,生成完畢,我們可以移動(dòng)所有生成的文件到最后的位置中。

  1. cp -r /etc/openvpn/easy-rsa/2.0/keys/ /etc/openvpn/

最后,我們來(lái)創(chuàng)建OpenVPN配置文件。讓我們從樣例中拷貝過(guò)來(lái)吧:

  1. cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
  2. cd /etc/openvpn
  3. gunzip -d /etc/openvpn/server.conf.gz

然后編輯:

  1. vim /etc/openvpn/server.conf

我們需要指定密鑰的自定義路徑

  1. ca /etc/openvpn/keys/ca.crt
  2. cert /etc/openvpn/keys/server.crt
  3. key /etc/openvpn/keys/server.key # This file should be kept secret
  4. dh /etc/openvpn/keys/dh2048.pem

一切就緒。在重啟OpenVPN后,服務(wù)器端配置就完成了。

  1. service openvpn restart

Unix的客戶(hù)端配置

假定我們有一臺(tái)裝有類(lèi)Unix操作系統(tǒng)的設(shè)備,比如Ubuntu 15.04,并安裝有OpenVPN。我們想要連接到前面建立的OpenVPN服務(wù)器。首先,我們需要為客戶(hù)端生成密鑰。為了生成該密鑰,請(qǐng)轉(zhuǎn)到服務(wù)器上的對(duì)應(yīng)目錄中:

  1. cd /etc/openvpn/easy-rsa/2.0

加載環(huán)境變量:

  1. source vars

然后創(chuàng)建客戶(hù)端密鑰:

./build-key client 

我們將看到一個(gè)與先前關(guān)于服務(wù)器密鑰生成部分的章節(jié)描述一樣的對(duì)話(huà),填入客戶(hù)端的實(shí)際信息。

如果需要密碼保護(hù)密鑰,你需要運(yùn)行另外一個(gè)命令,命令如下:

  1. ./build-key-pass client

在此種情況下,在建立VPN連接時(shí),會(huì)提示你輸入密碼。

現(xiàn)在,我們需要將以下文件從服務(wù)器拷貝到客戶(hù)端/etc/openvpn/keys/文件夾。

服務(wù)器文件列表:

  • ca.crt,
  • dh2048.pem,
  • client.crt,
  • client.key,
  • ta.key.

在此之后,我們轉(zhuǎn)到客戶(hù)端,準(zhǔn)備配置文件。配置文件位于/etc/openvpn/client.conf,內(nèi)容如下:

  1. dev tun
  2. proto udp
  3.  
  4. # 遠(yuǎn)程 OpenVPN 服務(wù)器的 IP 和 端口號(hào)
  5. remote 111.222.333.444 1194
  6.  
  7. resolv-retry infinite
  8.  
  9. ca /etc/openvpn/keys/ca.crt
  10. cert /etc/openvpn/keys/client.crt
  11. key /etc/openvpn/keys/client.key
  12. tls-client
  13. tls-auth /etc/openvpn/keys/ta.key 1
  14. auth SHA1
  15. cipher BF-CBC
  16. remote-cert-tls server
  17. comp-lzo
  18. persist-key
  19. persist-tun
  20.  
  21. status openvpn-status.log
  22. log /var/log/openvpn.log
  23. verb 3
  24. mute 20

在此之后,我們需要重啟OpenVPN以接受新配置。

  1. service openvpn restart

好了,客戶(hù)端配置完成。

#p#

安卓客戶(hù)端配置

安卓設(shè)備上的OpenVPN配置和Unix系統(tǒng)上的十分類(lèi)似,我們需要一個(gè)含有配置文件、密鑰和證書(shū)的包。文件列表如下:

  • 配置文件 (擴(kuò)展名 .ovpn),
  • ca.crt,
  • dh2048.pem,
  • client.crt,
  • client.key.

客戶(hù)端密鑰生成方式和先前章節(jié)所述的一樣。

配置文件內(nèi)容如下:

  1. client tls-client
  2. dev tun
  3. proto udp
  4.  
  5. # 遠(yuǎn)程 OpenVPN 服務(wù)器的 IP 和 端口號(hào)
  6. remote 111.222.333.444 1194
  7.  
  8. resolv-retry infinite
  9. nobind
  10. ca ca.crt
  11. cert client.crt
  12. key client.key
  13. dh dh2048.pem
  14. persist-tun
  15. persist-key
  16.  
  17. verb 3
  18. mute 20

所有這些文件我們必須移動(dòng)我們?cè)O(shè)備的SD卡上。

然后,我們需要安裝一個(gè)OpenVPN Connect 應(yīng)用。

接下來(lái),配置過(guò)程很是簡(jiǎn)單:

  • 打開(kāi) OpenVPN 并選擇“Import”選項(xiàng)
  • 選擇“Import Profile from SD card”
  • 在打開(kāi)的窗口中導(dǎo)航到我們放置好文件的目錄,并選擇那個(gè) .ovpn 文件
  • 應(yīng)用會(huì)要求我們創(chuàng)建一個(gè)新的配置文件
  • 點(diǎn)擊“Connect”按鈕并稍等一下

搞定?,F(xiàn)在,我們的安卓設(shè)備已經(jīng)通過(guò)安全的VPN連接連接到我們的專(zhuān)用網(wǎng)。

尾聲

雖然OpenVPN初始配置花費(fèi)不少時(shí)間,但是簡(jiǎn)易的客戶(hù)端配置為我們彌補(bǔ)了時(shí)間上的損失,也提供了從任何設(shè)備連接的能力。此外,OpenVPN提 供了一個(gè)很高的安全等級(jí),以及從不同地方連接的能力,包括位于NAT后面的客戶(hù)端。因此,OpenVPN可以同時(shí)在家和企業(yè)中使用。

責(zé)任編輯:火鳳凰 來(lái)源: Linux中國(guó)
相關(guān)推薦

2014-06-01 11:03:13

VDI零客戶(hù)端

2015-07-08 09:21:29

SNMP網(wǎng)絡(luò)管理簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議

2019-05-05 10:42:22

LinuxNTP命令

2010-05-31 19:29:46

SVN客戶(hù)端配置

2009-06-27 20:32:00

LinuxNFS客戶(hù)端

2009-08-18 12:51:19

服務(wù)器+客戶(hù)端

2025-06-19 02:30:00

Spring服務(wù)器MCP

2009-09-16 15:44:25

2023-05-27 16:27:25

2011-06-09 10:51:26

Qt 服務(wù)器 客戶(hù)端

2014-07-17 15:47:52

2009-09-17 18:06:44

Nis服務(wù)器

2009-12-28 15:04:40

2015-07-09 09:23:19

HTTP流量Ubuntu15.04Webalizer

2015-09-11 16:47:51

安裝DockerUbuntu

2009-06-10 16:25:02

2010-01-11 13:05:24

VNC server配

2009-12-25 10:47:17

DNS服務(wù)器

2009-09-16 16:09:41

NIS服務(wù)器客戶(hù)端NIS

2019-08-28 15:19:15

PythonTCP服務(wù)器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)