<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Linux 或 Windows 上實(shí)現(xiàn)端口映射

          共 3296字,需瀏覽 7分鐘

           ·

          2020-12-31 13:32

          通常服務(wù)器會(huì)有許多塊網(wǎng)卡,因此也可能會(huì)連接到不同的網(wǎng)絡(luò),在隔離的網(wǎng)絡(luò)中,某些服務(wù)可能會(huì)需要進(jìn)行通信,此時(shí)服務(wù)器經(jīng)過(guò)配置就可以承擔(dān)起了轉(zhuǎn)發(fā)數(shù)據(jù)包的功能。

          一、Windows下實(shí)現(xiàn)端口映射

          1.? 查詢(xún)端口映射情況


          netsh interface portproxy show v4tov4


          2. 查詢(xún)某一個(gè)IP的所有端口映射情況


          netsh interface portproxy show v4tov4 | find "[IP]"例:netsh interface portproxy show v4tov4 | find "192.168.1.1"


          3. 增加一個(gè)端口映射


          netsh interface portproxy add v4tov4 listenaddress=[外網(wǎng)IP] listenport=[外網(wǎng)端口] connectaddress=[內(nèi)網(wǎng)IP] connectport=[內(nèi)網(wǎng)端口]例:netsh interface portproxy add v4tov4 listenaddress=2.2.2.2 listenport=8080 connectaddress=192.168.1.50 connectport=80


          4. 刪除一個(gè)端口映射


          netsh interface portproxy delete v4tov4 listenaddress=[外網(wǎng)IP] listenport=[外網(wǎng)端口]例:netsh interface portproxy delete v4tov4 listenaddress=2.2.2.2 listenport=8080


          二、Linux下端口映射

          1. 允許數(shù)據(jù)包轉(zhuǎn)發(fā)


          echo 1 >/proc/sys/net/ipv4/ip_forwardiptables -t nat -A POSTROUTING -j MASQUERADEiptables -A FORWARD -i [內(nèi)網(wǎng)網(wǎng)卡名稱(chēng)] -j ACCEPTiptables -t nat -A POSTROUTING -s [內(nèi)網(wǎng)網(wǎng)段] -o [外網(wǎng)網(wǎng)卡名稱(chēng)] -j MASQUERADE
          例:echo 1 >/proc/sys/net/ipv4/ip_forwardiptables -t nat -A POSTROUTING -j MASQUERADEiptables -A FORWARD -i ens33 -j ACCEPTiptables -t nat -A POSTROUTING -s 192.168.50.0/24 -o ens37 -j MASQUERADE


          2. 設(shè)置端口映射


          iptables -t nat -A PREROUTING -p tcp -m tcp --dport [外網(wǎng)端口] -j DNAT --to-destination [內(nèi)網(wǎng)地址]:[內(nèi)網(wǎng)端口]例:iptables -t nat -A PREROUTING -p tcp -m tcp --dport 6080 -j DNAT --to-destination 10.0.0.100:6090


          實(shí)驗(yàn):將部署在內(nèi)網(wǎng)的服務(wù)映射到外網(wǎng)

          實(shí)驗(yàn)環(huán)境

          1. VMWare Workstation Pro

          2. 5臺(tái)最小化安裝的centos 7虛擬機(jī)


          實(shí)驗(yàn)拓?fù)?/strong>

          內(nèi)網(wǎng)外網(wǎng)是相對(duì)Server4來(lái)說(shuō)的。
          Server1Server2為內(nèi)網(wǎng)環(huán)境的兩臺(tái)服務(wù)器;
          Server3為外網(wǎng)環(huán)境下的一臺(tái)服務(wù)器;
          Server4為一臺(tái)雙網(wǎng)卡主機(jī),分別連接192.168.50.0/24172.16.2.0/24兩個(gè)網(wǎng)絡(luò)。


          配置實(shí)驗(yàn)環(huán)境


          1. Server1,2,3上搭建HTTP服務(wù)

          用Python在Server1上搭建一個(gè)簡(jiǎn)單的HTTP服務(wù)


          cd ~echo "server1" > index.htmlpython -m SimpleHTTPServer 8080


          Server2、Server3同理


          對(duì)照實(shí)驗(yàn)

          client上訪(fǎng)問(wèn)Server1的資源


          curl?http://192.168.50.11:8080/index.html


          client上訪(fǎng)問(wèn)Server2的資源


          curl http://192.168.50.12:8080/index.htm


          client上訪(fǎng)問(wèn)Server3的資源


          curl http://172.16.2.11:8080/index.html


          可以看到,外網(wǎng)的client是無(wú)法訪(fǎng)問(wèn)內(nèi)網(wǎng)Server1,Server2的資源的。

          Server4上配置端口映射


          臨時(shí)配置


          #允許數(shù)據(jù)包轉(zhuǎn)發(fā)echo 1 >/proc/sys/net/ipv4/ip_forwardiptables -t nat -A POSTROUTING -j MASQUERADEiptables -A FORWARD -i ens33 -j ACCEPTiptables -t nat -A POSTROUTING -s 192.168.50.0/24 -o ens37 -j MASQUERADE#設(shè)置端口映射iptables -t nat -A PREROUTING -p tcp -m tcp --dport 8081 -j DNAT --to-destination 192.168.50.11:8080iptables -t nat -A PREROUTING -p tcp -m tcp --dport 8082 -j DNAT --to-destination 192.168.50.12:8080


          永久配置
          如果需要永久配置,則將以上命令追加到/etc/rc.local文件。

          檢查效

          client上訪(fǎng)問(wèn)Server1的資源


          curl http://172.16.2.100:8081/index.html



          client上訪(fǎng)問(wèn)Server2的資源


          curl http://172.16.2.100:8082/index.html



          client上訪(fǎng)問(wèn)Server3的資


          curl?http://172.16.2.11:8080/index.html



          如果Server4為Windows,替換一下相應(yīng)的命令即可


          Windows的IP信息如下

          網(wǎng)卡IP地址子網(wǎng)掩碼默認(rèn)網(wǎng)關(guān)備注
          Ethernet0192.168.50.105255.255.255.0-內(nèi)網(wǎng)網(wǎng)卡
          Ethernet1172.16.2.105255.255.255.0-外網(wǎng)網(wǎng)卡


          配置并查看端口映射情況


          netsh interface portproxy add v4tov4 listenaddress=172.16.2.105 listenport=8081 connectaddress=192.168.50.11 connectport=8080netsh interface portproxy add v4tov4 listenaddress=172.16.2.105 listenport=8082 connectaddress=192.168.50.12 connectport=8080netsh?interface?portproxy?show?v4tov4



          檢查效果

          client節(jié)點(diǎn)上


          curl http://172.16.2.105:8081/index.htmlcurl http://172.16.2.105:8082/index.htmlcurl http://172.16.2.11:8080/index.html


          來(lái)源:cnblogs.com/connect/p/server-port-proxy.html

          版權(quán)申明:內(nèi)容來(lái)源網(wǎng)絡(luò),版權(quán)歸原創(chuàng)者所有。除非無(wú)法確認(rèn),我們都會(huì)標(biāo)明作者及出處,如有侵權(quán)煩請(qǐng)告知,我們會(huì)立即刪除并表示歉意。謝謝!





          感謝閱讀



          瀏覽 60
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  美女被艹网站 | 人妻影院 | 青青草操逼网 | 婷婷撸| 久久久久久AV少妇 |