日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
實(shí)踐出真知布署openvpn環(huán)境應(yīng)注意的事

 【.com獨(dú)家特稿】前言

OpenVPN是一個(gè)開(kāi)源的加密隧道構(gòu)建工具,基于OpenSSL的SSL/TLS協(xié)議,可以在Internet中 實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)的SSLVPN安全連接。使用OpenVPN的好處是安全、易用和穩(wěn)定,且認(rèn)證方式靈活,具備實(shí)現(xiàn)SSL VPN解決方案的完整特性。OpenVPN可以應(yīng)用于Linux、Unix、Mac OS以及Windows等各種操作系統(tǒng)平臺(tái)。OpenVPN提供兩種 類型的虛擬網(wǎng)絡(luò)接口:TUN和TAP,分別用于建議IP隧道、以太網(wǎng)橋接。在Linux/unix中使用這兩種虛擬設(shè)備,需要對(duì)應(yīng)的內(nèi)核模塊支持。 RHEL5/FreeBSD8系統(tǒng)默認(rèn)已編譯好TUN模塊,直接使用即可。OpenVPN的官方站點(diǎn)是http://openvpn.net,目前穩(wěn)定版為OpenVPN-2.0.9。

推薦專題:企業(yè)內(nèi)網(wǎng)開(kāi)發(fā)環(huán)境部署與管理全攻略(FreeBSD+PHP)

我替公司設(shè)計(jì)VPN家庭辦公方案時(shí),初期部署的是pptpd方案,穩(wěn)定性和加密性大家都是還滿意的;后期在運(yùn)作時(shí)發(fā)現(xiàn),許多小區(qū)或用電信路由器作NAT撥號(hào)的同事發(fā)現(xiàn),根本連接不了公司的公網(wǎng)pptpd服務(wù)器,撥號(hào)時(shí)出現(xiàn)了619報(bào)錯(cuò),具體原因?yàn)椋?/p>

這種情況大數(shù)多原因?yàn)榭蛻魴C(jī)連接Internet的網(wǎng)關(guān)(如家庭寬帶路由或公司上網(wǎng)網(wǎng)關(guān)路由或防火墻)NAT-T功能關(guān)閉或?qū)PN支持性不好,主要是對(duì)GRE及PPTP協(xié)議的NAT-T不支持??纱蜷_(kāi)網(wǎng)關(guān)路由的NAT-T功能,如果還是出現(xiàn)錯(cuò)誤,則需要更換網(wǎng)關(guān)設(shè)備,現(xiàn)在市面上大多數(shù)設(shè)備已經(jīng)支持。由于公司在小區(qū)或家里有幾臺(tái)電腦的情況都很普遍,另考慮到以前布署的點(diǎn)對(duì)點(diǎn)openvpn穿透能力還是很強(qiáng)的,考慮放棄pptpd,改用openvpn。

值得注意的是:為了消除防火墻及路由器的影響,我直接將openvpn服務(wù)器放在防火墻前面(如果置于防火墻后,還要考慮DMZ映射及路由方面的因素,失敗率比較高),為了穩(wěn)定性我用的是64bit的Centos5.5,LAN:192.168.4.222,WAN:220.249.x.x。

這里提前說(shuō)明一下openvpn的網(wǎng)絡(luò)部署應(yīng)該注意的情況,如果你所在小區(qū)的局域網(wǎng)是192.168.1.0,而你的openvpn所在局域網(wǎng)也是192.168.4.0的話,會(huì)發(fā)生杯具性的事情,你是撥不上openvpn服務(wù)器的;所以你在規(guī)劃你的網(wǎng)絡(luò)時(shí),應(yīng)該考慮將網(wǎng)段不要設(shè)計(jì)成192.168.1.0的網(wǎng)段,考慮用192.168.4.0或192.168.10.0這些不常見(jiàn)的網(wǎng)段;你到星巴克咖啡館唱咖啡時(shí)你會(huì)驚奇的發(fā)現(xiàn),大多數(shù)類似的提供無(wú)線服務(wù),基本是將局域網(wǎng)設(shè)計(jì)成192.168.1.0的,所以我推薦公司的網(wǎng)絡(luò)盡量不要用192.168.1.0的網(wǎng)段,切記。

完整安裝步驟如下(以下過(guò)程我重復(fù)了上百次,大家可依此實(shí)驗(yàn),F(xiàn)reebsd及Linux均適用)

一、安裝前的準(zhǔn)備工作

OpenVPN是基于openssl的,所以需要安裝openssl,在freebsd8下可采用port安裝 cd /usr/ports/security/openssl && make install clean;

