自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux中如何使用Openswan建立站點(diǎn)到站點(diǎn)的IPsec VPN隧道?

譯文
運(yùn)維 系統(tǒng)運(yùn)維
虛擬專用網(wǎng)(VPN)隧道用來(lái)通過(guò)基于互聯(lián)網(wǎng)的一條隧道,將兩個(gè)不同的物理網(wǎng)絡(luò)安全地互聯(lián)起來(lái)。不同的網(wǎng)絡(luò)是擁有全局非路由專用IP地址的專用以太網(wǎng)子網(wǎng)時(shí),就需要隧道機(jī)制,因?yàn)檫@些子網(wǎng)無(wú)法通過(guò)基于互聯(lián)網(wǎng)的傳統(tǒng)路由連接到對(duì)方

虛擬專用網(wǎng)(VPN)隧道用來(lái)通過(guò)基于互聯(lián)網(wǎng)的一條隧道,將兩個(gè)不同的物理網(wǎng)絡(luò)安全地互聯(lián)起來(lái)。不同的網(wǎng)絡(luò)是擁有全局非路由專用IP地址的專用以太網(wǎng)子網(wǎng)時(shí),就需要隧道機(jī)制,因?yàn)檫@些子網(wǎng)無(wú)法通過(guò)基于互聯(lián)網(wǎng)的傳統(tǒng)路由連接到對(duì)方。比如說(shuō),常常建立VPN隧道,連接屬于同一家機(jī)構(gòu)的使用網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)技術(shù)的不同分支機(jī)構(gòu)網(wǎng)絡(luò)。

有時(shí)候,還可能僅僅為了安全方面的考慮而使用VPN隧道機(jī)制。服務(wù)提供商或私營(yíng)公司以這樣一種方式來(lái)設(shè)計(jì)其網(wǎng)絡(luò):關(guān)鍵的服務(wù)器(比如數(shù)據(jù)庫(kù)、VoIP或銀行業(yè)務(wù)服務(wù)器)部署在只有可信賴的人員通過(guò)VPN隧道才能訪問(wèn)的子網(wǎng)中。需要安全的VPN隧道時(shí),IPsec常常是一個(gè)優(yōu)先的選擇,因?yàn)镮Psec VPN隧道采用了多層安全機(jī)制來(lái)加以保護(hù)。

本教程將演示我們?cè)贚inux中使用Openswan建立站點(diǎn)到站點(diǎn)的VPN隧道有多容易。

拓?fù)浣Y(jié)構(gòu)

本教程將著重介紹用于建立IPsec隧道的下列拓?fù)浣Y(jié)構(gòu)。

 

 

安裝軟件包和準(zhǔn)備VPN服務(wù)器

通常情況下,你只要管理站點(diǎn)A,但是根據(jù)實(shí)際需要,你有可能同時(shí)管理站點(diǎn)A和站點(diǎn)B。我們先從安裝Openswan開始入手。

在基于紅帽的系統(tǒng)上(CentOS、Fedora或RHEL):

  1. # yum install openswan lsof 

在基于Debian的系統(tǒng)上(Debian、Ubuntu或Linux Mint):

  1. # apt-get install openswan 

現(xiàn)在,我們使用下面這些命令,禁用服務(wù)器中的VPN重定向,如果有VPN重定向的話:

  1. # for vpn in /proc/sys/net/ipv4/conf/*;  
  2. # do echo 0 > $vpn/accept_redirects;  
  3. # echo 0 > $vpn/send_redirects;  
  4. # done 

下一步,我們改動(dòng)內(nèi)核參數(shù),允許IP轉(zhuǎn)發(fā)、永久性禁止重定向。

  1. # vim /etc/sysctl.conf  
  2. net.ipv4.ip_forward = 1 
  3. net.ipv4.conf.all.accept_redirects = 0 
  4. net.ipv4.conf.all.send_redirects = 0 

重新裝入/etc/sysctl.conf:

  1. # sysctl -p 

我們開啟防火墻的必要端口。務(wù)必確保規(guī)則與現(xiàn)有的防火墻規(guī)則沒(méi)有沖突。

  1. # iptables -A INPUT -p udp --dport 500 -j ACCEPT  
  2. # iptables -A INPUT -p tcp --dport 4500 -j ACCEPT  
  3. # iptables -A INPUT -p udp --dport 4500 -j ACCEPT 

最后,我們?yōu)镹AT創(chuàng)建防火墻規(guī)則。

  1. # iptables -t nat -A POSTROUTING -s site-A-private-subnet -d site-B-private-subnet -j SNAT --to site-A-Public-IP 

務(wù)必確保防火墻規(guī)則具有持續(xù)性。

注意:

