日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 服務器 > static stateless 2-way NAT on Linux with iptables的應用實例

static stateless 2-way NAT on Linux with iptables的應用實例

來源:程序員人生   發布時間:2015-01-16 08:07:26 閱讀次數:2993次
前面幾天,我完成了1個static stateless 2-way NAT,寫了幾篇文章,但是側重于理論分析,本文來展現1個利用實例。在具體展現實例之前,先說1個static stateless 2-way NAT和Linux原生conntrack NAT的區分,static stateless 2-way NAT其實不會限制連接的數量,由于它不用保護連接狀態,也就沒有了最大值的限制,其次,如果static stateless 2-way NAT的算法更好些,它的效力會更高。在哈爾濱長春旅游的那些天,我曾想過,能不能用這類stateless的方式實現1個NAPT呢?后來覺得很難,由于在TCP/IP協議層面,1個特定的連接中的5元組是不能產生變化的(UDP協議視情況而定),這就要求NAPT在完成5元組唯1性映照的時候需要辨認出1個連接,這就不再是stateless了,而是stateful了,1個例子就能夠說明這類情況,假定連接A的數據包a的5元組被映照到了{sip⑴,dip⑴,tcp,sport⑴,dport⑴},爾后這個連接斷開了,問題是如果過去很久以后又有相同5元組的TCP連接來到怎樣辦呢?解決這個問題的辦法就是為1個entry保護1個timer,這樣...這樣還不如直接用conntrack NAT呢....
       首先給出1個簡單的拓撲圖:
<client>eth0:192.168.10.1
|
|
eth0:192.168.10.254
<FWD>[NAT BOX]
eth1:192.168.184.254
|
|
eth0:192.168.184.1
<FWD>                           
eth1:192.168.1.1
|
|
<server>eth0:192.168.1.8
在上面簡單的拓撲中,我希望的是在client可以拉取1.2.1.2上的網頁,而1.2.1.2是映照到server上的,另外,端口由12345映照到80。這個映照是完全無狀態的,用我的static stateless 2-way NAT來完成。
       在我還沒有做好iptables接口之前,我使用procfs文件系統接口,那個時候還沒有dev支持,命令以下:
echo '+1.2.1.2 192.168.1.8 dst tcp port-map 12345 80 ' >/proc/net/static_nat
echo '+192.168.184.250 192.168.184.154 src tcp' >/proc/net/static_nat
后來有了更加方便的iptables接口,事情起了變化,我可以用熟習的iptables命令來配置了,仍然在nat表配置規則:
root@abcd:~# iptables-save
# Generated by iptables-save v1.4.21 on Sun Dec 28 03:23:22 2014
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [1484:204554]
-A PREROUTING -j STATIC⑵-WAY-NAT --mapaddr 192.168.184.250⑴92.168.184.154 --type src --proto all --mapport 0-0 --dev eth1
-A POSTROUTING -j STATIC⑵-WAY-NAT --mapaddr 1.2.1.2⑴92.168.1.8 --type dst --proto tcp --mapport 12345⑻0 --dev eth0
COMMIT
# Completed on Sun Dec 28 03:23:22 2014
root@abcd:~#
除可以完成配置以外,我保存了1個統計信息,可以看出有多少個數據包和多少個字節經歷了NAT。統計信息的查看方式以下:
root@abcd:~# cat /proc/net/static_nat Source trans table:
From:192.168.184.250 To:192.168.184.154    [ALL STATIC] [eth1] [Bytes:1080  Packet:23]
From:192.168.1.8     To:1.2.1.2            [TCP AUTO] Port map[From:80    To:12345] [eth0] [Bytes:124  Packet:3]

Destination trans table:
From:1.2.1.2         To:192.168.1.8        [TCP STATIC] Port map[From:12345 To:80   ] [eth0] [Bytes:180  Packet:4]
From:192.168.184.154 To:192.168.184.250    [ALL AUTO] [eth1] [Bytes:5348  Packet:90]
root@abcd:~#
展現統計信息的粒度是很重要的,固然,如果能表示都有哪些數據包經歷了NAT并可以打印數據包的超級詳細信息,那是再好不過的了,但是那樣會損失大量的時間和空間,所以只能求取舍了。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 色妇视频 | 经典三级在线播放 | 99久久99久久精品国产片果冻 | 国产精品成人3p一区二区三区 | 精品久久久久久久久久岛国gif | 精品二区 | 羞羞的视频网站 | 男女av网站 | 欧美麻豆| 热久热久 | 成年人视频在线免费观看 | 99精品99| 亚洲成人网一区 | 久久久久国产一区二区 | 国产精品2区 | 亚洲区视频在线 | 亚洲免费综合 | 成人高清在线视频 | 黄色片s色 | 国产一区二区三区免费观看 | 久久久高清| 国产三区视频 | 人人干天天干 | 欧美人成在线视频 | 成人午夜精品一区二区三区 | 91成人精品| 成人夜晚看av| 韩日一区二区 | 亚洲黄色在线视频 | 91精品久久久久久久久青青 | 国产在线播放一区 | 国产欧美一区二区视频 | 国产精品一区二区不卡 | 亚洲人成网站b2k3cm | 亚洲乱码精品 | com毛片| 欧洲av一区| 激情综合五月婷婷 | 久久精品国产一区二区电影 | 玖玖在线精品 | 国产区一区二区三区 |