RHEL5&Centos5下用 yum -y install openssl openssl-devel

二、 安裝服務(wù)器端及配置 ,源碼包我放在/usr/local/src下。

①首先下載及安裝lzo軟件包,用于壓縮隧道通訊數(shù)據(jù)以加快傳輸速度。

wget  http://www.oberhumer.com/opensource/lzo/download/lzo-2.03.tar.gz  

 
 
 
 
  1. tar zxvf lzo-2.03.tar.gz  
  2. cd lzo-2.03  
  3. ./configure --prefix=/usr && make && make install  

②下載openvpn及安裝

wget http://openvpn.net/release/openvpn-2.0.9.tar.gz

 
 
 
 
  1. tar zxvf openvpn-2.0.9  
  2. ./configure --with-lzo-lib=/usr && make && make install  

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

1)建立CA

在OpenVPN源代碼目錄下有一個(gè)\easy-rsa\2.0目錄,進(jìn)入后修改vars文件最后部分的信息,即

 
 
 
 
  1. vim /root/openvpn-2.0.9/easy-ras/2.0/vars  
  2. export KEY_COUNTRY="CN" 
  3. export KEY_PROVINCE="BJ" 
  4. export KEY_CITY="Beijing" 
  5. export KEY_ORG="PKU" 
  6. export KEY_EMAIL=" xxxxxx@pku.edu.cn"  

保存退出,再運(yùn)行:

 
 
 
 
  1. source vars  
  2. NOTE: If you run ./clean-all, I will be doing a rm -rf on /root/openvpn-2.0.9/easy-rsa/2.0/keys  
  3. ./clean-all  
  4. ./build-ca  

然后就是一段提示,要求輸入信息,大部分信息默認(rèn)就是上述vars文件里的信息,自己只需要填寫(xiě)“Organizational Unit Name”一項(xiàng),這個(gè)隨便寫(xiě)一個(gè)就是了,也可以不寫(xiě),我就沒(méi)有寫(xiě)。

2)為服務(wù)器生成證書(shū)和密鑰

./build-key-server server

還是與上一步類似,自己只需要填寫(xiě)“Organizational Unit Name”一項(xiàng),也可以不寫(xiě),即均默認(rèn)為default值。還會(huì)出現(xiàn):“Sign the certificate? [y/n]”和“1 out of 1 certificate requests certified, commit? [y/n]”,都輸入y然后回車(chē),其它可參照如下。

 
 
 
 
  1. Generating a 1024 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) [BJ]:   
  16. Organization Name (eg, company) [buaa]:   
  17. Organizational Unit Name (eg, section) []:gait   
  18. Common Name (eg, your name or your server's hostname) []:server   
  19. Email Address [[email]support@cooldvd.com[/email]]:   
  20.  
  21. Please enter the following 'extra' attributes   
  22. to be sent with your certificate request   
  23. A challenge password []:abcd1234   
  24. An optional company name []:dvdmaster   
  25. Using configuration from /openvpn-2.0.5/easy-rsa/openssl.cnf   
  26. Check that the request matches the signature   
  27. Signature ok   
  28. The Subject's Distinguished Name is as follows   
  29. countryName :PRINTABLE:'CN'   
  30. stateOrProvinceName :PRINTABLE:'GD'   
  31. localityName :PRINTABLE:'SZ'   
  32. organizationName :PRINTABLE:'dvdmaster'   
  33. organizationalUnitName:PRINTABLE:'dvdmaster'   
  34. commonName :PRINTABLE:'server'   
  35. emailAddress :IA5STRING:'[email]support@cooldvd.com[/email]'   
  36. Certificate is to be certified until Mar 19 08:15:31 2016 GMT (3650 days)   
  37. Sign the certificate? [y/n]:y   
  38. 1 out of 1 certificate requests certified, commit? [y/n]y   
  39. Write out database with 1 new entries   
  40.  
  41. Data Base Updated  

 3)在openvpn中,這種配置方法是每一個(gè)登陸的VPN客戶端需要有一個(gè)證書(shū),每個(gè)證書(shū)在同一時(shí)刻只能供一個(gè)客 戶端連接(如果有兩個(gè)機(jī)器安裝相同證書(shū),同時(shí)撥服務(wù)器,都能撥上,但是只有第一個(gè)撥上的才能連通網(wǎng)絡(luò))。所以需要建立許多份證書(shū)。下面建立2份,名稱分別 為client1和client2

 
 
 
 
  1. ./build-key client1   
  2. Generating a 1024 bit RSA private key   
  3. .....++++++   
  4. ......++++++   
  5. writing new private key to 'client1.key'   
  6. -----   
  7. You are about to be asked to enter information that will be incorporated   
  8. into your certificate request.   
  9. What you are about to enter is what is called a Distinguished Name or a DN.   
  10. There are quite a few fields but you can leave some blank   
  11. For some fields there will be a default value,   
  12. If you enter '.', the field will be left blank.   
  13. -----   
  14. Country Name (2 letter code) [CN]:   
  15. State or Province Name (full name) [BJ]:   
  16. Locality Name (eg, city) [BJ]:   
  17. Organization Name (eg, company) [buaa]:   
  18. Organizational Unit Name (eg, section) []:gait   
  19. Common Name (eg, your name or your server's hostname) []:client1 重要: 每個(gè)不同的 client 生成的證書(shū), 名字必須不同.   
  20. Email Address [[email]support@cooldvd.com[/email]]:   
  21.  
  22. Please enter the following 'extra' attributes   
  23. to be sent with your certificate request   
  24. A challenge password []:abcd1234   
  25. An optional company name []:gait   
  26. Using configuration from /openvpn-2.0.5/easy-rsa/openssl.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:'GD'   
  32. localityName :PRINTABLE:'SZ'   
  33. organizationName :PRINTABLE:'dvdmaster'   
  34. organizationalUnitName:PRINTABLE:'dvdmaster'   
  35. commonName :PRINTABLE:'client1'   
  36. emailAddress :IA5STRING:'[email]support@cooldvd.com[/email]'   
  37. Certificate is to be certified until Mar 19 08:22:00 2016 GMT (3650 days)   
  38. Sign the certificate? [y/n]:y   
  39.  
  40. 1 out of 1 certificate requests certified, commit? [y/n]y   
  41. Write out database with 1 new entries   
  42. Data Base Updated  

 依次類推生成其他客戶端證書(shū)/key:

./build-key client2

4)./build-dh,這步不要看掉了~