•你可以使用MASQUERADE來(lái)代替SNAT。按道理來(lái)說(shuō)它應(yīng)該可以,但在過(guò)去導(dǎo)致我的虛擬專用服務(wù)器(VPS)出現(xiàn)過(guò)問(wèn)題。所以,如果我是你,就會(huì)使用SNAT。

•如果你同時(shí)在管理站點(diǎn)B,就在站點(diǎn)B服務(wù)器中創(chuàng)建類似的規(guī)則。

•直接路由不需要SNAT。

準(zhǔn)備配置文件

我們將要處理的第一個(gè)配置文件是ipsec.conf。無(wú)論你配置的是哪臺(tái)服務(wù)器,總是將你的站點(diǎn)想成“left”,將遠(yuǎn)程站點(diǎn)想成“right”。下列配置在站點(diǎn)A的VPN服務(wù)器中完成。

  1. # vim /etc/ipsec.conf  
  2. ## 基本的配置參數(shù)##  
  3. config setup  
  4. plutodebug=all 
  5. plutostderrlog=/var/log/pluto.log  
  6. protostack=netkey 
  7. nat_traversal=yes 
  8. virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/16  
  9. ## 禁用紅帽中的隨機(jī)加密##  oe=off 
  10. ## 禁用Debian中的隨機(jī)加密##  
  11. ## 注意:這是一個(gè)單獨(dú)的聲明語(yǔ)句##  include /etc/ipsec.d/examples/no_oe.conf  
  12. ## 紅帽中的連接定義##  conn demo-connection-redhat  
  13. authby=secret 
  14. auto=start 
  15. ike=3des-md5  
  16. ## 第1個(gè)階段## keyexchange=ike 
  17. ## 第2個(gè)階段## phase2=esp 
  18. phase2alg=3des-md5  
  19. compress=no 
  20. pfs=yes 
  21. type=tunnel 
  22. left=<siteA-public-IP> 
  23. leftsourceip=<siteA-public-IP> 
  24. leftsubnet=<siteA-private-subnet>/netmask  
  25. ## 針對(duì)直接路由## leftsubnet=<siteA-public-IP>/32  
  26. leftnexthop=%defaultroute  
  27. right=<siteB-public-IP> 
  28. rightsubnet=<siteB-private-subnet>/netmask  
  29. ## Debian中的連接定義## conn demo-connection-debian  
  30. authby=secret 
  31. auto=start 
  32. ## 第1個(gè)階段 ## keyexchange=ike 
  33. ## 第2個(gè)階段 ## esp=3des-md5  
  34. pfs=yes 
  35. type=tunnel 
  36. left=<siteA-public-IP> 
  37. leftsourceip=<siteA-public-IP> 
  38. leftsubnet=<siteA-private-subnet>/netmask  
  39. ## 針對(duì)直接路由## leftsubnet=<siteA-public-IP>/32  
  40. leftnexthop=%defaultroute  
  41. right=<siteB-public-IP> 
  42. rightsubnet=<siteB-private-subnet>/netmask 

可以通過(guò)幾種不同的方式來(lái)進(jìn)行驗(yàn)證。本教程將探討預(yù)共享密鑰的使用,該密鑰被添加到文件/etc/ipsec.secrets中。

  1. # vim /etc/ipsec.secrets  
  2. siteA-public-IP siteB-public-IP: PSK "pre-shared-key" ## in case of multiple sites ## siteA-public-IP siteC-public-IP: PSK "corresponding-pre-shared-key" 

開啟服務(wù)和故障排查

服務(wù)器現(xiàn)在應(yīng)該準(zhǔn)備好建立站點(diǎn)到站點(diǎn)的VPN隧道了。要是你還管理站點(diǎn)B,務(wù)必確保已配置好了站點(diǎn)B服務(wù)器的必要參數(shù)。如果是基于紅帽的系統(tǒng),務(wù)必確保你使用chkconfig命令,將服務(wù)添加到啟動(dòng)項(xiàng)中。

  1. # /etc/init.d/ipsec restart 

要是兩端的服務(wù)器都沒(méi)有錯(cuò)誤,現(xiàn)在隧道應(yīng)該已建立起來(lái)。考慮到下列因素,你可以使用ping命令來(lái)測(cè)試隧道了。

1. 站點(diǎn)B專用子網(wǎng)應(yīng)該無(wú)法從站點(diǎn)A來(lái)訪問(wèn);也就是說(shuō),要是隧道未建立起來(lái),ping應(yīng)該不管用。

2. 隧道建立起來(lái)后,試著從站點(diǎn)A用ping連通站點(diǎn)B專用子網(wǎng)。這應(yīng)該管用。

