1. 程式人生 > >專案課---OpVEN架構實施方案(七)

專案課---OpVEN架構實施方案(七)

VPN介紹

 

VPN概述

VPN(全稱Virtual Private Network)虛擬專用網路,是依靠ISP和其他的NSP,在公共網路中建立專用的資料通訊網路的技術,可以為企業之間或者個人與企業之間提供安全的資料傳輸隧道服務。在VPN中任意兩點之間的連線並沒有傳統專網所需的端到端的物理鏈路,而是利用公共網路資源動態組成的,可以理解為通過私有的隧道技術在公共資料網路上模擬出來的和專網有同樣功能的點到點的專線技術,所謂虛擬是指不需要去拉實際的長途物理線路,而是借用了公共Internet網路實現。

為了便於大家理解,給一個直觀的形象圖:

image_1cs6slj71j8a6th19td1a31l1s9.png-135.2kB

 

VPN的作用

VPN功能可以幫助公司裡的遠端使用者(出差,家裡),公司的分支機構,商業合作伙伴及供應商等公司和自己的公司內部網路之間建立可信的安全連線或者是區域網連線,確保資料的加密安全傳輸和業務訪問,對於運維工程師來說,還可以連線不同的機房為區域網,處理相關的業務流。我們可以通過一張網路邏輯圖為同學們描述VPN的作用。

image_1cs6smd14jjr1ehqf7hi6a14sfm.png-482.9kB

 

VPN的分類

我們根據VPN的常見企業應用,將VPN分為以下4類應用

(1)遠端訪問VPN服務

即通過個人電腦遠端撥號到企業辦公網路。

a.一般為企業內部員工出差,休假或特殊情況下在遠離辦公室的時候,又有需求訪問公司的內部網路獲取相關資源,就可以通過VPN撥號到公司內部。此時遠端撥號的員工和辦公室內的員工以及其他撥號的員工之間都相當於一個區域網絡內。例如:訪問內部的域控制器,檔案伺服器,OA系統,ERP,HTTP服務,內網飛秋聊天工具等區域網服務應用。

image_1cs6snmaf11d816m91osg1673h513.png-101.2kB

對於運維人員來說就是需要個人電腦遠端撥號到企業網站IDC機房,遠端維護IDC伺服器。

此點是技術人員特別是運維人員在工作中會經常用這個方法維護大量的機房內無外網的伺服器及網路裝置。

(2)企業內部網路之間VPN服務

在公司的分支機構的區域網和公司總部LAN之間的VPN連線。通過公網Internet建立VPN將公司在各地的分支機構的LAN連結到公司總部的LAN。例如:各大超市之間業務結算等。

這是由於地域的原因而產生的VPN的需求,通過VPN讓不同地域內的機器可以互相訪問,就好像是一個區域網一樣。例如:辦公室互聯協同辦公,機房互聯資料同步及業務訪問等。

(3)網際網路公司多IDC機房之間VPN服務

此處是運維架構人員需要考慮的問題。不同機房之間業務管理和業務訪問,資料流動。

(4)企業外部VPN服務

在供應商,合作伙伴的LAN和本公司的LAN之間建立的VPN服務。

(5)訪問國外的網站

FQ業務應用

 

常見隧道協議介紹

(1)PPTP

點對點隧道協議(PPTP)是由包括微軟和3Com等公司組成的PPTP論壇開發的一種點對點隧道協議,基於撥號使用的PPTP協議,使用PAP或CHAP之類的加密演算法,或者使用Microsoft的點對點加密演算法MPPE。其通過跨越基於TCP/IP的資料網路建立VPN實現了從遠端客戶端到專用企業伺服器之間資料的安全傳輸。PPTP支援通過公共網路(例如Internet)建立按需的,多協議的,虛擬專用網路。PPTP允許加密IP通訊,然後在要跨越公司IP網路或公共IP網路(如Internet)傳送的IP頭中對其進行封裝。典型的linux平臺的開源軟體為pptp。

PPTP屬於點對點方式的應用,比較適合遠端的企業使用者撥號到企業進行辦公等的應用

(2)L2TP

