新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > LINUX IPTABLES端口映射設置

        LINUX IPTABLES端口映射設置

        作者: 時間:2016-10-08 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/201610/305581.htm

        #FormatImgID_0#

        LINUXIPTABLES端口映射設置
        iptables端口映射設置如下:
        設我們有一臺計算機,有兩塊網卡,eth0連外網,ip1.2.3.4;eth1連內網,ip192.168.0.1.現在需要把發往地址1.2.3.481端口的ip包轉發到ip地址192.168.0.28180端口,設置如下:
        1. iptables -tnat -A PREROUTING -d 1.2.3.4 -p tcp -m tcp –dport 81 -j DNAT–to-destination192.168.0.2:8180
        2. iptables -tnat -A POSTROUTING -s 192.168.0.0/255.255.0.0 -d 192.168.0.2 -p tcp -m tcp–dport 8180 -j SNAT –to-source 192.168.0.1
        真實的傳輸過程如下所示:
        假設某客戶機的ip地址為6.7.8.9,它使用本機的1080端口連接1.2.3.481端口,發出的ip包源地址為6.7.8.9,源端口為1080,目的地址為1.2.3.4,目的端口為81.
        主機1.2.3.4接收到這個包后,根據nat表的第一條規則,將該ip包的目的地址更該為192.168.0.2,目的端口更該為8180,同時在連接跟蹤表中創建一個條目,(可從/proc/net/ip_conntrack文件中看到),然后發送到路由模塊,通過查路由表,確定該ip包應發送到eth1接口.在向eth1接口發送該ip包之前,根據nat表的第二條規則,如果該ip包來自同一子網,則將該ip包的源地址更該為192.168.0.1,同時更新該連接跟蹤表中的相應條目,然后送到eth1接口發出.
        此時連接跟蹤表中有一項:
        連接進入: src=6.7.8.9dst=1.2.3.4 sport=1080 dport=81
        連接返回: src=192.168.0.2dst=6.7.8.9 sport=8180 dport=1080
        是否使用: use=1
        而從192.168.0.2發回的ip,源端口為8180,目的地址為6.7.8.9,目的端口為1080,主機1.2.3.4TCP/IP棧接收到該ip包后,由核心查找連接跟蹤表中的連接返回欄目中是否有同樣源和目的地址和端口的匹配項,找到后,根據條目中的記錄將ip包的源地址由192.168.0.2更該為1.2.3.4,源端口由8180更該為81,保持目的端口號1080不變.這樣服務器的返回包就可以正確的返回發起連接的客戶機,通訊就這樣開始.
        還有一點,filter表中還應該允許從eth0連接192.168.0.2地址的8180端口:
        iptables -AINPUT -d 192.168.0.2 -p tcp -m tcp –dport 8180 -i eth0 -j ACCEPT
        通過上面的例子,我們就知道iptables端口映射設置其實不難!
        原文:http://1230tt.com/archives/222.html
        上一頁 1 2 下一頁

        關鍵詞:

        評論


        相關推薦

        技術專區

        主站蜘蛛池模板: 类乌齐县| 常州市| 石狮市| 乐昌市| 襄垣县| 常德市| 晋宁县| 建水县| 改则县| 嘉义县| 青海省| 景泰县| 宁夏| 正阳县| 鹿邑县| 丰都县| 上饶市| 瑞金市| 循化| 林芝县| 高密市| 台东市| 四平市| 洞口县| 新竹市| 阜阳市| 兴宁市| 尉犁县| 霍林郭勒市| 巴里| 华池县| 高青县| 治多县| 庄河市| 乌拉特中旗| 阜平县| 搜索| 荔波县| 礼泉县| 江川县| 襄城县|
      1. <del id="2kg2k"></del>
        <ul id="2kg2k"></ul>
      2. <tfoot id="2kg2k"></tfoot>