0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Windows下實現(xiàn)端口映射

Linux愛好者 ? 來源:varlemon ? 作者:varlemon ? 2020-11-12 15:40 ? 次閱讀

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

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

1. 查詢端口映射情況

netsh interface portproxy show v4tov4

2. 查詢某一個IP的所有端口映射情況

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

3. 增加一個端口映射

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. 刪除一個端口映射

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ù)包轉發(fā)

echo 1 >/proc/sys/net/ipv4/ip_forwardiptables -t nat -A POSTROUTING -j MASQUERADEiptables -A FORWARD -i [內(nèi)網(wǎng)網(wǎng)卡名稱] -j ACCEPTiptables -t nat -A POSTROUTING -s [內(nèi)網(wǎng)網(wǎng)段] -o [外網(wǎng)網(wǎ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. 設置端口映射

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

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

實驗環(huán)境

VMWare Workstation Pro

5臺最小化安裝的centos 7虛擬機

實驗拓撲

內(nèi)網(wǎng)和外網(wǎng)是相對Server4來說的。
Server1和Server2為內(nèi)網(wǎng)環(huán)境的兩臺服務器;
Server3為外網(wǎng)環(huán)境下的一臺服務器;
Server4為一臺雙網(wǎng)卡主機,分別連接192.168.50.0/24和172.16.2.0/24兩個網(wǎng)絡。

配置實驗環(huán)境

1. Server1,2,3上搭建HTTP服務

Python在Server1上搭建一個簡單的HTTP服務

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

Server2、Server3同理

對照實驗

在client上訪問Server1的資源

curlhttp://192.168.50.11:8080/index.html

在client上訪問Server2的資源

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

在client上訪問Server3的資源

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

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

在Server4上配置端口映射

臨時配置

#允許數(shù)據(jù)包轉發(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#設置端口映射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上訪問Server1的資源

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

在client上訪問Server2的資源

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

?

在client上訪問Server3的資源

curlhttp://172.16.2.11:8080/index.html

如果Server4為Windows,替換一下相應的命令即可

Windows的IP信息如下

Ethernet0 192.168.50.105 255.255.255.0 - 內(nèi)網(wǎng)網(wǎng)卡
Ethernet1 172.16.2.105 255.255.255.0 - 外網(wǎng)網(wǎng)卡
網(wǎng)卡 IP地址 子網(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=8080netshinterfaceportproxyshowv4tov4

檢查效果

在client節(jié)點上

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

責任編輯:lq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 通信
    +關注

    關注

    18

    文章

    6034

    瀏覽量

    136037
  • Linux
    +關注

    關注

    87

    文章

    11310

    瀏覽量

    209616
  • WINDOWS
    +關注

    關注

    4

    文章

    3547

    瀏覽量

    88767

原文標題:Linux 或 Windows 上實現(xiàn)端口映射

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    如何設置內(nèi)網(wǎng)IP的端口映射到公網(wǎng)

    服務器、家庭監(jiān)控等場景中得到了廣泛應用。今天,我們將介紹如何實現(xiàn)端口映射,幫助大家在不同網(wǎng)絡環(huán)境實現(xiàn)內(nèi)網(wǎng)設備的公網(wǎng)訪問。
    的頭像 發(fā)表于 11-14 14:23 ?524次閱讀

    細數(shù)那些令人矚目的內(nèi)網(wǎng)穿透工具

    在日常工作場景中,我們時常面臨需要將本地網(wǎng)絡中的特定端口(如80、3306等)對外開放,以便讓遠程用戶或設備跨越局域網(wǎng)界限進行訪問的需求。為實現(xiàn)這一目標,端口映射(又稱內(nèi)網(wǎng)穿透)技術顯得尤為重要
    的頭像 發(fā)表于 08-14 15:45 ?367次閱讀
    細數(shù)那些令人矚目的內(nèi)網(wǎng)穿透工具

    IR615做端口映射后筆記本連接lan口無法連接路由器,為什么?

    IR615做端口映射后筆記本連接wan口可以連接路由器,lan口無法連接路由器
    發(fā)表于 07-25 07:40

    請問IR900路由器如何做端口映射?

    IR900 路由器如何做端口映射?
    發(fā)表于 07-25 06:24

    請問IR615如何進行端口映射?

    IR615 如何進行端口映射
    發(fā)表于 07-24 07:53

    串口服務器端口映射和地址怎么配置

    深圳市振鑫通信科技研發(fā)的ZP-8601-EV/ZP-8621/ZP-IES8808/ZP-MBS008系列連接西門子PLC
    的頭像 發(fā)表于 07-18 09:07 ?995次閱讀
    串口服務器<b class='flag-5'>端口映射</b>和地址怎么配置

    使用espconn api實現(xiàn)UPNP IGD端口轉發(fā),為什么沒有發(fā)送ACK?

    我正在嘗試使用 espconn api 實現(xiàn) UPNP IGD 端口轉發(fā)。 我創(chuàng)建了與路由器的連接,然后: 1) 在連接的回調(diào) (espconn_regist_connectcb) 上,我
    發(fā)表于 07-18 08:09

    路由器端口轉發(fā)怎么設置

    )技術,它允許將路由器的一個或多個外部端口映射到內(nèi)網(wǎng)中的一個設備或服務上。這樣,外部設備就可以通過這些端口訪問內(nèi)網(wǎng)中的設備或服務,實現(xiàn)遠程訪問、遠程控制等功能。 1.2 路由器端口轉發(fā)
    的頭像 發(fā)表于 07-09 11:33 ?8019次閱讀

    容器怎么完成和容器引擎的映射

    容器與注入機的映射通常涉及網(wǎng)絡端口、文件系統(tǒng)和環(huán)境變量等方面的配置。以下是如何在不同方面完成容器和注入機映射的詳細說明: 1. 網(wǎng)絡端口映射 通過使用Javascript,我們可以將
    的頭像 發(fā)表于 06-06 15:18 ?378次閱讀

    Windows 11 24H2 添加 NAS 安全映射功能

    據(jù)悉,微軟Windows 11 24H2發(fā)布預覽版新增了安全機制。若將硬盤映射至第三方網(wǎng)絡附加存儲(NAS)設備,可能引發(fā)如0xc000a000等錯誤現(xiàn)象。
    的頭像 發(fā)表于 05-30 15:39 ?1267次閱讀

    STM8的端口怎樣進行映射?

    STM8的端口怎樣進行映射,請大神指教!??!
    發(fā)表于 05-15 07:19

    路由器映射是什么意思?路由器端口映射怎么設置?

    有一個Web服務器在您的家庭網(wǎng)絡中運行,您可以使用路由器映射將其公開到互聯(lián)網(wǎng)上。這樣,任何人都可以從互聯(lián)網(wǎng)上訪問該Web服務器。 路由器端口映射的好處有: 1. 隱藏原地址端口?;蛘哒f改變訪問地址
    的頭像 發(fā)表于 05-10 13:42 ?1371次閱讀

    stm32cubeF1 1.3.1端口重映射被禁用的原因和解決方法

    現(xiàn)象:如果使用了端口重映射功能,只要一運行到類似于__HAL_AFIO_REMAP_TIM4_ENABLE();這樣的語句,就會推出調(diào)試狀態(tài),JTAGH或者SW的調(diào)試端口就被禁用了。 原因:這個語句
    發(fā)表于 05-08 07:24

    STM32F4能否實現(xiàn)用重映射功能將dcmi映射到別的io口?

    能否實現(xiàn)用重映射功能將dcmi映射到別的io口
    發(fā)表于 03-25 08:07

    在TC387微控制器上實現(xiàn)內(nèi)存映射,負載增加的原因是什么?

    我正在 TC387 微控制器上實現(xiàn)內(nèi)存映射。 關于內(nèi)存映射,在 Linker 腳本中定義了新區(qū)域,并將數(shù)據(jù)映射到這些區(qū)域。 從功能上看,在有內(nèi)存映射
    發(fā)表于 03-04 07:43