L2TP第2層隧道協議(L2TP)是LETF基於L2F(Cisco的第二層轉發協議)開發的PPTP的後續版本。是一種工業標準Internet隧道協議,其可以為跨越面向資料包的媒體傳送點到點協議(PPP)框架提供封裝。PPTP和L2TP都使用PPP協議對資料進行封裝,然後新增附加包頭用於資料在網際網路絡上的傳輸。PPTP只能在兩端點間建立單一隧道。L2TP支援在兩端點間使用多隧道,使用者可以針對不同的服務質量建立不同的隧道。L2TP可以提供隧道驗證,而PPTP則不支援隧道驗證。但是當L2TP或PPTP與IPSEC共同使用時,可以由IPSEC提供隧道驗證,不需要在第2層協議上驗證隧道使用L2TP。PPTP要求網際網路絡為IP網路。L2TP只要求隧道媒介提供面向資料包的點對點的連線,L2TP可以在IP(使用UDP),幀中繼永久虛擬電路(PVCs),X.25虛擬電路(VCs)或ATM VCs網路上使用。

(3)IPsec

IP安全協議(IPSec:IP Security)實際上是一套協議包而不是一個獨立的協議。從1995年開始IPSec的研究以來,IETF IPSec 工作組在它的主頁上釋出了幾十個Internet草案文獻和12個RFC檔案。其中,比較重要的有RFC2409IKE(網際網路金鑰交換),RFC2401 IPSec協議,RFC2402 AH驗證包頭,RFC2406 ESP加密資料等檔案。

IPSec隧道模式隧道是封裝,路由與解封裝的整個過程。隧道將原始資料包隱藏(或封裝)在新的資料包內部。該新的資料包可能會有細心的定址與路由資訊,從而使其能夠通過網路傳輸。隧道與資料保密性結合使用時,在網路上竊聽通訊的人將無法獲取原始資料包資料(以及原始的源和目標)。封裝的資料包到達目的地後,會刪除封裝,原始資料包頭用於將資料包路由到最終目的地。

隧道本身是封裝資料經過的邏輯資料路徑,對原始的源和目的端,隧道是不可見的,而只能看到網路路徑中的點對點連線。連線雙方並不關心隧道起點和終點之間的任何路由器,交換機,代理伺服器或者其他安全閘道器。將隧道和資料保密性結合使用時,可用於提供VPN。

封裝的資料包在網路中的隧道內部傳輸。在此示例中,該網路是Internet。閘道器可以是外部Internet與專用網路間的周界閘道器。周界閘道器可以是路由器,防火牆,代理伺服器或其他安全閘道器。另外,在專用網路內部可使用兩個閘道器來保護網路中不信任的通訊。

當以隧道模式使用IPSec時,其只為IP通訊封裝。使用IPSec隧道模式主要是為了與其他不支援IPSec上的L2TP或PPTP VPN隧道技術的路由器,閘道器或終端系統之間的相互操作。

(4)SSL VPN

SSL VPN,SSL協議提供了資料私密性,端點驗證,資訊完整性等特性。SSL協議由許多子協議組成,其中兩個主要的子協議是握手協議和記錄協議。握手協議允許伺服器和客戶端在應用協議傳輸第一個資料位元組以前,彼此確認,協商一種加密演算法和密碼鑰匙。在資料傳輸期間,記錄協議利用握手協議生成的金鑰加密和解密後來交換的資料。

SSL獨立於應用,因此任何一個應用程式都可以享受它的安全性而不必理會執行細節。SSL置身於網路結構體系的傳輸層和應用層之間。此外,SSL本身就被幾乎所有的Web瀏覽器支援。這意味著客戶端不需要為了支援SSL連線安裝額外的軟體。這兩個特徵就是SSL能應用於VPN的關鍵點。

典型的SSL VPN應用如OpenVPN,是一個比較好的開源軟體。OpenVPN允許參與建立VPN的單點使用預設的私鑰,第三方證書,或者使用者名稱/密碼來進行身份驗證。它大量使用了OpenSSL加密庫,以及SSLv3/TLSv1協議。OpenVPN能在Linux,xBSD,Mac OSX與Windows 2000/XP上執行.它並不是一個基於Web的VPN軟體,也不與IPSec及其他VPN軟體包相容,C/S架構的軟體,單獨安裝openvpn客戶端。

image_1cs6stv275ub1r011ur6s9e1gar1g.png-549.8kB

 

實現vpn功能的常見開源產品

(1)PPTP VPN

使用PPTP VPN的最大優勢在於,無需在windows客戶端單獨安裝客戶端軟體,windows預設就支援PPTP VPN撥號連線功能。另外,PPTP VPN屬於點對點方式的應用,比較適合遠端的企業使用者撥號到企業進行辦公等的應用。

(2)SSL VPN(OpenVPN)