生成的證書(shū)文件均在/usr/local/src/openvpn-2.0.9/easy-rsa/2.0/keys下

5)配置服務(wù)器VPN文件

a) cp -p /usr/local/src/openvpn-2.0.9/sample-config-files/server.conf /usr/local/etc/server.conf

b) vi /usr/local/etc/server.conf

i. proto udp改成proto tcp

ii. ca那四行改成

 
 
 
 
  1. ca     /usr/local/src/openvpn-2.0.9/easy-rsa/2.0/keys/ca.crt   
  2. cert   /usr/local/src/openvpn-2.0.9/easy-rsa/2.0/keys/server.crt   
  3. key   /usr/local/src/openvpn-2.0.9/easy-rsa/2.0/keys/server.key   
  4. dh    /usr/local/src/openvpn-2.0.9/easy-rsa/2.0/keys/dh1024.pem  

 iii. server那行改成

server 10.0.0.0 255.255.255.0 前期我用是10.0.0.0,后期實(shí)際部署用的是10.10.0.0。

v. 改成verb 5可以多查看一些調(diào)試信息

6) 啟動(dòng)服務(wù):

a) 關(guān)閉服務(wù)器、防火墻上所有對(duì)SSH(22)、openvpn(1194)的攔截。

b) echo "1" > /proc/sys/net/ipv4/ip_forward

c)

 
 
 
 
  1.  /usr/local/sbin/openvpn --config /usr/local/etc/server.conf  
  2. Fri Jan 23 23:55:34 2009 OpenVPN 2.0.9 i686-pc-linux [SSL] [EPOLL] built on Jan 23 2009  
  3. Fri Jan 23 23:55:34 2009 Diffie-Hellman initialized with 1024 bit key  
  4. Fri Jan 23 23:55:34 2009 TLS-Auth MTU parms [ L:1543 D:140 EF:40 EB:0 ET:0 EL:0 ]  
  5. Fri Jan 23 23:55:35 2009 TUN/TAP device tun0 opened  
  6. Fri Jan 23 23:55:35 2009 /sbin/ifconfig tun0 10.0.0.1 pointopoint 10.0.0.2 mtu 1500  
  7. Fri Jan 23 23:55:35 2009 /sbin/route add -net 10.0.0.0 netmask 255.255.255.0 gw 10.0.0.2  
  8. Fri Jan 23 23:55:35 2009 Data Channel MTU parms [ L:1543 D:1450 EF:43 EB:4 ET:0 EL:0 ]  
  9. Fri Jan 23 23:55:35 2009 Listening for incoming TCP connection on [undef]:1194  
  10. Fri Jan 23 23:55:35 2009 TCPv4_SERVER link local (bound): [undef]:1194  
  11. Fri Jan 23 23:55:35 2009 TCPv4_SERVER link remote: [undef]  
  12. Fri Jan 23 23:55:35 2009 MULTI: multi_init called, r=256 v=256 
  13. Fri Jan 23 23:55:35 2009 IFCONFIG POOL: base=10.0.0.4 size=62 
  14. Fri Jan 23 23:55:35 2009 IFCONFIG POOL LIST  
  15. Fri Jan 23 23:55:35 2009 MULTI: TCP INIT maxclients=1024 maxevents=1028 
  16. Fri Jan 23 23:55:35 2009 Initialization Sequence Completed 

 #p#

