單慶元+南峰
摘 要:文章針對基于DNAT和SNAT的雙線方法中的日志查詢問題和基于Web反向代理雙線方法中的服務(wù)擴(kuò)展問題,利用移動IPV4中使用的IP漫游技術(shù),在校園網(wǎng)和聯(lián)通公網(wǎng)邊界處的NAT服務(wù)器上設(shè)置PROXY-ARP,相關(guān)網(wǎng)絡(luò)設(shè)備上設(shè)置靜態(tài)路由,將聯(lián)通公網(wǎng)IP地址漫游到校園內(nèi)網(wǎng)服務(wù)器區(qū)。利用IP地址的技術(shù),將雙線訪問中使用的聯(lián)通公網(wǎng)IP地址和教育網(wǎng)IP地址配置到一臺服務(wù)器上。在出口路由器上配置策略路由,使得源地址為聯(lián)通公網(wǎng)IP的數(shù)據(jù)包通過聯(lián)通公網(wǎng)鏈路發(fā)送,源地址為教育網(wǎng)IP的數(shù)據(jù)包通過教育網(wǎng)鏈路發(fā)送。實(shí)際使用證明,基于PROXY-ARP的雙線訪問方法具有日志查詢簡單、服務(wù)擴(kuò)展容易等特點(diǎn)。
關(guān)鍵詞:雙線訪問;PROXY-ARP;IP漫游
中圖分類號:TP393.01 文獻(xiàn)標(biāo)志碼:A 文章編號:1673-8454(2016)08-0072-04
一、引言
隨著校園信息化的發(fā)展,校園網(wǎng)出口帶寬不斷增加,在互聯(lián)網(wǎng)服務(wù)提供商的選擇上也實(shí)現(xiàn)了多元化。服務(wù)器雙線訪問技術(shù)能夠利用多元化的出口鏈路資源提升校外用戶訪問校園內(nèi)網(wǎng)服務(wù)器的速度。依托智能DNS技術(shù)實(shí)現(xiàn)的方法有多種,文獻(xiàn)[1]提出了基于單主機(jī)雙網(wǎng)卡的方法,該方法在網(wǎng)絡(luò)客戶機(jī)的本地DNS服務(wù)器配置不合適時(shí),服務(wù)器訪問會失敗。文獻(xiàn)[2]使用了雙主機(jī)內(nèi)容同步方法,該方法需要兩臺主機(jī),資源比較浪費(fèi),維護(hù)不方便。文獻(xiàn)[3]總結(jié)了單主機(jī)雙網(wǎng)卡方法的缺點(diǎn)后提出了基于Web反向代理的方法,該方法也需要額外的軟硬件,而且非Web應(yīng)用支持不好。文獻(xiàn)[4]使用了基于NAT和靜態(tài)路由的方法,該方法在網(wǎng)絡(luò)客戶機(jī)DNS配置不合適時(shí)訪問網(wǎng)站會出錯(cuò)。文獻(xiàn)[5]詳細(xì)闡述了基于NAT和策略路由方法的原理和實(shí)現(xiàn)方法,該方法的缺點(diǎn)是服務(wù)器日志查詢分析比較困難。文獻(xiàn)[6]使用了專業(yè)設(shè)備F5負(fù)載鏈路均衡器的虛擬服務(wù)器技術(shù),該方法本質(zhì)上也是基于NAT,成本較高。文獻(xiàn)[7]簡述了CDN技術(shù),使用Squid的反向代理實(shí)現(xiàn)了雙線訪問,CDN網(wǎng)絡(luò)發(fā)展迅猛,從CDN服務(wù)提供商租用服務(wù)來加速變得可行,但一些應(yīng)用實(shí)現(xiàn)加速很困難(如SSH、SMTP、SSLVPN等)。受移動IPV4技術(shù)[8, 9]和文獻(xiàn)[2]的啟發(fā),本文實(shí)現(xiàn)了一種基于PROXY-ARP的雙線訪問方法。
二、校園網(wǎng)拓?fù)浜喗?/p>
如圖1所示,校園網(wǎng)有兩條出口鏈路:教育網(wǎng)鏈路和聯(lián)通公網(wǎng)鏈路,內(nèi)網(wǎng)服務(wù)器使用教育網(wǎng)IP地址提供服務(wù)。在校園網(wǎng)和聯(lián)通公網(wǎng)的邊界處使用NAT服務(wù)器(RouterOS系統(tǒng)),將校園網(wǎng)內(nèi)網(wǎng)用戶使用的教育網(wǎng)IP地址轉(zhuǎn)換成聯(lián)通公網(wǎng)IP地址。出口路由器(Juniper Router)負(fù)責(zé)進(jìn)出校園網(wǎng)數(shù)據(jù)的路由選擇,通過使用靜態(tài)路由和策略路由,使得校園內(nèi)網(wǎng)用戶對教育網(wǎng)IP的訪問請求通過教育網(wǎng)公網(wǎng)鏈路發(fā)送,對非教育網(wǎng)IP的訪問請求則通過聯(lián)通公網(wǎng)鏈路發(fā)送。出口路由器還保證了校園網(wǎng)外客戶機(jī)對內(nèi)網(wǎng)服務(wù)器的訪問請求能正確轉(zhuǎn)發(fā)至服務(wù)器,同時(shí)內(nèi)網(wǎng)服務(wù)器的響應(yīng)也能正確返回給客戶機(jī)。
1.代理ARP技術(shù)的技術(shù)原理
在使用以太網(wǎng)技術(shù)的局域網(wǎng)內(nèi),本地?cái)?shù)據(jù)的傳輸是通過MAC地址來尋址的。在同一個(gè)局域網(wǎng)內(nèi)的兩臺計(jì)算機(jī)要傳送數(shù)據(jù),除了需要知道接收設(shè)備的IP地址(D-IP),還需要接收設(shè)備的MAC地址(D-MAC),如果數(shù)據(jù)發(fā)送的計(jì)算機(jī)(該計(jì)算機(jī)的IP為S-IP)不知道接收方的MAC地址,就會發(fā)送ARP請求,該請求為二層的廣播,局域網(wǎng)里的計(jì)算機(jī)都能收到該請求,但是只有IP地址為D-IP的主機(jī)做出響應(yīng),給IP地址為S-IP的主機(jī)回復(fù)一個(gè)ARP響應(yīng)(ARP Response),告訴數(shù)據(jù)發(fā)送主機(jī),D-IP對應(yīng)的MAC地址為D-MAC。
如果數(shù)據(jù)發(fā)送主機(jī)IP地址(S-IP)和數(shù)據(jù)接收主機(jī)的IP地址(D-IP)是同一個(gè)邏輯網(wǎng)段(就是兩臺主機(jī)配置的IP地址所在的網(wǎng)絡(luò)號相同),但是物理上卻被路由器隔離開,單純的使用ARP協(xié)議是不能通信的。因?yàn)槁酚善鞯囊粋€(gè)重要作用就是將所有的廣播數(shù)據(jù)包限制在本地,不會將廣播數(shù)據(jù)包發(fā)送到另外的路由器接口上。這樣單純使用ARP協(xié)議,源主機(jī)是不能獲得目標(biāo)主機(jī)的D-MAC的。這時(shí),需要在路由器指定的接口上開啟PROXY-ARP協(xié)議。
當(dāng)路由器在開啟PROXY-ARP的接口上接收到目標(biāo)地址為D-IP的ARP請求時(shí),路由器會查找路由表,看路由表中是否有到D-IP的路由,如果路由表中有D-IP的路由,路由器會代替D-IP主機(jī),用連接S-IP主機(jī)的路由器接口的MAC地址(Router-MAC)給S-IP主機(jī)發(fā)送一個(gè)ARP響應(yīng)(ARP Response),告訴S-IP主機(jī)D-IP主機(jī)的MAC地址是Router-MAC。這樣所有S-IP主機(jī)到D-IP主機(jī)的數(shù)據(jù)先發(fā)送給路由器,再由路由器轉(zhuǎn)發(fā)給D-IP主機(jī)。
代理ARP典型應(yīng)用是在移動IPV4網(wǎng)絡(luò)中設(shè)備的漫游[8]。如圖2所示。
移動IP終端屬于網(wǎng)絡(luò)A,由于某種原因,現(xiàn)在需要移動到網(wǎng)絡(luò)B中,但是IP地址仍然使用網(wǎng)絡(luò)A的地址。通過移動IP的移動終端注冊機(jī)制,路由器A知道此時(shí)移動終端已經(jīng)到達(dá)網(wǎng)絡(luò)B中,并且通過路由器B可以到達(dá)移動終端。這樣A網(wǎng)絡(luò)中固定IP終端與移動終端的通信就必須使用下列步驟:①路由器A的內(nèi)聯(lián)接口開啟代理ARP功能。②網(wǎng)絡(luò)A中的固定終端發(fā)送目標(biāo)IP為移動終端IP的ARP請求,在網(wǎng)絡(luò)A中的所有主機(jī)都能收到該請求。③路由器A收到該ARP請求之后,用內(nèi)聯(lián)接口的MAC地址回復(fù)ARP請求。④網(wǎng)絡(luò)A中的固定終端將數(shù)據(jù)發(fā)送給路由器A。⑤路由器A通過隧道等的技術(shù)將數(shù)據(jù)通過路由器B轉(zhuǎn)發(fā)給移動終端。
2.PROXY-ARP在服務(wù)器雙線訪問中的應(yīng)用
實(shí)現(xiàn)方法如示意拓?fù)鋱D3的①所示,有兩臺Web服務(wù)器(Windows 2003系統(tǒng)),發(fā)布的內(nèi)容一樣,1號Web服務(wù)器配置聯(lián)通公網(wǎng)IP地址,連接到聯(lián)通公網(wǎng)中,為非教育網(wǎng)的用戶提供Web服務(wù),2號Web服務(wù)器配置教育網(wǎng)IP地址,放置在校園內(nèi)網(wǎng)服務(wù)器區(qū),為教育網(wǎng)的用戶提供Web服務(wù),這就是雙線訪問的雙主機(jī)方法[2]?,F(xiàn)在利用PROXY-ARP和靜態(tài)路由,將位于聯(lián)通公網(wǎng)邊界處的1號Web服務(wù)器漫游到校園內(nèi)網(wǎng)服務(wù)器區(qū),如圖3的②所示,再利用從IP的技術(shù)將1號Web服務(wù)器和2號Web服務(wù)器整合,變成一臺服務(wù)器,如圖3的③所示。Web服務(wù)器的網(wǎng)卡上配置主從IP地址,主IP設(shè)置為教育網(wǎng)IP,從IP設(shè)置為聯(lián)通公網(wǎng)IP。
3.基于PROXY-ARP雙線方法的具體實(shí)現(xiàn)步驟
(1)智能DNS解析
利用智能DNS技術(shù)實(shí)現(xiàn)教育網(wǎng)的客戶機(jī)將網(wǎng)站域名映射為Web服務(wù)器教育網(wǎng)IP地址,非教育網(wǎng)的客戶機(jī)將網(wǎng)站域名映射為Web服務(wù)器的聯(lián)通公網(wǎng)IP地址??梢圆少徤虡I(yè)化的智能DNS產(chǎn)品或者使用開源的DNS服務(wù)器BIND,考慮到成本因素,實(shí)際使用BIND的VIEW來實(shí)現(xiàn)域名的智能解析[10]。
(2)客戶機(jī)訪問請求的正確轉(zhuǎn)發(fā)
該部分利用PROXY-ARP,設(shè)置靜態(tài)路由,服務(wù)器主從IP地址使得客戶機(jī)對Web服務(wù)器聯(lián)通公網(wǎng)IP的請求正確地轉(zhuǎn)發(fā)給Web服務(wù)器。
聯(lián)通出口的NAT服務(wù)器的外網(wǎng)卡(ether1)配置相關(guān)IP、網(wǎng)關(guān)及啟用PROXY-ARP功能,命令如下:
/ interface ethernet set ether1 arp=proxy-arp
注:在外網(wǎng)卡上開啟proxy-arp功能
/ ip address add address=124.93.236.98/27 interface=ether1
注:網(wǎng)絡(luò)接口ether1上配置聯(lián)通分配的IP地址
/ ip route add dst-address=0.0.0.0/0 gateway=124.93.236.97
注:添加指向聯(lián)通網(wǎng)關(guān)的默認(rèn)路由
客戶機(jī)對Web服務(wù)器聯(lián)通公網(wǎng)IP的訪問請求首先在聯(lián)通公網(wǎng)內(nèi)進(jìn)行轉(zhuǎn)發(fā),最終網(wǎng)關(guān)設(shè)備(124.93.236.97)會收到該請求,聯(lián)通網(wǎng)關(guān)會發(fā)送關(guān)于Web服務(wù)器聯(lián)通公網(wǎng)IP的ARP請求,NAT服務(wù)器會在外網(wǎng)卡收到該請求,由于在該網(wǎng)卡上啟用了PROXY-ARP功能,NAT服務(wù)器會用外網(wǎng)卡的MAC地址進(jìn)行ARP回復(fù),這樣所有的訪問請求都由聯(lián)通網(wǎng)關(guān)轉(zhuǎn)發(fā)到了NAT服務(wù)器。由圖3可知,配有聯(lián)通公網(wǎng)IP的Web服務(wù)器現(xiàn)在的位置是在內(nèi)網(wǎng)服務(wù)器區(qū),所以NAT服務(wù)器須將訪問請求轉(zhuǎn)發(fā)到出口路由器,由出口路由器進(jìn)行下一步轉(zhuǎn)發(fā)。實(shí)現(xiàn)方法是在NAT服務(wù)器上添加靜態(tài)路由:
/ ip address add address=172.16.15.1/29 interface=ether2
注:配置NAT服務(wù)器的內(nèi)聯(lián)接口地址,此接口與出口路由器直連
/ ip route add dst-address=124.93.236.122/32 gateway=172.16.15.2
注:將Web服務(wù)器的聯(lián)通公網(wǎng)IP(124.93.236.122)轉(zhuǎn)發(fā)的下一節(jié)點(diǎn)設(shè)置為出口路由器。這樣訪問請求就被轉(zhuǎn)發(fā)到了出口路由器,同樣在出口路由器上設(shè)置靜態(tài)路由,將請求進(jìn)一步轉(zhuǎn)發(fā)給校園網(wǎng)的核心交換機(jī)。配置如下:
set interfaces ge-0/0/0 unit 20 family inet address 172.16.15.2/29
注:ge-0/0/0是出口路由器的外聯(lián)接口,與NAT服務(wù)器通過交換機(jī)相連,IP地址為172.16.15.2
set interfaces ge-1/3/0 unit 0 family inet address 172.16.10.1/29
注:ge-1/3/0是出口路由器的內(nèi)聯(lián)接口,與核心交換機(jī)相連,IP地址為172.16.10.1
set routing-options static route 124.93.236.122/32 next-hop 172.16.10.2
注:設(shè)置靜態(tài)路由將請求轉(zhuǎn)發(fā)給校園網(wǎng)核心交換機(jī)。
核心交換機(jī)設(shè)置為Web服務(wù)器教育網(wǎng)IP的網(wǎng)關(guān),與Web服務(wù)器直接相連,在核心交換機(jī)上設(shè)置靜態(tài)路由,將發(fā)送給Web服務(wù)器聯(lián)通公網(wǎng)IP的數(shù)據(jù)轉(zhuǎn)發(fā)給Web服務(wù)器教育網(wǎng)IP。
配置如下:
ip route 0.0.0.0 0.0.0.0 172.16.10.1
注:配置默認(rèn)路由指向出口路由器的內(nèi)聯(lián)接口
ip route 124.93.236.122 255.255.255.255 210.30.48.11
注:將所有發(fā)送給服務(wù)器聯(lián)通公網(wǎng)IP地址(124.93.236.122)的數(shù)據(jù),轉(zhuǎn)發(fā)給服務(wù)器教育網(wǎng)IP(210.30.48.11)。Web服務(wù)器的網(wǎng)絡(luò)接口上配置主IP(210.30.48.11)和從IP(124.93.236.122),以便接收目標(biāo)為教育網(wǎng)和聯(lián)通公網(wǎng)IP地址的訪問請求,默認(rèn)網(wǎng)關(guān)設(shè)置為核心交換機(jī)的IP(210.30.48.254)。
另外,Web服務(wù)器上IIS的站點(diǎn)配置為監(jiān)控所有IP地址,同時(shí)處理教育網(wǎng)IP和聯(lián)通IP的Web訪問請求。
至此,客戶機(jī)的訪問請求已經(jīng)能正確發(fā)送到Web服務(wù)器。
(3)Web服務(wù)器響應(yīng)的轉(zhuǎn)發(fā)
該部分使用默認(rèn)路由,策略路由將Web服務(wù)器對客戶機(jī)的響應(yīng)正確的轉(zhuǎn)發(fā)給客戶機(jī)。
服務(wù)器處理完客戶機(jī)的請求之后(以Web服務(wù)器聯(lián)通公網(wǎng)IP響應(yīng)為例),將數(shù)據(jù)包的源IP設(shè)置為124.93.236.122,目標(biāo)IP為客戶機(jī)IP地址,發(fā)送給Web服務(wù)器的網(wǎng)關(guān)-核心交換機(jī)IP地址210.30.48.254。核心交換機(jī)接收到該數(shù)據(jù)包后,根據(jù)默認(rèn)路由,將數(shù)據(jù)包轉(zhuǎn)發(fā)給出口路由器。出口路由器使用策略路由對Web服務(wù)器的響應(yīng)數(shù)據(jù)包進(jìn)行轉(zhuǎn)發(fā)。由于對Web服務(wù)器聯(lián)通公網(wǎng)IP的訪問請求都是從聯(lián)通線路進(jìn)來的,對Web服務(wù)器教育網(wǎng)IP的訪問請求都是從教育網(wǎng)線路進(jìn)來的,所以利用基于源IP的策略路由,將所有源IP為服務(wù)器聯(lián)通公網(wǎng)IP的響應(yīng)直接轉(zhuǎn)發(fā)給NAT服務(wù)器,所有源IP為服務(wù)器教育網(wǎng)IP的響應(yīng)直接轉(zhuǎn)發(fā)到教育網(wǎng)即可。在Juniper路由器中,策略路由稱為基于過濾器的轉(zhuǎn)發(fā)(Filter-Based Forwarding)。
4.配置正確性的驗(yàn)證
設(shè)置Web服務(wù)器的IIS的訪問日志,記錄具體的訪問請求。
通過對網(wǎng)站日志的簡單統(tǒng)計(jì),可以發(fā)現(xiàn)Web網(wǎng)站的整體訪問趨勢。該網(wǎng)站在2015年4月1日-15日期間,對教育網(wǎng)IP地址(210.30.48.11)的訪問次數(shù)為17172次,對服務(wù)器聯(lián)通公網(wǎng)IP地址(124.93.236.122)的訪問次數(shù)為64875次,大部分訪問來自非教育網(wǎng)。
對于服務(wù)擴(kuò)展方面,該方法對服務(wù)沒有限制。除了一般的Web應(yīng)用外,對于SSL VPN、PPTP VPN、SMTP、POP3、TELNET等,用該方法也實(shí)現(xiàn)了雙線訪問。在線路擴(kuò)展方面,由于在服務(wù)器上可以配置多個(gè)從IP地址,所以該方法可以利用多條出口線路對內(nèi)網(wǎng)服務(wù)器區(qū)的服務(wù)器加速訪問。
三、結(jié)束語
下面對通常使用的雙線訪問技術(shù)進(jìn)行對比,可以根據(jù)不同的業(yè)務(wù)需求使用合適的雙線訪問技術(shù)。①基于PROXY-ARP的方法。Web訪問的所有信息都在Web服務(wù)器上,便于統(tǒng)計(jì)分析和對特定訪問記錄的追溯;可以實(shí)現(xiàn)Web以外應(yīng)用的雙線訪問;線路擴(kuò)展簡單,只要出口線路足夠,很容易擴(kuò)展為三線或者更多線路的加速訪問;通過PROXY-ARP,靜態(tài)路由配合策略路由將主機(jī)移動到內(nèi)網(wǎng)服務(wù)器區(qū),有利于服務(wù)器的統(tǒng)一防護(hù)。使用策略路由確保服務(wù)器的響應(yīng)數(shù)據(jù)包能正確路由,不會出現(xiàn)因客戶機(jī)DNS服務(wù)器配置不合適而影響服務(wù)訪問。②基于雙向NAT的方法。由于NAT服務(wù)器對源IP、目標(biāo)IP進(jìn)行了轉(zhuǎn)換,如果需要追溯特定的訪問記錄,需要查Web服務(wù)器的訪問日志和NAT服務(wù)器的NAT轉(zhuǎn)換記錄,在Web服務(wù)器和NAT服務(wù)器的時(shí)間同步的情況下,日志查找也比較困難。由于客戶機(jī)的IP地址在NAT服務(wù)器上做了轉(zhuǎn)換,在Web服務(wù)器看來,所有的非教育網(wǎng)客戶機(jī)的IP地址都是相同的,如果在Web服務(wù)器上安裝了Web應(yīng)用防火墻對惡意的客戶機(jī)IP地址進(jìn)行阻斷,那么所有非教育網(wǎng)的訪問都會被阻斷。③基于Web反向代理的方法。需要至少一臺額外的服務(wù)器,Web反向代理服務(wù)器對內(nèi)網(wǎng)服務(wù)器的響應(yīng)做了本地的緩存,能夠分擔(dān)Web服務(wù)器的負(fù)載。但是該方法只適合于一般的Web應(yīng)用服務(wù),使用了加密的Web應(yīng)用和非Web應(yīng)用(如SSLVPN,SSH等)實(shí)現(xiàn)困難。
另外,在互聯(lián)網(wǎng)接入的時(shí)候,互聯(lián)網(wǎng)服務(wù)提供商分配IP地址的方式也影響雙線訪問的實(shí)現(xiàn)方法,以上的方法一般都基于路由的IP分配方式。如果是交換的IP分配方式,實(shí)現(xiàn)雙線訪問會簡單一點(diǎn)。
參考文獻(xiàn):
[1]李孜.公眾網(wǎng)用戶快速訪問校園網(wǎng)Web的設(shè)計(jì)與實(shí)現(xiàn)[J].河南科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2008(2):51-54.
[2]劉妍,陳松,戰(zhàn)學(xué)剛.外網(wǎng)訪問校園WWW服務(wù)器雙線接入策略[J].鞍山科技大學(xué)學(xué)報(bào),2007(5):493-498.
[3]孫偉平,張延.淺析高校網(wǎng)站的雙線接入解決方案[J].科技視界,2012(11):142-143.
[4]吳宏波.動態(tài)DNS技術(shù)在雙出口校園網(wǎng)中的應(yīng)用[J].電腦與信息技術(shù),2009(1):59-61.
[5]戰(zhàn)學(xué)剛,陳松.基于雙向NAT和智能DNS內(nèi)網(wǎng)服務(wù)器安全快速訪問策略[J].計(jì)算機(jī)工程與設(shè)計(jì),2009(12): 2941-2944.
[6]李海明,蘇開宇.智能DNS在校園網(wǎng)多鏈路控制的應(yīng)用[J].中國計(jì)量學(xué)院學(xué)報(bào),2011(1):59-63.
[7]孟小華,陳仁章.基于CDN技術(shù)實(shí)現(xiàn)教育網(wǎng)網(wǎng)站的跨網(wǎng)絡(luò)快速訪問[J].計(jì)算機(jī)工程與設(shè)計(jì),2010(9):1909-1911.
[8]Ietf.RFC2002-IP Mobility Support[S].2002.
[9]Ietf.RFC3344-IP Mobility Support for IPv4[S].2002.
[10]Paul Albitz C L.DNS and BIND, 5th Edition [M].O'Reilly, 2001.
(編輯:魯利瑞)