PPTP主要為那些經常外出移動或家庭辦公的使用者考慮,而OpenVPN不但使用於PPTP的應用場景,還適合針對企業異地兩地總分公司之間的VPN不間斷按需連線,例如:ERP,OA,及時通訊工具等在企業中的應用。

(3)IPSec VPN

IPSec VPN也適合針對企業異地兩地總分公司或多個IDC機房之間的VPN不間斷按需連線,並且在部署使用上更簡單方便。

 

根據企業生產場景需求選擇vpn方案建議

如果領導願意花錢,可以選擇相關硬體產品,不錯的成熟的很多,例如:防火牆,負載均衡等硬體產品都附帶VPN功能。

對於多數網際網路公司,為了體現我們運維架構師的價值,我們應該建議老闆選擇開源產品,優勢就是省錢,可擴充套件性更強,例如:二次開發,相應的改動。

1.對於開源的產品,Mr.chen建議:個人撥號選擇openvpn,功能強大,穩定可靠。 
2.如果不希望單獨安裝客戶端撥號,則可選擇PPTP 
3.多個企業之間或者多個IDC機房直接互聯,選擇ipsecvpn或openvpn。

本課程所講解的:openvpn,ipsec vpn的完整企業實現。可以滿足各種企業需求。

 

openvpn開源產品

 

openvpn產品介紹

在眾多vpn產品中,OpenVPN無疑是Linux下開源VPN的先鋒,它提供了良好的訪問效能和友好的使用者GUI。

OpenVPN是一個用於建立虛擬專用網路加密通道的軟體包,最早由James Yonan編寫。OpenVPN允許參與建立VPN的單點使用預設的私鑰,第三方證書,或者使用者名稱/密碼來進行身份驗證。它大量使用了OpenSSL加密庫,以及SSLv3/TLSv1協議。OpenVPN能在Linux,xBSD,MacOS X與Windows上執行。Openvpn是一個伺服器和客戶端軟體,而不是一個基於Web的VPN軟體,也不與IPSec及其他VPN軟體包相容。

 

openvpn依賴的SSL與TLS協議介紹

SSL即,安全套接層(Secure Sockets Layer,SSL)是一種安全協議,誕生的目的是為網路通訊提供安全及資料完整性保障,SSL在傳輸層中對網路通訊進行加密。

SSL採用公開金鑰技術,保證兩個應用間通訊的保密性和可靠性,使客戶與伺服器應用之間的通訊不被攻擊者竊聽。它在伺服器和客戶機兩端可同時被支援,目前已成為網際網路上保密通訊的工業標準。現行的Web瀏覽器亦普遍將HTTP和SSL相結合1,從而實現安全通訊。SSL協議其繼任者是TLS。

後來IETF(www.ietf.org)將SSL作了標準化,即RFC2246,並將其稱為TLS(Transport Layer Security),其最新版本是RFC5246,版本1.2。從技術上講,TLS1.0與SSL3.0的差異非常微小。

TLS(Transport Layer Security)利用金鑰演算法在網際網路上提供端點身份認證與通訊保密,其基礎是公鑰基礎設施(public key infrastructure,PKI)。不過在實現的典型例子中,只有網路服務者被可靠身份驗證,而其客戶端則不一定。這是因為公鑰基礎設施普遍商業運營,電子簽名證書通常需要付費購買。協議的設計在某種程度上能夠使主從架構應用程式通訊本身防竊聽,干擾(Tampering)和訊息偽造。

 

openvpn的加密通訊原理過程

OpenVPN使用TLS加密是通過使用公開金鑰(非對稱金鑰,加密解密使用不同的key,一個稱為Public key,另一個是Private key)對資料進行加密的,對於TLS傳輸的工作原理,這裡暫且先不介紹。對於OpenVPN使用TLS_mode,首先Server和Client要有相同CA簽發的證書,雙方通過交換證書驗證雙方的合法性以決定是否建立VPN連線,然後使用對方CA把自己目前使用的資料加密方法(類似於金鑰)加密後傳送給對方,由於使用對方CA加密的,所以只有對方CA對應的Private key才能解密該字串,保證了此金鑰的安全性,並且此金鑰定期改變,對於竊聽者來說,可能還沒有破解出金鑰,通訊雙方已經更換金鑰了。

 

openvpn的多種身份驗證方式