二、安裝WidnowsVPN客戶端

1、安裝客戶端

①?gòu)膆ttp://openvpn.se/files/上下載與openvpn服務(wù)器版本一致的Windows客戶端“OpenVPN GUI For Windows”

例如, 服務(wù)器裝的是 OpenVPN 2.09, 那么下載的 OpenVPN GUI fow windows應(yīng)該是: openvpn-2.0.9-gui-1.0.3-install.exe

②執(zhí)行openvpn-2.0.9-gui-1.0.3-install.exe。一切采用默認(rèn)設(shè)置。

③將ca.crt、client1.crt、client1.key復(fù)制到C:\Program Files\OpenVPN\config。(不同用戶使用不同的證書(shū),每個(gè)證書(shū)包括.crt和.key兩個(gè)文件,如client2.crt和client2.key)

④在/root/openvpn-2.0.9/sample-config-files/client.conf 的基礎(chǔ)上建立客戶端配置文件,改名為C:\Program Files\OpenVPN\config\client.ovpn,即先在服務(wù)器上建立配置文件,然后再上傳改名到客戶機(jī)上。

a) proto udp改成proto tcp

b) remote那行改成

192.168.1.103   1194

c) ca那3行改為 

 
 
 
 
  1. ca ca.crt  
  2. cert client1.crt  
  3. key client1.key  

d) 注釋掉comp-lzo

⑤連接:在右下角的openvpn圖標(biāo)上右擊,選擇“Connect”。正常情況下應(yīng)該能夠連接成功,分配正常的IP。(點(diǎn)擊看大圖)

 

 

2、這些都很順利,但撥號(hào)成功后,如何才能使撥號(hào)用戶訪問(wèn)局域網(wǎng)內(nèi)192.168.4.0網(wǎng)段的機(jī)器呢,具體做法來(lái):

①在openvpn的配置文件里增加push "route 192.168.4.0 255.255.255.0",目的是為客戶端加一條路由,這樣客戶端才有可能訪問(wèn)到辦公網(wǎng)絡(luò)中出VPN Server之外的其它主機(jī)(有很多VPN客戶端直接添加默認(rèn)路由,這樣客戶端的所有連接請(qǐng)求都被路由到 VPN 通道內(nèi),結(jié)果是客戶端此時(shí)不能訪問(wèn)VPN,而此項(xiàng)添加指定地址的路由不會(huì)導(dǎo)致這一問(wèn)題)

②在openvpn上開(kāi)啟ip轉(zhuǎn)發(fā)echo “1”>  /proc/sys/net/ipv4/ip_forward

③在公司的網(wǎng)關(guān)或路由器上增加一條路由,添加到 10.10.0.0/24 的路由項(xiàng)目,網(wǎng)關(guān)為服務(wù)器的內(nèi)部 IP 地址,目的是為了讓公司局域網(wǎng)里的主機(jī)知道去往VPN Client的包如何路由,記住 ,路由是雙向和回環(huán)的,既要有來(lái)的路由,也應(yīng)該有回的路由。由于我這種環(huán)境下既沒(méi)有路由器,也沒(méi)有防火墻,所以我直接在公司重要的服務(wù)器及我要遠(yuǎn)程的機(jī)器(xp)上增加一條路由。

route add 10.10.0.0 mask 255.255.255.0 192.168.4.222

三、需要注意的問(wèn)題

每個(gè)人的網(wǎng)絡(luò)拓補(bǔ)不一樣,如何使openvpn的客戶端也能訪問(wèn)除openvpn外的公司局域網(wǎng)內(nèi)的機(jī)器呢?這個(gè)問(wèn)題是玩openvpn的朋友們最為關(guān)注的,其它情況可以參考以下幾點(diǎn):

