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

    基于IPTABLES的網(wǎng)絡(luò)計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)

    2009-07-13 10:09:06周喜平
    新媒體研究 2009年21期
    關(guān)鍵詞:代理服務(wù)器內(nèi)網(wǎng)計(jì)費(fèi)

    周喜平 姜 斌

    [摘要]以Iptables作為網(wǎng)關(guān)來實(shí)現(xiàn)中小型局域網(wǎng)的內(nèi)網(wǎng)機(jī)器上網(wǎng),將內(nèi)網(wǎng)用戶的帳號(hào)和IP地址綁定,通過修改Iptables的規(guī)則以及修改Netfilter的代碼來控制內(nèi)網(wǎng)用戶上網(wǎng);系統(tǒng)在計(jì)費(fèi)的同時(shí)還可以實(shí)現(xiàn)域名和關(guān)鍵字過濾以及內(nèi)網(wǎng)的防火墻,實(shí)現(xiàn)成本低,安全系數(shù)較高。

    [關(guān)鍵詞]Iptables網(wǎng)絡(luò)計(jì)費(fèi)

    中圖分類號(hào):TP3文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1671-7597(2009)1110090-01

    一、引言

    計(jì)費(fèi)管理是網(wǎng)絡(luò)管理的五大功能之一(故障管理、計(jì)費(fèi)管理、配置管理、性能管理、安全管理)。常見的計(jì)費(fèi)管理的實(shí)現(xiàn)方法有三種[1]:通過路由器進(jìn)行計(jì)費(fèi)、通過代理服務(wù)器進(jìn)行計(jì)費(fèi)和基于監(jiān)聽的計(jì)費(fèi)。本文采用類似第二種計(jì)費(fèi)實(shí)現(xiàn)方法即基于網(wǎng)關(guān)的實(shí)現(xiàn)方式?;诰W(wǎng)關(guān)的實(shí)現(xiàn)方式較之基于代理服務(wù)器的實(shí)現(xiàn)方式的基本原理是相似的,就是在內(nèi)網(wǎng)和Internet

    網(wǎng)絡(luò)之間建立網(wǎng)關(guān)(類似于代理服務(wù)器的功能),通過這個(gè)網(wǎng)關(guān)來實(shí)現(xiàn)內(nèi)網(wǎng)用戶訪問Internet。所不同的是可以把網(wǎng)關(guān)設(shè)置成“透明網(wǎng)關(guān)”,即內(nèi)網(wǎng)用戶只要設(shè)置網(wǎng)關(guān)的IP地址就可以通過網(wǎng)關(guān)來訪問Internet,而無需像代理服務(wù)器的實(shí)現(xiàn)方法那樣過多的設(shè)置其他參數(shù)。本文以Linux系統(tǒng)中的Netfilter來實(shí)現(xiàn)“透明網(wǎng)關(guān)”,通過Netfilter和Iptables來完成內(nèi)網(wǎng)用戶訪問Internet,同時(shí)實(shí)現(xiàn)對(duì)這些用戶的上網(wǎng)控制和計(jì)費(fèi)。

    二、設(shè)計(jì)思路

    Netfilter是Linux內(nèi)核的一個(gè)完善的且功能強(qiáng)大的防火墻子系統(tǒng),Iptables 是與最新的版本Linux 內(nèi)核集成的IP信息包過濾系統(tǒng),或者可以簡(jiǎn)單理解為Netfilter是Linux內(nèi)核的一部分,而Iptables則是Linux提供給用戶的一種工具,通過這種工具可以很好的處理內(nèi)核中的防火墻的各種信息處理規(guī)則,利用Netfilter和Iptables可以實(shí)現(xiàn)NAT(Network Address Translation)。NAT即網(wǎng)絡(luò)地址轉(zhuǎn)換,當(dāng)網(wǎng)關(guān)被分配一個(gè)或者多個(gè)合法的Internet IP地址后,通過NAT技術(shù)使發(fā)給其中某一個(gè)IP地址的包轉(zhuǎn)發(fā)至內(nèi)部某一內(nèi)網(wǎng)用戶的上網(wǎng)設(shè)備上,然后再將該內(nèi)網(wǎng)用戶的響應(yīng)包偽裝成該合法IP發(fā)出的包,這樣內(nèi)網(wǎng)用戶即可訪問Internet。

    所有上網(wǎng)的內(nèi)網(wǎng)用戶訪問Internat之前必須通過認(rèn)證服務(wù)器的鑒別,通過設(shè)置NAT的PREROUTING鏈的規(guī)則[2],使得所有沒有通過鑒別的用戶重定向到認(rèn)證服務(wù)器,而通過鑒別的用戶,相應(yīng)綁定的IP地址被寫入Iptables的規(guī)則中,這個(gè)IP是允許訪問Internat,而且不用被重定向到認(rèn)證服務(wù)器。

    當(dāng)用戶不想上網(wǎng)時(shí),則從Iptables的規(guī)則中刪除IP地址,這個(gè)工作可以由單獨(dú)的刷新在線信息頁面完成。

    三、設(shè)計(jì)要點(diǎn)

    (一)實(shí)現(xiàn)內(nèi)網(wǎng)用戶訪問Internet

    首選應(yīng)該配置網(wǎng)關(guān)服務(wù)器,使得網(wǎng)關(guān)能夠訪問Internet,建議作為網(wǎng)關(guān)的服務(wù)器最好裝配兩塊網(wǎng)卡,一塊用來連接Internet(以下簡(jiǎn)稱外網(wǎng),用eth0代替),一塊用來連接內(nèi)網(wǎng)(用eth1代替)。在確保Netfitler和Iptables被安裝完整后,就可以配置Iptables來實(shí)現(xiàn)NAT,建立可執(zhí)行腳本:

    echo 1 > /proc/sys/net/ipv4/ip_forward

    iptables -F;

    iptables -t nat -F;

    iptables -t mangle -F;

    以上腳本適合IPV4,通過執(zhí)行以上腳本,使得任何內(nèi)網(wǎng)訪問eth1的請(qǐng)求包,都被轉(zhuǎn)發(fā)到eth0。

    (二)控制上網(wǎng)用戶

    確保內(nèi)網(wǎng)用戶能夠訪問外網(wǎng)后,在腳本中增加以下指令:

    iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 196.188.1.9:80

    其中IP地址196.188.1.9是認(rèn)證服務(wù)器的IP地址。這里必須確保認(rèn)證服務(wù)器已經(jīng)設(shè)置好web認(rèn)證服務(wù),并且能夠?qū)崿F(xiàn)用戶的基本信息認(rèn)證,包括用戶帳號(hào)、密碼、上網(wǎng)在線時(shí)間、計(jì)費(fèi)方式、費(fèi)率等。

    這條指令使所有訪問外網(wǎng)的請(qǐng)求都被轉(zhuǎn)發(fā)到196.188.1.9:80的認(rèn)證頁面。用戶輸入合法的帳號(hào)和密碼后,調(diào)用下面的指令來完成該用戶訪問外網(wǎng):

    iptables -t nat -I PREROUTING s ipaddr -j ACCEPT

    ipaddr是該上網(wǎng)帳號(hào)對(duì)應(yīng)的IP地址,當(dāng)然你好可以通過下列指令來邦定用戶的MAC地址:

    iptables -t nat -I PREROUTING s ipaddr -m mac --mac-source macaddr -j ACCEPT

    macaddr是IP地址對(duì)應(yīng)的計(jì)算機(jī)的MAC地址。

    用戶驗(yàn)證合法后,在客戶端要做的另外一件事是彈出認(rèn)證合法的“在線窗口”,通過該窗口上的“斷開連接”按鈕來告訴計(jì)費(fèi)服務(wù)器用戶下線時(shí)間,“在線窗口”通過刷新頁面來告訴服務(wù)器用戶是否在線,若用戶點(diǎn)擊“斷開連接”按鈕,或者規(guī)定時(shí)間內(nèi)沒有刷新在線信息,則服務(wù)器認(rèn)為用戶中斷上網(wǎng),則調(diào)用如下指令來阻斷用戶上網(wǎng):

    iptables -t nat -D PREROUTING -s ipaddr -j ACCEPT

    (三)計(jì)費(fèi)設(shè)計(jì)

    本系統(tǒng)采用Java技術(shù)的J2EE開發(fā)標(biāo)準(zhǔn)來完成,web和應(yīng)用服務(wù)器采用weblogic9.2,數(shù)據(jù)庫采用oracle10g。用戶的基本信息保存在數(shù)據(jù)庫中,可以通過管理員增加用戶的基本信息,也可以通過用戶注冊(cè),管理員審批的方式。對(duì)于用戶在線信息的維護(hù),則是采用一個(gè)session的數(shù)據(jù)庫表,每次用戶端發(fā)送在線信息過來后,更新session中對(duì)應(yīng)的信息,若發(fā)現(xiàn)某些用戶的session信息過期,則清除session信息,同時(shí)刪除該用戶對(duì)應(yīng)的Iptables規(guī)則。

    采用Java來完成Iptables規(guī)則的修改是比較簡(jiǎn)單的事情,調(diào)用Runtime. getRuntime().exec(Stirng command)方法,就可以完成規(guī)則的增加和刪除,因?yàn)樵诎惭b了netfilter 的linux中Iptable本身就是可執(zhí)行的腳本工具。

    四、結(jié)束語

    本系統(tǒng)經(jīng)過試用后,發(fā)現(xiàn)還存在一些問題,比如“在線窗口”的彈出影響了客戶的使用體驗(yàn),另外就是認(rèn)證頁面請(qǐng)求的轉(zhuǎn)發(fā)只是web請(qǐng)求的轉(zhuǎn)發(fā),對(duì)于非HTTP請(qǐng)求的包會(huì)在不通過認(rèn)證的情況下通過Iptables,這些是該系統(tǒng)下一步要改進(jìn)的問題。

    參考文獻(xiàn):

    [1]張孟雄,校園網(wǎng)計(jì)費(fèi)系統(tǒng)的實(shí)現(xiàn)途徑探討,空軍雷達(dá)學(xué)院學(xué)報(bào),2000.

    [2]宋光惠等,基于IPTABLES的Web認(rèn)證系統(tǒng)的實(shí)現(xiàn),中國信息化教育,2009.

    猜你喜歡
    代理服務(wù)器內(nèi)網(wǎng)計(jì)費(fèi)
    出租車計(jì)費(fèi)的秘密
    5G網(wǎng)絡(luò)獨(dú)立組網(wǎng)中融合計(jì)費(fèi)方案的研究
    生活中的分段計(jì)費(fèi)
    地鐵信號(hào)系統(tǒng)中代理服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)
    IP地址隱藏器
    企業(yè)內(nèi)網(wǎng)中的數(shù)據(jù)隔離與交換技術(shù)探索
    科技資訊(2017年5期)2017-04-12 15:24:45
    地下車庫柱網(wǎng)布置設(shè)計(jì)思路
    山西建筑(2016年20期)2016-11-22 03:10:21
    QoS技術(shù)在企業(yè)內(nèi)網(wǎng)實(shí)踐探索
    科技資訊(2016年19期)2016-11-15 08:17:44
    一種容侵系統(tǒng)的設(shè)計(jì)
    代理服務(wù)器全問答
    株洲市| 盐池县| 宁远县| 富阳市| 江门市| 鞍山市| 宿迁市| 蓬莱市| 攀枝花市| 施甸县| 梨树县| 扬中市| 淅川县| 阿合奇县| 红桥区| 旅游| 葵青区| 彰化市| 谢通门县| 咸阳市| 开化县| 乌拉特中旗| 无为县| 南陵县| 阿克苏市| 通海县| 托克托县| 屯门区| 龙岩市| 西丰县| 玉龙| 清新县| 红安县| 芦溪县| 印江| 广平县| 南宁市| 安阳市| 溧水县| 禄丰县| 藁城市|