OpenVPN提供了多種身份驗證方式,用以確認參與連線雙方的身份,包括:預享私鑰,第三方證書以及使用者名稱/密碼組合等。預享金鑰最為簡單,但同時它只能用於建立點對點的VPN;基於PKI的第三方證書提供了最完善的功能,但是需要額外的精力去維護一個PKI證書體系。OpenVPN2.0後引入了使用者名稱/口令組合的身份驗證方式,他可以省略客戶端預享金鑰,但是仍有一份伺服器CA證書需要被用作加密,比較好的驗證方式還有LDAP統一驗證等。

 

openvpn通訊原理

OpenVPN所有的通訊都基於一個單一的IP埠(預設為1194),預設使用UDP協議通訊,同時TCP也被支援。OpenVPN連線能通過大多數的代理伺服器,並且能夠在NAT的環境中很好地工作。OpenVPN服務端具有向客戶端“推送”某些網路配置資訊的功能,這些資訊包括:IP地址,路由設定等。OpenVPN提供了兩種虛擬網路介面:通用Tun/Tap驅動,通過它們,可以建立三層IP隧道,或者虛擬二層乙太網,後者可以傳送任何型別的二層乙太網絡資料。傳送的資料可通過LZO演算法壓縮。OpenVPN2.0以後版本每個程序可以同時管理數個併發的隧道。

OpenVPN使用通用網路協議(TCP與UDP)的特點使它成為IPsec等協議的理想替代1,尤其是在ISP(Internet server provider)過濾某些特定VPN協議的情況下。

在選擇協議時候,需要注意2個加密隧道之間的網路狀況,如有高延遲或者丟包較多的情況下,請選擇TCP協議作為底層協議,UDP協議由於存在無連線和重傳機制,導致要隧道上層的協議進行重傳,效率非常低下。這裡建議用TCP協議方式。

參考資料: 
http://www.baike.com/wiki/OpenVPN 
http://zh.wikipedia.org/zh-cn/OpenVPN

OpenVPN的技術核心是虛擬網絡卡,其次是SSL協議實現,SSL協議前面已闡述過,這裡重點對虛擬網絡卡及其在OpenVpn中的工作機理進行介紹:

虛擬網絡卡是使用網路底層程式設計技術實現的一個驅動軟體,安裝後在主機上多出一個網絡卡,可以像其他網絡卡一樣進行配置。服務程式可以在應用層開啟虛擬網絡卡,如果應用軟體(如IE)向虛擬網絡卡傳送資料,則服務程式可以讀取到該資料,如果服務程式寫合適的資料到虛擬網絡卡,應用軟體也可以接收得到。虛擬網絡卡在很多的作業系統下都有相應的實現,這也是OpenVPN能夠跨平臺一個很重要的理由。

在OpenVPN中,如果使用者訪問一個遠端的虛擬地址(屬於虛擬網絡卡配用的地址系列,區別於真實地址),則操作性系統會通過路由機制將資料包(TUN模式)或資料幀(TAP模式)傳送到虛擬網絡卡上,服務程式接收該資料並進行相應的處理後,通過SOCKET從外網上傳送出去,遠端服務程式通過SOCKET從外網上接收資料,並進行相應的處理後,傳送給虛擬網絡卡,則應用軟體可以接收到,完成了一個單向傳輸的過程,反之亦然。

OpenVPN使用OpenSSL庫加密資料與控制資訊:它使用了OpenSSL的加密以及驗證功能,意味著,它能夠使用任何OpenSSL支援的演算法。它提供了可選的資料包HMAC功能以提高連線的安全性。此外,OpenSSL的硬體加速也能提高它的效能。

(1)openvpn驅動部分實現了網絡卡處理和字元裝置。網絡卡處理網路資料,字元裝置完成與應用層的資料互動。

(2)使用openvpn必須修改路由表

工作過程,傳送資料

1,應用程式傳送網路資料 
2,網路資料根據修改後的路由表把資料路由到虛擬網絡卡 
3,虛擬網絡卡把資料放到資料佇列中 
4,字元裝置從資料佇列中取資料,然後送給應用層 
5,應用層把資料轉發給物理網絡卡 
6,物理網絡卡傳送資料

接收過程

1,物理網絡卡接收到資料,並傳到應用空間。 
2,應用守護程式通過字元裝置,把資料傳給驅動網絡卡。 
3,資料通過虛擬網絡卡重新進入網路堆疊。 
4,網路堆疊把資料傳給上層真實的應用程式。

 

openvpn生產環境常用場景

(1)遠端撥號訪問企業網路或IDC機房

用的最多的場景

(2)企業異地內部網路通過VPN連線成區域網

image_1cs6t86mgpeqsb5srb1u9be581t.png-101.2kB

