• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    面向小微型企業(yè)的VPN跨域互聯(lián)平臺的設計

    2015-10-21 01:41:48陳泓黃東文葉小艷張芒

    陳泓 黃東文 葉小艷 張芒

    摘 ?要:文章研究一種跨域VPN互聯(lián)方案并設計一個開放平臺,讓使用者用按需充值的方式使用VPN服務,為小微企業(yè)提供低成本的VPN方案。該平臺在開源的OpenVPN平臺基礎上研發(fā)完成,由企業(yè)客戶端、個人客戶端、代理服務端和系統(tǒng)管理工具等四個部分組成,采用了虛擬網(wǎng)卡、虛擬網(wǎng)橋、隧道技術,并采用數(shù)據(jù)庫技術實現(xiàn)系統(tǒng)管理功能。

    關鍵詞:VPN;虛擬網(wǎng)卡;虛擬網(wǎng)橋;隧道協(xié)議;OpenVPN

    中圖分類號:TP311 ? ? 文獻標識碼:A ? ? ?文章編號:1006-8937(2015)06-0059-03

    VPN(Virtual Private Network,虛擬專用網(wǎng)絡)是指利用密碼技術和訪問控制技術在公共網(wǎng)絡(如Internet)中建立的專用通信網(wǎng)絡。

    本文以開源OpenVPN項目為基礎,研究在互聯(lián)網(wǎng)上部署一個開放的平臺,提供跨域的VPN互聯(lián)服務,讓使用者用按需充值的方式使用VPN服務,為小微企業(yè)提供低成本的VPN方案。

    1 ?工作基礎

    本文的研究基礎是單域VPN代理機制與OpenVPN。

    1.1 ?單域VPN代理機制

    單域VPN代理是常見的VPN方案。每一個需要接受外部訪問的企業(yè)網(wǎng)絡,都在網(wǎng)絡邊緣部署一個VPN網(wǎng)關,這需要購買獨立的設備,有一定的成本負擔。

    大公司的VPN的使用頻率高,投入較高的成本購買VPN硬件服務器或者租用ISP提供的VPN服務是物有所值。但是小微企業(yè)對VPN的使用是偶發(fā)的,而且VPN訪問的資源通常是企業(yè)網(wǎng)絡內(nèi)部的某臺主機(如數(shù)據(jù)庫服務器或Web服務器)而不是整個網(wǎng)絡,因而投入專項資金去部署VPN網(wǎng)關成本上不合算,故希望有低成本的解決方案。

    1.2 ?OpenVPN

    OpenVPN是一個開源VPN項目,能在Linux、xBSD與Windows 2000/XP上運行,其核心技術是虛擬設備,包括虛擬網(wǎng)卡和虛擬網(wǎng)橋。

    虛擬網(wǎng)卡是使用網(wǎng)絡底層編程技術實現(xiàn)的一種驅(qū)動軟件,安裝后在主機上多出現(xiàn)一個網(wǎng)卡,可以像其它網(wǎng)卡一樣進行配置。服務程序可以在應用層打開虛擬網(wǎng)卡:如果應用軟件(如IE)向虛擬網(wǎng)卡發(fā)送數(shù)據(jù),則服務程序可以讀取到該數(shù)據(jù);如果服務程序?qū)懞线m的數(shù)據(jù)到虛擬網(wǎng)卡,應用軟件也可以接收得到。虛擬網(wǎng)卡在很多操作系統(tǒng)下都有相應的實現(xiàn),這也是OpenVPN能夠跨平臺一個很重要的理由。

    在OpenVPN中,如果用戶訪問一個遠程的虛擬地址(屬于虛擬網(wǎng)卡配用的地址系列,區(qū)別于真實地址),則操作系統(tǒng)會通過路由機制將數(shù)據(jù)包發(fā)送到虛擬網(wǎng)卡上,服務程序接收該數(shù)據(jù)并進行相應處理后,通過物理網(wǎng)卡從外網(wǎng)上發(fā)送出去,遠程服務程序通過物理網(wǎng)卡從外網(wǎng)上接收數(shù)據(jù),并作相應處理后,發(fā)送給虛擬網(wǎng)卡,則應用軟件可以接收到,完成了一個單向傳輸?shù)倪^程。反之亦然。

    虛擬網(wǎng)橋存在于VPN服務器端,表現(xiàn)為使用軟件模擬一個真實的以太網(wǎng)交換機。它的作用是把一個以太網(wǎng)絡接口和一個或多個虛擬網(wǎng)卡橋接在一個網(wǎng)橋接口上,就像它們在一個以太網(wǎng)子網(wǎng)內(nèi)。其最重要的作用有兩點:

    ①MAC學習。像交換機一樣建立MAC地址-端口的對照表。

    ②報文轉(zhuǎn)發(fā)。每發(fā)送一個數(shù)據(jù)包,網(wǎng)橋都會提取其目的MAC地址,從自己的地址-端口對照表中查找由哪個端口把數(shù)據(jù)包發(fā)送出去,使數(shù)據(jù)到達對應的虛擬網(wǎng)卡。

    OpenVPN只提供了核心功能的支持。在實際應用中,需要進行一些修改和定制開發(fā),方可滿足具體需求,并提供輔助功能。

    2 ?跨域VPN代理平臺架構與工作機制

    描述了跨域VPN代理平臺的架構和工作機制如圖1所示。圖1中有三個關鍵實體:企業(yè)內(nèi)部網(wǎng)絡A中的FTP資料服務器、中間網(wǎng)絡C中的VPN代理服務器、外地局域網(wǎng)B中的PC。圖1中的虛線部分表示虛擬連接,一次VPN訪問經(jīng)過了三個不同的局域網(wǎng),對于不同的外地PC和不同的公司局域網(wǎng),都由同一代理服務器作為中繼,體現(xiàn)跨域互聯(lián)的特點。

    2.1 ?平臺架構

    平臺由三個邏輯部件構成:企業(yè)客戶端(部署在資料服務器上)、個人客戶端(部署在外地PC上)和代理服務端(含管理工具,部署在代理服務器上)。

    企業(yè)客戶端的主功能是為資料服務器申請VPN接入服務,個人客戶端的主功能是登錄VPN代理服務器,代理服務端的主功能是提供VPN代理服務并管理用戶權限、流量、日志。

    在使用VPN時,首先在資料服務器上調(diào)用企業(yè)客戶端向VPN代理服務器發(fā)起注冊,獲得一個C網(wǎng)的IP地址,并保持連接,然后在外地PC上調(diào)用個人客戶端登錄VPN,也獲得一個C網(wǎng)的IP地址,經(jīng)過這兩步建立起一個虛擬通道,使外地PC訪問資料服務器。

    2.2 ?工作機制

    假設網(wǎng)絡C的內(nèi)部網(wǎng)段地址是10.0.0.0/8,資料服務器經(jīng)過注冊,得到了一個IP地址10.0.0.234。

    下面從數(shù)據(jù)在三個邏輯部件中的流轉(zhuǎn)過程來說明該平臺的工作機制。

    2.2.1 ?個人客戶端上

    PC構造出一個數(shù)據(jù)包,目標是10.0.0.234,數(shù)據(jù)包發(fā)送到虛擬網(wǎng)卡,用隧道協(xié)議對數(shù)據(jù)包進行封裝,目標是VPN代理服務器,數(shù)據(jù)包通過物理網(wǎng)卡發(fā)到VPN服務器。

    2.2.2 ?VPN代理服務器上

    物理網(wǎng)卡接收到數(shù)據(jù)包,用隧道協(xié)議對其拆封得到原始數(shù)據(jù)包,目標是10.0.0.234,守護進程查詢得到其對應的虛擬網(wǎng)卡MAC地址,通過虛擬網(wǎng)橋轉(zhuǎn)發(fā)到虛擬網(wǎng)卡,虛擬網(wǎng)卡上用隧道協(xié)議封裝,目標是資源服務器,物理網(wǎng)卡將數(shù)據(jù)包發(fā)到資料服務器。

    2.2.3 ?資料服務器上

    物理網(wǎng)卡接收到數(shù)據(jù)包,經(jīng)過TCP/IP傳送到VPN進程上,VPN進程用隧道協(xié)議解包,并將數(shù)據(jù)包再次傳入TCP/IP協(xié)議棧,TCP/IP協(xié)議棧將其數(shù)據(jù)包發(fā)到對應的應用進程。

    3 ?平臺設計

    以下從VPN代理服務器、企業(yè)客戶端、個人客戶端、系統(tǒng)管理工具四個軟件組建來說明平臺的設計方法。所示圖片是測試期產(chǎn)生的實際效果圖。

    3.1 ?VPN代理服務器

    服務器系統(tǒng)將運行Centos6.4平臺上,主要開發(fā)語言為c語言,輔助語言為python。含核心模塊ppp/bridge+pptp和輔助模塊:cloud+deduction+backpwd。

    ppp/bridge是本系統(tǒng)的驅(qū)動部分,扮演著VPN數(shù)據(jù)傳輸介質(zhì)的作用。

    PPP扮演虛擬網(wǎng)卡的角色,用來接收來自TCP/IP協(xié)議棧的網(wǎng)絡分包并發(fā)送或者反過來將接收到的網(wǎng)絡分包傳給協(xié)議棧處理以及將網(wǎng)絡分包在內(nèi)核與用戶態(tài)之間傳送,模擬物理鏈路的數(shù)據(jù)接收和發(fā)送;Bridge用來存儲CHM表,CHM記錄著撥號上來的客戶端的詳細信息。Bridge扮演著交換機角色,主要對接收的數(shù)據(jù)包進行封裝處理以及對數(shù)據(jù)進行相應轉(zhuǎn)發(fā)。

    pptp是一個協(xié)議模塊,在有了驅(qū)動模塊基礎上,該模塊決定能否維持機器正常通訊,它提供了一個協(xié)議棧,用于封裝和拆封數(shù)據(jù)包的VPN協(xié)議。

    cloud用于響應客戶端更新私有云表。

    deduction用于月結扣費。

    mailpwd用于密碼忘記的郵件模塊。

    3.2 ?企業(yè)客戶端

    部署在window平臺,采用C#進行開發(fā)。主功能是為資料服務器申請VPN接入服務。

    進入企業(yè)客戶端后,出現(xiàn)企業(yè)業(yè)務主界面,單擊“加入企業(yè)私有云”按鈕,出現(xiàn)相應界面,如圖2所示。

    填寫角色類型、提供服務、和訪問密碼;提交成功后,VPN代理服務器上為資料服務器生成一個網(wǎng)絡C的地址,如圖3所示。

    新增加的FTP服務器在VPN代理服務器上獲得了一個IP地址“10.0.0.234”,以后外地主機通過訪問該主機地址來訪問資料服務器。

    3.3 ?個人客戶端

    部署在window平臺,采用C#進行開發(fā),主功能是登錄VPN代理服務器,還提供充值等輔助功能。選擇一個代理服務器,輸入密碼,進行連接,如圖4所示。

    成功后,PC上將形成一個虛擬網(wǎng)卡,其IP地址是網(wǎng)絡C的一個地址。借助虛擬網(wǎng)卡,外地PC就可以像訪問同一個局域網(wǎng)中主機一樣訪問企業(yè)內(nèi)部網(wǎng)絡的資料服務器了。

    3.4 ?VPN服務器管理工具

    管理工具部署在Window平臺,采用C#進行開發(fā),管理用戶權限、流量、日志,如圖5、圖6所示。

    包括radius、radius-mysql、mysql等模塊。

    radius模塊主要用來驗證用戶信息,防止權限濫用;

    其次用來流量限制、時間限制、用戶人數(shù)登錄限制、日志記錄、設置計費頻率。

    radius-mysql模塊可以把數(shù)據(jù)都放到mysql里面進行集中管理。這個模塊主要功能是radius與mysql一個對接模塊,將radius的所有信息記錄在mysql里面。mysql模塊是數(shù)據(jù)庫部分。

    4 ?結 ?語

    本文源于廣東省大學生創(chuàng)新創(chuàng)業(yè)項目,所研究的VPN平臺,經(jīng)過線上測試,在企業(yè)服務代理、游戲加速等應用上都有一定的使用價值。下一階段是考慮租用公用云來推廣,為更多的小微企業(yè)提供服務。為了達到這一目標,在安全性、性能、使用體驗等方面還要繼續(xù)改進,相關的研究將會繼續(xù)開展下去。

    參考文獻:

    [1] 劉建軍.小微型企業(yè)信息化建設分析[J].科技情報開發(fā)與經(jīng)濟,2013,(1).

    [2] 任志敏,黃國策,曹鵬.短波IP網(wǎng)絡中IP代理的設計與實現(xiàn)[J].信息技術,2009,(4).

    [3] 程思,程家興.VPN中的隧道技術研究[J].計算機技術與發(fā)展,2010,(2).

    泊头市| 巨鹿县| 阿图什市| 海盐县| 和林格尔县| 西盟| 岑溪市| 石城县| 惠来县| 新津县| 兰考县| 资源县| 武山县| 平武县| 奇台县| 青岛市| 长沙市| 清原| 确山县| 正宁县| 东海县| 彰化县| 威远县| 泰和县| 太谷县| 德清县| 黄陵县| 南投县| 昌邑市| 曲松县| 建瓯市| 尚义县| 潼关县| 永德县| 宜兴市| 聂荣县| 衡山县| 探索| 沁水县| 苏尼特右旗| 西青区|