• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            elva

            linux端口映射

               ssh -C -g root@127.0.0.1 -L 5000:61.235.139.123:5000

            輸入機(jī)器的root密碼

            后臺執(zhí)行:ssh -C -f -N -g root@127.0.0.1 -L 5000:61.235.139.123:5000



            另:
            ssh -C -f -N -g -R remote_port:local:port user@remotehost
            可以將遠(yuǎn)端服務(wù)器一個端口remote_port綁定到本地端口port,其中-C是進(jìn)行數(shù)據(jù)壓縮,-f是后臺操作,只有當(dāng)提示用戶名密碼的時候才轉(zhuǎn)向前臺。-N是不執(zhí)行遠(yuǎn)端命令,在只是端口轉(zhuǎn)發(fā)時這條命令很有用處。-g 是允許遠(yuǎn)端主機(jī)連接本地轉(zhuǎn)發(fā)端口。-R表明是將遠(yuǎn)端主機(jī)端口映射到本地端口。如果是-L,則是將本地端口映射到遠(yuǎn)端主機(jī)端口。



            關(guān)于ssh端口轉(zhuǎn)發(fā)的深入實(shí)例
            2007-05-13 17:02

            轉(zhuǎn)自geminis@http://floss.zoomquiet.org/data/20070104103806/


            ssh的三個強(qiáng)大的端口轉(zhuǎn)發(fā)命令:
            ssh -C -f -N -g -L listen_port:DST_Host:DST_port user@Tunnel_Host
                        ssh -C -f -N -g -R listen_port:DST_Host:DST_port user@Tunnel_Host
                        ssh -C -f -N -g -D listen_port user@Tunnel_Host
                        


            -f Fork into background after authentication.
            后臺認(rèn)證用戶/密碼,通常和-N連用,不用登錄到遠(yuǎn)程主機(jī)。

            -p port Connect to this port. Server must be on the same port.
            被登錄的ssd服務(wù)器的sshd服務(wù)端口。

            -L port:host:hostport
            將本地機(jī)(客戶機(jī))的某個端口轉(zhuǎn)發(fā)到遠(yuǎn)端指定機(jī)器的指定端口. 工作原理是這樣的, 本地機(jī)器上分配了一個 socket 偵聽 port 端口, 一旦這個端口上有了連接, 該連接就經(jīng)過安全通道轉(zhuǎn)發(fā)出去, 同時遠(yuǎn)程主機(jī)和 host 的 hostport 端口建立連接. 可以在配置文件中指定端口的轉(zhuǎn)發(fā). 只有 root 才能轉(zhuǎn)發(fā)特權(quán)端口. IPv6 地址用另一種格式說明: port/host/hostport

            -R port:host:hostport
            將遠(yuǎn)程主機(jī)(服務(wù)器)的某個端口轉(zhuǎn)發(fā)到本地端指定機(jī)器的指定端口. 工作原理是這樣的, 遠(yuǎn)程主機(jī)上分配了一個 socket 偵聽 port 端口, 一旦這個端口上有了連接, 該連接就經(jīng)過安全通道轉(zhuǎn)向出去, 同時本地主機(jī)和 host 的 hostport 端口建立連接. 可以在配置文件中指定端口的轉(zhuǎn)發(fā). 只有用 root 登錄遠(yuǎn)程主機(jī)才能轉(zhuǎn)發(fā)特權(quán)端口. IPv6 地址用另一種格式說明: port/host/hostport

            -D port
            指定一個本地機(jī)器 “動態(tài)的'’ 應(yīng)用程序端口轉(zhuǎn)發(fā). 工作原理是這樣的, 本地機(jī)器上分配了一個 socket 偵聽 port 端口, 一旦這個端口上有了連接, 該連接就經(jīng)過安全通道轉(zhuǎn)發(fā)出去, 根據(jù)應(yīng)用程序的協(xié)議可以判斷出遠(yuǎn)程主機(jī)將和哪里連接. 目前支持 SOCKS4 協(xié)議, 將充當(dāng) SOCKS4 服務(wù)器. 只有 root 才能轉(zhuǎn)發(fā)特權(quán)端口. 可以在配置文件中指定動態(tài)端口的轉(zhuǎn)發(fā).

            -C Enable compression.
            壓縮數(shù)據(jù)傳輸。

            -N Do not execute a shell or command.
            不執(zhí)行腳本或命令,通常與-f連用。

            -g Allow remote hosts to connect to forwarded ports.
            在-L/-R/-D參數(shù)中,允許遠(yuǎn)程主機(jī)連接到建立的轉(zhuǎn)發(fā)的端口,如果不加這個參數(shù),只允許本地主機(jī)建立連接。注:這個參數(shù)我在實(shí)踐中似乎始終不起作用,參見III)





             iptables實(shí)現(xiàn)端口轉(zhuǎn)發(fā)的過程
            設(shè)我們有一臺計(jì)算機(jī),有兩塊網(wǎng)卡,eth0連外網(wǎng),ip為1.2.3.4;eth1連內(nèi)網(wǎng),ip為192.168.0.1.現(xiàn)在需要把發(fā)往地址1.2.3.4的81端口的ip包轉(zhuǎn)發(fā)到ip地址192.168.0.2的8180端口,設(shè)置如下:
            1. iptables -t nat -A PREROUTING -d 1.2.3.4 -p tcp -m tcp --dport 81 -j DNAT --to-destination192.168.0.2:8180
            2. iptables -t nat -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

            真實(shí)的傳輸過程如下所示:
            假設(shè)某客戶機(jī)的ip地址為6.7.8.9,它使用本機(jī)的1080端口連接1.2.3.4的81端口,發(fā)出的ip包源地址為6.7.8.9,源端口為1080,目的地址為1.2.3.4,目的端口為81.
            主機(jī)1.2.3.4接收到這個包后,根據(jù)nat表的第一條規(guī)則,將該ip包的目的地址更該為192.168.0.2,目的端口更該為8180,同時在連接跟蹤表中創(chuàng)建一個條目,(可從/proc/net/ip_conntrack文件中看到),然后發(fā)送到路由模塊,通過查路由表,確定該ip包應(yīng)發(fā)送到eth1接口.在向eth1接口發(fā)送該ip包之前,根據(jù)nat表的第二條規(guī)則,如果該ip包來自同一子網(wǎng),則將該ip包的源地址更該為192.168.0.1,同時更新該連接跟蹤表中的相應(yīng)條目,然后送到eth1接口發(fā)出.

            此時連接跟蹤表中有一項(xiàng):

            連接進(jìn)入: src=6.7.8.9 dst=1.2.3.4 sport=1080 dport=81
            連接返回: src=192.168.0.2 dst=6.7.8.9 sport=8180 dport=1080
            是否使用: use=1

            而從192.168.0.2發(fā)回的ip包,源端口為8180,目的地址為6.7.8.9,目的端口為1080,主機(jī)1.2.3.4的TCP/IP棧接收到該ip包后,由核心查找連接跟蹤表中的連接返回欄目中是否有同樣源和目的地址和端口的匹配項(xiàng),找到后,根據(jù)條目中的記錄將ip包的源地址由192.168.0.2更該為1.2.3.4, 源端口由8180更該為81,保持目的端口號1080不變.這樣服務(wù)器的返回包就可以正確的返回發(fā)起連接的客戶機(jī),通訊就這樣開始.

            還有一點(diǎn), 在filter表中還應(yīng)該允許從eth0連接192.168.0.2地址的8180端口:
            iptables -A INPUT -d 192.168.0.2 -p tcp -m tcp --dport 8180 -i eth0 -j ACCEPT


                在網(wǎng)上搜索好多,對linux配置端口映射都不夠詳細(xì),我在RedHat8.0上用iptables配置了端口映射,講述詳細(xì)的配置過程,供大家參考。
            【實(shí)現(xiàn)功能】
              PC A是
              eth0      172.18.10.212  內(nèi)網(wǎng)
              eth1      219.239.xx.xx  外網(wǎng)

              PC B是    172.18.10.205  內(nèi)網(wǎng)

              A的8080端口映射到B的80端口

            【步驟】
            1、 首先應(yīng)該做的是/etc/sysctl.conf配置文件的  net.ipv4.ip_forward = 1 默認(rèn)是0
                這樣允許iptalbes FORWARD。
            2、 在/etc/rc.d/init.d目錄下有iptables 文件,使用格式如下
                Usage: ./iptables {start|stop|restart|condrestart|status|panic|save}
                相當(dāng)與service iptables {....}
                把iptables 服務(wù)停止,清除以前的規(guī)則,存盤
                到/etc/rc.d/init.d目錄下,運(yùn)行
              
                ./iptables stop
                iptalbes -F
                iptalbes -X
                iptalbes -Z
                ./iptables save
            3、 重新配置規(guī)則
            iptables -t nat -A PREROUTING -d 219.239.xx.xx -p tcp --dport 8080 -j DNAT --to-destination 172.18.10.205:80
            iptables -t nat -A POSTROUTING -d 172.18.10.205 -p tcp --dport 80 -j SNAT --to 172.18.10.212
            iptables -A FORWARD -o eth0 -d 172.18.10.205 -p tcp --dport 80 -j ACCEPT
            iptables -A FORWARD -i eth0 -s 172.18.10.205 -p tcp --sport 80 -j ACCEPT
            DNAT SNAT 的請參考幫助,這里不再陳述。
            4、 新的規(guī)則存盤
                ./iptables save
                規(guī)則存盤后在/etc/sysconfig/iptables這個文件里面,若你對這個文件很熟悉
                直接修改這里的內(nèi)容也等于命令行方式輸入規(guī)則。
            5、 啟動iptables 服務(wù)
                ./iptables start
                在/proc/net/ip_conntrack文件里有包的流向,如下面
               tcp      6 53 TIME_WAIT src=221.122.59.2 dst=219.239.xx.xx sport=7958 dport=8080 packets=9 bytes=1753
                        src=172.18.10.205 dst=172.18.10.212 sport=80 dport=7958 packets=9 bytes=5777 [ASSURED] use=1

            posted on 2007-09-20 10:30 葉子 閱讀(10496) 評論(2)  編輯 收藏 引用 所屬分類: 系統(tǒng)管理

            Feedback

            # re: linux端口映射 2010-11-20 09:33 PJYang

            thanks you very much  回復(fù)  更多評論   

            99久久成人国产精品免费| 亚洲精品97久久中文字幕无码| 日本精品久久久久影院日本| 青青草原综合久久| 日韩精品国产自在久久现线拍| av无码久久久久久不卡网站| 久久综合亚洲欧美成人| 久久99精品久久久久久动态图 | 亚洲va久久久噜噜噜久久男同| 99久久做夜夜爱天天做精品| 99精品久久精品一区二区| 欧美大香线蕉线伊人久久| 国产美女久久精品香蕉69| 亚洲国产精品久久久久久| 久久精品无码一区二区app| 中文成人无码精品久久久不卡| 久久精品国产免费观看三人同眠| 色综合久久久久综合体桃花网| 久久99国产综合精品免费| 91久久成人免费| 久久久久久伊人高潮影院| 久久精品国产亚洲AV电影| 久久青青草原国产精品免费| 久久亚洲精品无码观看不卡| 国产偷久久久精品专区| 久久精品一区二区国产| 亚洲精品乱码久久久久久蜜桃| 久久久噜噜噜www成人网| 久久久久国产一区二区三区| 久久久久人妻一区二区三区vr | 久久精品人妻中文系列| 韩国三级大全久久网站| 中文字幕无码久久精品青草| 午夜精品久久久久久久久| 精品无码久久久久久久动漫| 久久香综合精品久久伊人| 欧美精品九九99久久在观看| 精品亚洲综合久久中文字幕| 国产成人久久精品一区二区三区 | 午夜精品久久久久9999高清| 99精品久久精品|