(3)網際網路公司多IDC機房之間通過VPN連線交換資料

此處是運維架構人員需要考慮的問題。不同機房之間業務管理和業務訪問,資料流動。

(4)企業外部VPN服務

在供應商,合作伙伴的LAN和本公司的LAN之間建立的VPN服務。 
從技術上來說,2,3,4的實現是一樣的。

 

 

OpenVPN生產環境需求及環境模擬

環境需求

image_1cs6tbarlskvbm11t104tcl034.png-18kB

實現需求: 
在遠端通過VPN客戶端(筆記本)撥號到VPNserver,然後可以直接訪問VPNServer所在區域網內的多個servers,進行管理維護。

   

openvpn實驗初始環境搭建

(1)閘道器ADSL伺服器初始搭建環境

image_1cs6tdbst16rp50uta54l15o84b.png-7kB

模擬閘道器的ADSL,並沒有設定閘道器,因為它的eth0網絡卡,模擬的本身就是公網的IP了。因為是測試環境所以閘道器ADSL的eth0網絡卡可以直接ping到VPNServer的eth0(同網段),因此ADSL就不需要在設定網關了。在真實環境中,它是需要設定閘道器(上級路由器的),但由於VPNServer的eth0網絡卡在真實環境中也是公網IP,也會設定閘道器(上級路由器)。因此,在公網環境中就算ADSL的公網IP和VPNServer的公網IP不在同一網段,那麼上級路由器仍舊可以幫你將資料包發給對方(路由轉發規則)。

綜上,我們模擬的公網環境直接設定成同網段即可。

 
  1. [[email protected] ~]# ifconfig eth0 #檢視eth0網絡卡IP
  2. eth0 Link encap:Ethernet HWaddr 00:0C:29:B5:8C:08
  3. inet addr:192.168.0.200 Bcast:192.168.0.255 Mask:255.255.255.0
  4. inet6 addr: fe80::20c:29ff:feb5:8c08/64 Scope:Link
  5. UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
  6. RX packets:1969 errors:0 dropped:0 overruns:0 frame:0
  7. TX packets:123 errors:0 dropped:0 overruns:0 carrier:0
  8. collisions:0 txqueuelen:1000
  9. RX bytes:144896 (141.5 KiB) TX bytes:12435 (12.1 KiB)
  10. [[email protected] ~]# ifconfig eth1 #檢視eth1網絡卡IP
  11. eth1 Link encap:Ethernet HWaddr 00:0C:29:B5:8C:12
  12. inet addr:192.168.100.200 Bcast:192.168.100.255 Mask:255.255.255.0
  13. inet6 addr: fe80::20c:29ff:feb5:8c12/64 Scope:Link
  14. UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
  15. RX packets:479 errors:0 dropped:0 overruns:0 frame:0
  16. TX packets:29 errors:0 dropped:0 overruns:0 carrier:0
  17. collisions:0 txqueuelen:1000
  18. RX bytes:43346 (42.3 KiB) TX bytes:2302 (2.2 KiB)
  19. [[email protected] ~]# route -#檢視路由規則(沒有GW)
  20. Kernel IP routing table
  21. Destination Gateway Genmask Flags Metric Ref Use Iface
  22. 192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
  23. 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
  24. 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
  25. 169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1
  26. [[email protected] ~]# sysctl -#開啟Linux網絡卡轉發
  27. net.ipv4.ip_forward = 1 #已經開啟
  28. net.ipv4.conf.default.rp_filter = 1
  29. net.ipv4.conf.default.accept_source_route = 0
  30. kernel.sysrq = 0
  31. kernel.core_uses_pid = 1
  32. net.ipv4.tcp_syncookies = 1
  33. error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
  34. error: "net.bridge.bridge-nf-call-iptables" is an unknown key
  35. error: "net.bridge.bridge-nf-call-arptables" is an unknown key
  36. kernel.msgmnb = 65536
  37. kernel.msgmax = 65536
  38. kernel.shmmax = 68719476736
  39. kernel.shmall = 4294967296

(2)VPNServer伺服器初始搭建環境

image_1cs6tegubt601vv11npp3ah71o4o.png-6.9kB

模擬IDC機房的VPNServer,也沒有設定閘道器,因為它的eth0網絡卡,模擬的本身就是公網的IP了。所以,設定同網段即可。

