亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        在linux平臺(tái)上用iptables實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā)

        2012-10-27 07:05:48潘永才張尚徽王富單文斌湖北大學(xué)物理學(xué)與電子技術(shù)學(xué)院湖北武漢430062
        中國(guó)科技信息 2012年4期
        關(guān)鍵詞:嵌入式設(shè)置

        潘永才 張尚徽 王富 單文斌湖北大學(xué)物理學(xué)與電子技術(shù)學(xué)院,湖北 武漢 430062

        在linux平臺(tái)上用iptables實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā)

        潘永才 張尚徽 王富 單文斌
        湖北大學(xué)物理學(xué)與電子技術(shù)學(xué)院,湖北 武漢 430062

        網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)可以實(shí)現(xiàn)透明代理、端口重定向和負(fù)載平衡等功能,iptables具有NAT功能,本文敘述了NAT的工作原理,然后介紹了如何利用iptables的nat功能實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā)功能。

        NAT;Iptables; IP映射;數(shù)據(jù)轉(zhuǎn)發(fā)

        NAT;Iptables; IP Map;Data Forward

        引言

        由于生活和工業(yè)上的特殊應(yīng)用,經(jīng)常需要數(shù)據(jù)轉(zhuǎn)發(fā)和透?jìng)鞴δ?,路由器可以?shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā),但實(shí)際生活中是在某一平臺(tái)上做數(shù)據(jù)轉(zhuǎn)發(fā)同時(shí)實(shí)現(xiàn)其它功能,所以要自己開(kāi)發(fā)具有數(shù)據(jù)轉(zhuǎn)發(fā)功能的平臺(tái)。在應(yīng)用開(kāi)發(fā)中可以使用scoket編程實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā),但這樣做費(fèi)時(shí)費(fèi)力,而且轉(zhuǎn)發(fā)的穩(wěn)定性不敢保證。NAT可以對(duì)數(shù)據(jù)包的源IP地址、目的IP地址、源端口、目的端口等進(jìn)行改寫(xiě)[1],從而可以實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā)。Iptables具有nat功能,iptables是linux系統(tǒng)自帶的防火墻系統(tǒng),利用iptables實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā),不但簡(jiǎn)單而且穩(wěn)定性很好。

        1.NAT的工作原理

        NAT的基本原理:改變IP包頭,使目的地址、源地址或兩個(gè)地址在包頭中被不同地址替換。

        NAT的工作原理:下圖所示,是兩個(gè)公司通過(guò)Internet網(wǎng)絡(luò)互相交流,是NAT的典型應(yīng)用,通過(guò)它來(lái)認(rèn)識(shí)NAT工作原理。我們清楚,在局域網(wǎng)內(nèi)部的私有地址是不能訪(fǎng)問(wèn)外網(wǎng)的,必須轉(zhuǎn)換成公有地址才可以訪(fǎng)問(wèn)Internet,我們以PC1: 192. 168.2.4訪(fǎng)問(wèn)User1: 192.168.2.4為例說(shuō)明訪(fǎng)問(wèn)過(guò)程。

        1.1 PC1向RA(網(wǎng)關(guān))發(fā)送請(qǐng)求,告訴自己的私有IP地址和MAC地址,并且要求自己要到達(dá)User1主機(jī)。

        1.2 RA收到請(qǐng)求后,把PC1的源IP地址進(jìn)行轉(zhuǎn)換,變成內(nèi)部全局地址,即公有地址202.16.58.1,并且為PC1指定一個(gè)隨機(jī)產(chǎn)生的端口號(hào),發(fā)送到Inter網(wǎng)。

        1.3 Inter網(wǎng)絡(luò)收到了內(nèi)部全局IP地址的請(qǐng)求,進(jìn)行路由選擇,被RB接收,RB通過(guò)查看RA發(fā)送過(guò)來(lái)的內(nèi)部全局IP地址和端口號(hào)等信息,直接發(fā)送給192.168. 2.4網(wǎng)絡(luò)的網(wǎng)關(guān)。

        1.4 網(wǎng)關(guān)路由器RB收到了信息,根據(jù)對(duì)方發(fā)過(guò)來(lái)的目標(biāo)主機(jī)信息,把數(shù)據(jù)傳輸給 User1主機(jī)。

        1.5 根據(jù)ICMP協(xié)議,user1主機(jī)需要回應(yīng),對(duì)數(shù)據(jù)進(jìn)行相應(yīng)的處理,把數(shù)據(jù)封裝后發(fā)送給網(wǎng)關(guān)。

        1.6 網(wǎng)關(guān)把user1的私有IP地址轉(zhuǎn)換成外部局部IP地址,即公有地址202.16. 58.2,通過(guò)這個(gè)公有地址,轉(zhuǎn)發(fā)到路由器RA。

        1.7 RA收到數(shù)據(jù)包,查看自己緩存里的對(duì)應(yīng)的主機(jī)和端口,并對(duì)PC1進(jìn)行轉(zhuǎn)發(fā)。

        圖1所示是兩個(gè)公司通過(guò)Internet網(wǎng)絡(luò)互相交流,實(shí)際過(guò)程也就是ip映射來(lái)進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。

        2.iptables數(shù)據(jù)轉(zhuǎn)發(fā)腳本 [2][4]

        上面演示了NAT工作原理,現(xiàn)在介紹如何用iptables實(shí)現(xiàn)上面過(guò)程,為了便于結(jié)果的驗(yàn)證,筆者把中間的internet公網(wǎng)ip,換成局域網(wǎng)ip,原理上還是一樣的。

        首先我們需要一臺(tái)l i n u x的雙網(wǎng)卡PC/嵌入式平臺(tái)。接下來(lái)按照?qǐng)D2所示,搭建實(shí)驗(yàn)環(huán)境。設(shè)置A、B網(wǎng)段的子網(wǎng)掩碼為255.255.255.0, PC1的IP地址為192. 168.1.4, User1的IP地址為192.168.2.4,這樣兩個(gè)網(wǎng)段的機(jī)器是不能相互訪(fǎng)問(wèn)的?,F(xiàn)要使PC1和User1互相訪(fǎng)問(wèn),主要實(shí)現(xiàn)腳本如下。

        2.1 Linux平臺(tái)網(wǎng)口1接A網(wǎng)段,網(wǎng)口2接B網(wǎng)段。設(shè)置兩個(gè)網(wǎng)卡的ip,命令如下:

        ifconfig eth0192.168.1.2netmask 255.255.255.0up //設(shè)置A網(wǎng)段任意可用ip,命令根據(jù)具體平臺(tái)改變

        ifconfig eth1192.168.2.2netmask 255.255.255.0up //設(shè)置B網(wǎng)段任意可用ip

        2.2 實(shí)現(xiàn)linux數(shù)據(jù)包轉(zhuǎn)發(fā),把文件/ proc/sys/net/ipv4/ip_forward的值設(shè)定為1,命令如下:echo "1" > /proc/sys/net/ ipv4/ip_forward。

        2.3 清空原有的iptables的表(主要是filter表和nat表)和表中的鏈:

        iptables -F

        iptables -X

        iptables -Z

        iptables -F -t nat

        iptables -X -t nat

        iptables -Z -t nat

        2.4 為了不影響其他機(jī)子訪(fǎng)問(wèn)linux平臺(tái),給網(wǎng)卡添加ip地址,這樣,訪(fǎng)問(wèn)A網(wǎng)段192.168.1.3的時(shí)候,就會(huì)轉(zhuǎn)發(fā)到B網(wǎng)段的192.168.2.4上去,而訪(fǎng)問(wèn)192.168. 1.2則不會(huì)受影響。

        ip address add 192.168.1.3 brd + dev eth0

        ip address add 192.168.2.3 brd + dev eth1

        2.5 設(shè)置filter表中三個(gè)鏈的默認(rèn)規(guī)則,進(jìn)入(INPUT)發(fā)出(OUTPUT)都是允許ACCE PT,轉(zhuǎn)發(fā)(FO RWAR D)是丟棄DROP。

        iptables -P INPUT ACCEPT

        iptables -P OUTPUT ACCEPT

        iptables -P FORWARD DROP

        2.6 設(shè)置允許對(duì)機(jī)器192.168.1.4和192.168.2.4的訪(fǎng)問(wèn)

        iptables -A FORWARD -s 192. 168.1.4-j ACCEPT

        iptables -A FORWARD -d 192. 168.1.4-j ACCEPT

        iptables -A FORWARD -s 192. 168.2.4-j ACCEPT

        iptables -A FORWARD -d 192. 168.2.4-j ACCEPT

        2.7 下面命令的意義是nat標(biāo)的三條鏈默認(rèn)接受任何數(shù)據(jù)傳輸

        iptables -t nat -P PREROUTING ACCEPT

        iptables -t nat -P POSTROUTING ACCEPT

        iptables -t nat -P OUTPUT ACCEPT

        2.8 真正實(shí)現(xiàn)地址轉(zhuǎn)換的語(yǔ)句,意義為:在PREROUTING鏈中(也就是剛進(jìn)入lin ux服務(wù)器的數(shù)據(jù)包),將目的地址為192.168.1.3的數(shù)據(jù)包進(jìn)行修改,使得其目的地址變?yōu)?192.168.2.4;在POSTROUTING鏈中(要送出linux服務(wù)器的數(shù)據(jù)包),將源地址為192.168.2.4的數(shù)據(jù)包的源地址改為192.168.1.3[3];

        iptables -t nat -A PREROUTING -d 192.168.1.3-j DNAT --to 192. 168.2.4

        iptables -t nat -A POSTROUTING -s 192.168.2.4-j SNAT --to 192. 168.1.3

        iptables -t nat -A PREROUTING -d 192.168.2.3-j DNAT --to 192. 168.1.4

        iptables -t nat -A POSTROUTING -s 192.168.1.4-j SNAT --to 192. 168.2.3

        圖1

        圖2

        自此已經(jīng)完成腳本的編寫(xiě),如果上圖中間的平臺(tái)為PC機(jī),那么直接執(zhí)行上述腳本,PC1和User1就可以互相訪(fǎng)問(wèn)。比如:PC1要ping User1,在PC1終端執(zhí)行ping 192.168.1.3實(shí)際上ping的就是User1,類(lèi)似的User1訪(fǎng)問(wèn)PC1也是通過(guò)訪(fǎng)問(wèn)192. 168.2.3來(lái)轉(zhuǎn)發(fā)實(shí)現(xiàn)。如果上圖中間平臺(tái)為嵌入式平臺(tái),那么還要進(jìn)行iptables移植操作。Iptables移植過(guò)程包括移植交叉編譯支持iptables內(nèi)核和移植交叉編譯的iptables程序兩部分,在此不做詳細(xì)敘述。

        3.實(shí)驗(yàn)結(jié)果

        筆者在裝有l(wèi)inux系統(tǒng)PC平臺(tái)和嵌入式平臺(tái)都做了測(cè)試。

        PC平臺(tái):選用裝有l(wèi)inux系統(tǒng)的筆記本,筆記本有線(xiàn)網(wǎng)連接A網(wǎng)段、無(wú)線(xiàn)網(wǎng)連接B網(wǎng)段,相應(yīng)的上述腳本設(shè)置IP命令的網(wǎng)卡eth1換成wlan0。

        嵌入式平臺(tái):選用SBC6020(SBC6020具有雙網(wǎng)卡),SBC6020原始內(nèi)核和文件系統(tǒng)不支持iptables,所以要移植交叉編譯過(guò)的支持iptables的內(nèi)核、和移植交叉編譯的iptables和自己編寫(xiě)iptables轉(zhuǎn)發(fā)腳本到嵌入式平臺(tái)。

        依照?qǐng)D2連接好各硬件平臺(tái),運(yùn)行iptables轉(zhuǎn)發(fā)腳本,使用PC平臺(tái)和嵌入式平臺(tái)效果一樣,測(cè)試結(jié)果如下:

        A網(wǎng)段pc1(IP:192.168.1.4)通過(guò)終端telnet 192.168.1.3結(jié)果登錄到B網(wǎng)段User1(IP:192.168.2.4)的機(jī)子上,在pc1上ping 192.168.1.3,在User1上用Wireshark軟件可以捕獲到由開(kāi)發(fā)板IP:192.168.2.3轉(zhuǎn)發(fā)過(guò)來(lái)的消息,這些足以說(shuō)明通過(guò)以上方法實(shí)現(xiàn)了數(shù)據(jù)轉(zhuǎn)發(fā)。為了驗(yàn)證數(shù)據(jù)轉(zhuǎn)發(fā)的可靠性,我通過(guò)在pc1上安裝視頻監(jiān)控客戶(hù)端,在客戶(hù)端上添加IP為192.168.1.3的設(shè)備,把User1設(shè)為IP Camera (IP:192.168.2.4),所有設(shè)置好以后,pc1機(jī)子上的客戶(hù)端可以預(yù)覽和控制IP Camera (IP:192.168.2.4),通過(guò)長(zhǎng)時(shí)間測(cè)試,視頻轉(zhuǎn)發(fā)不丟幀,非常穩(wěn)定。

        [1]阮元生,陶虹才,林霞.網(wǎng)絡(luò)地址轉(zhuǎn)換技術(shù)及其在校園網(wǎng)中的應(yīng)用.現(xiàn)代計(jì)算機(jī)[J],2004(2):47~50

        [2](美)Michael Rash著;陳健譯. Linux防火墻[M].北京:人民郵電出版社,2009

        [3]張金良,用 iptables 實(shí)現(xiàn) NAT. 唐山師范學(xué)院學(xué)報(bào)[J],2007.29(2):74~76

        [4]Rusty Russell.Linux 2.4Nat HOWTO.2000(5)

        In the Linux Platform to Realize Data Forwarding Based on Iptables

        Network Address Translation(NAT) would allow hosts in a private network to transparently access the external network,which has the function of port redirection and load balance. Iptables have NAT function.This paper discusses the mechanism of NAT, and illustrates how to use Iptables on linux platform to achieve data forwarding.

        10.3969/j.issn.1001-8972.2012.04.026

        猜你喜歡
        嵌入式設(shè)置
        中隊(duì)崗位該如何設(shè)置
        TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
        電子制作(2019年7期)2019-04-25 13:17:14
        7招教你手動(dòng)設(shè)置參數(shù)
        嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
        電子制作(2018年18期)2018-11-14 01:48:16
        搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        本刊欄目設(shè)置說(shuō)明
        中俄臨床醫(yī)學(xué)專(zhuān)業(yè)課程設(shè)置的比較與思考
        艦船人員編制的設(shè)置與控制
        Altera加入嵌入式視覺(jué)聯(lián)盟
        中文字幕国产欧美| 女人高潮久久久叫人喷水| 乱人妻中文字幕| 国产在线白丝DVD精品| 日韩午夜在线视频观看| 日本一区二区在线免费看| 少妇愉情理伦片| 日本丶国产丶欧美色综合| 无码无在线观看| 国产丝袜长腿美臀在线观看| 国产精品特级毛片一区二区三区 | 色综合久久久久综合一本到桃花网| 美女视频黄a视频全免费网站色| 国产欧美va欧美va香蕉在| 国产乱子伦精品免费无码专区 | 久久精品av在线观看| 在线欧美中文字幕农村电影| 久久亚洲av午夜福利精品一区| 国产乱子伦在线观看| 亚洲一区二区三区久久不卡| 国产又大大紧一区二区三区| 女人被男人爽到呻吟的视频| 久久99精品国产99久久| 亚洲av福利天堂在线观看 | 日韩欧美精品有码在线观看| 精品综合久久88少妇激情| 国产精品特级毛片一区二区三区| 午夜大片又黄又爽大片app| 国产在线观看不卡网址| 人妖av手机在线观看| 乌克兰粉嫩xxx极品hd| 国产中文字幕乱码在线| 美国黄色av一区二区| 国产国产人免费人成免费视频| 亚洲av鲁丝一区二区三区| 国产女主播福利一区在线观看| 日韩熟女系列中文字幕| 无码国产精品一区二区高潮| 国产亚洲欧美在线播放网站| 国产一区二区三区最新地址| 国产女人高潮叫床免费视频|