本發(fā)明涉及網(wǎng)絡(luò)技術(shù),具體涉及portal認(rèn)證技術(shù)。
背景技術(shù):
::在現(xiàn)代組網(wǎng)中,portal日益成為標(biāo)準(zhǔn)配置,廣泛應(yīng)用于地鐵、公交、商場(chǎng)等的公共wifi中,成為公共場(chǎng)所上網(wǎng)的門戶。目前在公共場(chǎng)合的wifi熱點(diǎn)中,wifi本身不加密,但是當(dāng)用戶訪問(wèn)網(wǎng)絡(luò)的時(shí)候,會(huì)要求用戶輸入用戶名和密碼,認(rèn)證成功后就可以上網(wǎng)了,web認(rèn)證的特點(diǎn)顯而易見,就是不需要特殊的客戶端,有瀏覽器就可以了。參見圖1,但是傳統(tǒng)portal組網(wǎng)中,推送portal認(rèn)證頁(yè)面的操作完全由ac(接入控制器)完成,導(dǎo)致ac不堪重負(fù),造成用戶體驗(yàn)不佳的后果。其次,傳統(tǒng)portal組網(wǎng)還難以穿透nat的限制,限制頗多。技術(shù)實(shí)現(xiàn)要素:針對(duì)現(xiàn)有portal組網(wǎng)中portal認(rèn)證方案所存在的問(wèn)題,本發(fā)明的目的在于提供一種高效的portal認(rèn)證方法。為了達(dá)到上述目的,本發(fā)明采用如下技術(shù)方案:一種分布式portal認(rèn)證方法,所述認(rèn)證方法由各ap對(duì)待認(rèn)證的用戶終端推送porta認(rèn)證頁(yè)面。優(yōu)選的,所述認(rèn)證方法通過(guò)在ap上由iptables截獲用戶終端上網(wǎng)的http報(bào)文,然后重定向到本地創(chuàng)建的httpserver。優(yōu)選的,所述認(rèn)證方法中先通過(guò)ovs將http流的目的mac改為本地,將http流引入到ap上的http服務(wù)器。優(yōu)選的,所述認(rèn)證方法還通過(guò)ac定期向portal服務(wù)器發(fā)送hello報(bào)文,來(lái)建立nat映射表。優(yōu)選的,所述ac定期向portal服務(wù)器發(fā)送hello報(bào)文的時(shí)間為10s。優(yōu)選的,所述認(rèn)證方法還進(jìn)行portal分布式實(shí)名審計(jì),將用戶終端信息發(fā)往審計(jì)服務(wù)器。優(yōu)選的,所述portal分布式實(shí)名審計(jì)通過(guò)hostapd獲取用戶終端信息,根據(jù)ap索引號(hào)查詢數(shù)據(jù)庫(kù),獲取對(duì)應(yīng)ap的審計(jì)服務(wù)器ip和port,通過(guò)ubus下發(fā)到ap,并在ap上調(diào)用發(fā)送審計(jì)報(bào)文的接口,將待獲取到的用戶終端信息發(fā)往審計(jì)服務(wù)器。本發(fā)明提供的認(rèn)證方案通過(guò)將ac推送portal認(rèn)證頁(yè)面的工作負(fù)載均攤到ap上,由各ap實(shí)現(xiàn)對(duì)用戶終端推送portal頁(yè)面的工作,使用戶能夠體驗(yàn)到流暢絲滑的上網(wǎng)體驗(yàn)。同時(shí)突破nat對(duì)portal組網(wǎng)的限制,使portal組網(wǎng)更加靈活多變,適應(yīng)各種不同的組網(wǎng)環(huán)境。附圖說(shuō)明以下結(jié)合附圖和具體實(shí)施方式來(lái)進(jìn)一步說(shuō)明本發(fā)明。圖1為非分布式portal認(rèn)證原理示意圖;圖2為本發(fā)明實(shí)例中分布式portal認(rèn)證原理示意圖;圖3為本發(fā)明實(shí)例中跨nat的實(shí)現(xiàn)流程圖。具體實(shí)施方式為了使本發(fā)明實(shí)現(xiàn)的技術(shù)手段、創(chuàng)作特征、達(dá)成目的與功效易于明白了解,下面結(jié)合具體圖示,進(jìn)一步闡述本發(fā)明。本實(shí)例針對(duì)現(xiàn)有portal組網(wǎng)中portal認(rèn)證方式所存在的問(wèn)題,提供一種基于ac+ap構(gòu)架的分布式跨natportal認(rèn)證方法。該portal認(rèn)證方法通過(guò)將ac推送portal認(rèn)證頁(yè)面的工作負(fù)載均攤到ap上,由各ap實(shí)現(xiàn)對(duì)用戶終端推送portal頁(yè)面的工作,使用戶能夠體驗(yàn)到流暢絲滑的上網(wǎng)體驗(yàn)。同時(shí),本認(rèn)證方法還突破nat對(duì)portal組網(wǎng)的限制,使portal組網(wǎng)更加靈活多變,適應(yīng)各種不同的組網(wǎng)環(huán)境。這里所述的用戶終端為各種可與ap通信連接的終端,如移動(dòng)手機(jī)、pad等等?;谏鲜鲈恚痉植际娇鏽atportal認(rèn)證方法的實(shí)現(xiàn)方案如下:參見圖2,本認(rèn)證方案通過(guò)portal組網(wǎng)中的各個(gè)ap來(lái)執(zhí)行完成彈portal認(rèn)證頁(yè)面這一動(dòng)作,以此來(lái)實(shí)現(xiàn)分布式的認(rèn)證。其中,由ap彈portal認(rèn)證頁(yè)面是通過(guò)設(shè)置iptables,以截獲用戶終端上網(wǎng)的http報(bào)文,然后重定向到本地創(chuàng)建的httpserver來(lái)實(shí)現(xiàn)的。本方案中在設(shè)置iptables時(shí),先通過(guò)ovs將http流的目的mac改為本地,將http流引入到ap上的http服務(wù)器。作為舉例,相應(yīng)的配置手段如下:ovs修改目的mac的配置:ovs-ofctladd-flowbr-ovs"table=12,tcp,tp_dst=80,actions=mod_dl_dst=$br_mac,local"iptables配置如下:iptables-tnat-apt_http-ptcp--dport80-jredirect--to-ports3030iptables-tnat-apt_http-ptcp--dport443-jredirect--to-ports3031本地httpserver的端口號(hào)是3030和3031。據(jù)此設(shè)置,當(dāng)用戶使用瀏覽器上網(wǎng)時(shí)(未經(jīng)portal認(rèn)證),其上網(wǎng)流量在ap上會(huì)被iptables截獲并重定向到本地httpserver。這一過(guò)程是在ap上完成的,可以大大減輕ac的工作負(fù)載,讓用戶終端(如用戶手機(jī))能夠更快速的彈出portal認(rèn)證頁(yè)面,用戶體驗(yàn)更加完美。進(jìn)一步的,本認(rèn)證方案還通過(guò)ac定期向portal服務(wù)器(后面稱之為“云平臺(tái)”)發(fā)送hello報(bào)文,來(lái)建立nat映射表,使后續(xù)portal協(xié)議的交互不再受nat的限制。由此,實(shí)現(xiàn)跨nat,突破nat對(duì)portal組網(wǎng)的限制。這樣ac定期向portal服務(wù)器發(fā)送hello報(bào)文的時(shí)間優(yōu)選10s。據(jù)此,在發(fā)送hello報(bào)文后,在報(bào)文經(jīng)由ap到nat設(shè)備a時(shí),會(huì)自動(dòng)生成兩條映射表項(xiàng),分別是(sourceip_ap,sourceport_ap~sourceip_a,sourceport_a)與(destinationip_ap,destinationport_ap~destinationip_a,destinationport_a),有了該映射表項(xiàng),報(bào)文便能在ap與nat設(shè)備a間交互。同理,可得hello報(bào)文由nat設(shè)備a到nat設(shè)備b時(shí)生成的映射表項(xiàng)。另外,通過(guò)定期發(fā)送hello報(bào)文,能夠有效防止映射表項(xiàng)老化。參見圖3,本認(rèn)證方案中跨nat的具體實(shí)現(xiàn)流程如下:1)ac向云平臺(tái)(eg:阿里云)發(fā)送hello報(bào)文(udp報(bào)文),hello報(bào)文的源端口是2000,源ip是ac的ip地址,目的端口和目的ip是云平臺(tái)的端口和ip。2)在上述過(guò)程的網(wǎng)絡(luò)拓?fù)?即ac與云平臺(tái)之間的網(wǎng)絡(luò)拓?fù)?中存在一個(gè)或多個(gè)nat設(shè)備,當(dāng)云平臺(tái)接收到hello報(bào)文的同時(shí),該網(wǎng)絡(luò)拓?fù)渲邢嚓P(guān)的nat設(shè)備上已經(jīng)建立好相應(yīng)的nat映射表項(xiàng)。3)portal協(xié)議流程開始后,云平臺(tái)能夠?qū)?x03報(bào)文發(fā)往ac而不受nat的限制,因?yàn)橄嚓P(guān)的nat設(shè)備此時(shí)已經(jīng)有正確的nat映射表。4)后續(xù)0x04回應(yīng)報(bào)文及其它相應(yīng)流程也能正確執(zhí)行下來(lái)。根據(jù)上述的跨nat實(shí)現(xiàn)流程可知,通過(guò)使用很小的代價(jià)(每10s發(fā)送一次hello報(bào)文),就能使nat表項(xiàng)維持在最新狀態(tài),使ac與云平臺(tái)之間的通信不受nat的限制,相當(dāng)于ac與云平臺(tái)處于一個(gè)局域網(wǎng)內(nèi),不用關(guān)心中間的網(wǎng)絡(luò)結(jié)構(gòu),簡(jiǎn)化了布網(wǎng)流程。即便網(wǎng)絡(luò)結(jié)構(gòu)非常復(fù)雜,只要ac的hello報(bào)文能夠發(fā)往云平臺(tái),后續(xù)的portal流程就能正確進(jìn)行。再進(jìn)一步的,本認(rèn)證方案還通過(guò)portal分布式實(shí)名審計(jì),即將用戶終端信息(如:手機(jī)號(hào))發(fā)往審計(jì)服務(wù)器。這里在實(shí)現(xiàn)portal分布式實(shí)名審計(jì)時(shí),由于實(shí)名審計(jì)信息是由各個(gè)ap執(zhí)行發(fā)送動(dòng)作,從而有效降低了ac的負(fù)載。該portal分布式實(shí)名審計(jì)方案實(shí)現(xiàn)的流程如下:1)ac通過(guò)hostapd獲取用戶終端信息(eg:手機(jī)號(hào));2)ac根據(jù)apindex(ap索引號(hào))查詢存儲(chǔ)了審計(jì)服務(wù)器ip和port的數(shù)據(jù)庫(kù),獲取對(duì)應(yīng)ap的審計(jì)服務(wù)器ip和port;3)ac通過(guò)ubus下發(fā)審計(jì)信息(手機(jī)號(hào)等用戶終端信息)以及獲得的對(duì)應(yīng)ap的審計(jì)服務(wù)器ip和port到ap,并在ap上調(diào)用發(fā)送審計(jì)報(bào)文的接口,將審計(jì)信息(用戶終端信息)發(fā)往審計(jì)服務(wù)器。以上顯示和描述了本發(fā)明的基本原理、主要特征和本發(fā)明的優(yōu)點(diǎn)。本行業(yè)的技術(shù)人員應(yīng)該了解,本發(fā)明不受上述實(shí)施例的限制,上述實(shí)施例和說(shuō)明書中描述的只是說(shuō)明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明還會(huì)有各種變化和改進(jìn),這些變化和改進(jìn)都落入要求保護(hù)的本發(fā)明范圍內(nèi)。本發(fā)明要求保護(hù)范圍由所附的權(quán)利要求書及其等效物界定。當(dāng)前第1頁(yè)12當(dāng)前第1頁(yè)12