至於eth1網絡卡模擬的是IDC機房的內網環境,由於VPNServer並不是正常的閘道器內網出口,使用者的URL請求是不會通過VPNServer的公網網絡卡進來的,所以我們的模擬環境就不需要設定網關了。在真實環境中,IDC機房的內網環境是會有真正的網關出口的(會有一臺作為內網出到公網的出口。使用者URL也是從那裡進來的)

 
  1. [[email protected] ~]# ifconfig eth0 #檢視eth0網絡卡IP
  2. eth0 Link encap:Ethernet HWaddr 00:0C:29:87:B8:AF
  3. inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0
  4. inet6 addr: fe80::20c:29ff:fe87:b8af/64 Scope:Link
  5. UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
  6. RX packets:2136 errors:0 dropped:0 overruns:0 frame:0
  7. TX packets:154 errors:0 dropped:0 overruns:0 carrier:0
  8. collisions:0 txqueuelen:1000
  9. RX bytes:157244 (153.5 KiB) TX bytes:13765 (13.4 KiB)
  10. [[email protected] ~]# ifconfig eth1 #檢視eth1網絡卡IP
  11. eth1 Link encap:Ethernet HWaddr 00:0C:29:87:B8:B9
  12. inet addr:192.168.200.100 Bcast:192.168.200.255 Mask:255.255.255.0
  13. inet6 addr: fe80::20c:29ff:fe87:b8b9/64 Scope:Link
  14. UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
  15. RX packets:2544 errors:0 dropped:0 overruns:0 frame:0
  16. TX packets:86 errors:0 dropped:0 overruns:0 carrier:0
  17. collisions:0 txqueuelen:1000
  18. RX bytes:171207 (167.1 KiB) TX bytes:7121 (6.9 KiB)
  19. [[email protected] ~]# route -#檢視路由規則(沒有閘道器)
  20. Kernel IP routing table
  21. Destination Gateway Genmask Flags Metric Ref Use Iface
  22. 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
  23. 192.168.200.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
  24. 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
  25. 169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1
  26. [[email protected] ~]# sysctl -#檢視網絡卡轉發情況
  27. net.ipv4.ip_forward = 1 #已開啟轉發
  28. net.ipv4.conf.default.rp_filter = 1
  29. net.ipv4.conf.default.accept_source_route = 0
  30. kernel.sysrq = 0
  31. kernel.core_uses_pid = 1
  32. net.ipv4.tcp_syncookies = 1
  33. error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
  34. error: "net.bridge.bridge-nf-call-iptables" is an unknown key
  35. error: "net.bridge.bridge-nf-call-arptables" is an unknown key
  36. kernel.msgmnb = 65536
  37. kernel.msgmax = 65536
  38. kernel.shmmax = 68719476736
  39. kernel.shmall = 4294967296

(3)企業內網PC(windows 7)

image_1cs6tfpg218b2cq31ist1fvtap855.png-4.9kB

和ADSL的內網絡卡同網段,並設定ADSL內網網絡卡為閘道器即可。 
模擬企業公司的辦公內網環境

image_1cs6tgahe1u3d1neiho1iv31g8j5i.png-171.7kB

提示: 
注意關閉windows7的防火牆

(4)IDC內網跳板機

image_1cs6th3li1lh04rq1tak1bf0101c6f.png-4.8kB

模擬IDC機房的內網跳板機,運維人員通過VPNServer伺服器DNAT到本內網伺服器,然後在通過跳板機連到其他內網伺服器。

 
  1. [[email protected] ~]# ifconfig eth0 #檢視網絡卡IP
  2. eth0 Link encap:Ethernet HWaddr 00:0C:29:F6:3F:B5
  3. inet addr:192.168.200.200 Bcast:192.168.200.255 Mask:255.255.255.0
  4. inet6 addr: fe80::20c:29ff:fef6:3fb5/64 Scope:Link
  5. UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
  6. RX packets:3350 errors:0 dropped:0 overruns:0 frame:0
  7. TX packets:88 errors:0 dropped:0 overruns:0 carrier:0
  8. collisions:0 txqueuelen:1000
  9. RX bytes:225903 (220.6 KiB) TX bytes:11485 (11.2 KiB)
  10. [[email protected] ~]# route -#檢視路由規則(無GW資訊)
  11. Kernel IP routing table
  12. Destination Gateway Genmask Flags Metric Ref Use Iface
  13. 192.168.200.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
  14. 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
 

配置VPN伺服器的時間同步(在學校環境下不用做此步驟)

 
  1. #給VPN伺服器的外網網絡卡新增閘道器和DNS資訊
  2. [[email protected] ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
  3. DEV