1 、可以把openvpn服務(wù)器也設(shè)成路由器,并使openvpn服務(wù)器作為這些需要被訪問(wèn)的內(nèi)網(wǎng)機(jī)器的路由器,這樣路由器和openvpn在同一臺(tái)機(jī)器上就 ok了。

2 、如果內(nèi)網(wǎng)中有多臺(tái)機(jī)器可能需要被訪問(wèn),針對(duì)我這種情況,可以在路由器上設(shè)置靜態(tài)路由表,設(shè)置10.10.0.0網(wǎng)段的信息路由到openvpn服務(wù)器, 具體設(shè)置參看自己的路由器的設(shè)置頁(yè)面吧。如果是計(jì)算機(jī)作路由器,那就使用route add 10.10.0.0 mask 255.255.255.0 192.168.4.222(openvpn服務(wù)器的ip),這樣只需要改一個(gè)地方就ok了,就不需要修改每臺(tái)內(nèi)網(wǎng)的機(jī)器了。

3 、如果改不了路由器,或者內(nèi)網(wǎng)需要修改的機(jī)器不多的話,也可以直接在內(nèi)網(wǎng)要被訪問(wèn)的機(jī)器上,執(zhí)行route add 10.10.0.0 mask 255.255.255.0 192.168.4.222(openvpn服務(wù)器的ip)命令(我的情況是操作系統(tǒng)是windows,命令就是那個(gè)了),來(lái)直接給內(nèi)網(wǎng)的機(jī)器添加路由,這樣 當(dāng)碰到10.10.0.0網(wǎng)段的信息,它就知道直接路由到openvpn服務(wù)器,而不會(huì)走路由器這條路了。

還有一個(gè)細(xì)節(jié)問(wèn)題應(yīng)該注意:一臺(tái)機(jī)器只能用一個(gè)證書(shū)撥號(hào),如果是二臺(tái)機(jī)器都要用一個(gè)證書(shū)來(lái)?yè)芴?hào)的話,第二臺(tái)機(jī)器會(huì)發(fā)生每5秒就掉線的杯具,這個(gè)也是實(shí)際使用中發(fā)現(xiàn)的;雖然可以在openvpn通過(guò)配置來(lái)更改,但我建議還是一臺(tái)機(jī)器使用一個(gè)證書(shū)的好。

另外一個(gè)小問(wèn)題就是:在進(jìn)行證書(shū)制作工作時(shí),仍舊需要進(jìn)行初始化,

但只需要進(jìn)入openvpn\easy-rsa目錄,運(yùn)行vars就可以了,不需要./clean-all步驟,它會(huì)清掉一切證書(shū)文件的(汗) 。

以上就是我玩openvpn以來(lái)的一些經(jīng)驗(yàn)總結(jié)和心得,希望能給大家?guī)?lái)一些幫助;每個(gè)人的情況不一樣,別人的未必適用于你,所以多動(dòng)手,多嘗試,畢竟實(shí)踐出真知嘛。通過(guò)部署整個(gè)VPN辦公環(huán)境,發(fā)現(xiàn)openVPN的穩(wěn)定和穿透能力相當(dāng)?shù)膹?qiáng)悍啊,套用一句流行的話:openVPN相當(dāng)V5,呵呵。

附錄:

在windows機(jī)器上永久增加路由的方法:

ROUTE命令可以在XP、2K/2003、WIN7等操作系統(tǒng)下手工增加靜態(tài)路由,但是重啟之后路由便丟失了,還要重新增加,那么怎樣能讓路由一直保待,重啟后仍然存在呢?其實(shí)很簡(jiǎn)單,在增加路由的命令后加上-P開(kāi)關(guān)就可以了。例如

route -p add 10.10.0.0 mask 255.255.0.0 192.168.4.222

-p參數(shù)詳解

與Add命令共同使用時(shí),指定路由被添加到注冊(cè)表并在啟動(dòng)TCP/IP協(xié)議的時(shí)候初始化IP路由表。默認(rèn)情況下,啟動(dòng)TCP/IP協(xié)議時(shí)不會(huì)保存添加的路 由,與Print命令一起使用時(shí),則顯示永久路由列表。所有其他的命令都忽略此參數(shù)。永久路由存儲(chǔ)在注冊(cè)表中的位置是,注意最后一副圖畫(huà)紅線的部分,它也可以驗(yàn)證我們新增的命令會(huì)永久的增加靜態(tài)路由。

HKEY_LOCAL_MACHSYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes


標(biāo)題名稱:實(shí)踐出真知布署openvpn環(huán)境應(yīng)注意的事
網(wǎng)站URL:http://www.dlmjj.cn/article/dpidhdh.html