另外,通向目的地專用子網(wǎng)的路由應(yīng)該出現(xiàn)在服務(wù)器的路由表中。

  1. # ip route  
  2. [siteB-private-subnet] via [siteA-gateway] dev  
  3. eth0 src [siteA-public-IP]  
  4. default via [siteA-gateway] dev eth0 

此外,我們可以使用下面這些實(shí)用命令,檢查隧道的狀態(tài)。

  1. # service ipsec status  
  2. IPsec running - pluto pid: 20754  
  3. pluto pid 20754  
  4. 1 tunnels up  
  5. some eroutes exist  
  6. # ipsec auto --status  
  7. ## 輸出被截?cái)?#  
  8. 000 "demo-connection-debian": myip=<siteA- 
  9. public-IP>hisip=unset;  
  10. 000 "demo-connection-debian": ike_life: 3600s;  
  11. ipsec_life: 28800s; rekey_margin: 540s;  
  12. rekey_fuzz: 100%; keyingtries: 0; nat_keepalive:  
  13. yes  
  14. 000 "demo-connection-debian": policy:  
  15. PSK+ENCRYPT+TUNNEL+PFS+UP+IKEv2ALLOW+SAREFTRACK+lKOD+rKO  
  16. D; prio: 32,28; interface: eth0;  
  17. ## 輸出被截?cái)?#  
  18. 000 #184: "demo-connection-debian":500  
  19. STATE_QUICK_R2 (IPsec SA established);  
  20. EVENT_SA_REPLACE in 1653s; newest IPSEC; eroute  
  21. owner; isakmp#183; idle; import:not set  
  22. ## 輸出被截?cái)?#  
  23. 000 #183: "demo-connection-debian":500  
  24. STATE_MAIN_I4 (ISAKMP SA established);  
  25. EVENT_SA_REPLACE in 1093s; newest ISAKMP; lastdpd=-  
  26. 1s(seq in:0 out:0); idle; import:not set 

日志文件/var/log/pluto.log還應(yīng)該含有驗(yàn)證、密鑰交換方面的實(shí)用信息,以及隧道不同階段方面的信息。要是你的隧道沒(méi)有出現(xiàn),還應(yīng)該檢查日志文件。.

如果你確信所有配置正確無(wú)誤,如果你的隧道仍然沒(méi)有出現(xiàn),就應(yīng)該檢查下列方面。

  • 1. 許多互聯(lián)網(wǎng)服務(wù)提供商(ISP)對(duì)IPsec端口進(jìn)行過(guò)濾。確保你的ISP允許UDP 500端口和TCP/UDP 4500端口。你可以通過(guò)telnet,試著從遠(yuǎn)程位置連接至你服務(wù)器的IPsec端口。
  • 2. 確保服務(wù)器的防火墻中允許必要的端口。
  • 3. 確保預(yù)共享密鑰在兩端的服務(wù)器中一模一樣。
  • 4. left和right參數(shù)在兩端的服務(wù)器上都應(yīng)該合理配置。
  • 5. 如果你在NAT方面遇到了問(wèn)題,試著使用SNAT,而不是MASQUERADING。

總之,本教程著重介紹了在Linux中使用Openswan建立站點(diǎn)到站點(diǎn)的IPSec VPN隧道這個(gè)過(guò)程。VPN隧道在增強(qiáng)安全性方面非常有用,因?yàn)樗鼈冏尮芾韱T們可以做到只通過(guò)隧道才能訪問(wèn)關(guān)鍵資源。另外,VPN隧道確保了傳輸中數(shù)據(jù)安全可靠,不會(huì)被人竊聽(tīng)或截獲。

但愿本文有所幫助。歡迎交流心得。

英文原文:http://xmodulo.com/2014/08/create-site-to-site-ipsec-vpn-tunnel-openswan-linux.html

責(zé)任編輯:牛小雨 來(lái)源: 51CTO
相關(guān)推薦

2011-07-18 10:40:39

2011-10-31 10:57:44

VPNIpsec VPN

2009-02-27 11:03:00

VPN配置遠(yuǎn)程接入

2014-06-05 14:01:39

微軟Windows AzuVPN

2009-10-14 09:52:16

2009-12-31 10:28:16

VPN配置實(shí)例

2011-11-25 13:49:17

2009-12-28 16:55:25

2011-11-25 13:24:56

2011-11-29 16:08:30

IPsec VPN

2011-11-25 13:34:56

IPsec VPNIPsec VPN協(xié)議

2010-07-27 09:44:16

HTML 5

2010-12-15 11:24:35

2023-08-30 00:08:22

災(zāi)難恢復(fù)備份

2012-09-28 09:44:32

2011-11-29 12:13:21

VPN

2012-09-26 09:49:44

2011-11-25 13:14:16

2010-05-18 18:36:22

IIS服務(wù)器

2010-05-18 18:38:06

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

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