目錄
一、Windows 下實作連接埠對映" >一、Windows 下實作連接埠對映
二、Linux 下端口映射" >二、Linux 下端口映射
实验:将部署在内网的服务映射到外网" >实验:将部署在内网的服务映射到外网
实验环境" >实验环境
實驗拓樸" >實驗拓樸
配置实验环境" >配置实验环境
1. Server1,2,3 上搭建 HTTP 服务" >1. Server1,2,3 上搭建 HTTP 服务
对照实验" >对照实验
Server4上配置端口映射" >Server4上配置端口映射
检查效果" >检查效果
如果Server4为 Windows,替换一下相应的命令即可" >如果Server4为 Windows,替换一下相应的命令即可
首頁 運維 linux運維 Linux 或 Windows 上實作連接埠映射

Linux 或 Windows 上實作連接埠映射

Aug 01, 2023 pm 05:03 PM


通常伺服器會有許多塊網卡,因此也可能連接到不同的網絡,在隔離的網路中,某些服務可能會需要進行通信,此時伺服器經過設定就可以承擔起了轉送封包的功能。

Linux 或 Windows 上實作連接埠映射

一、Windows 下實作連接埠對映

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=[外网IP] listenport=[外网端口] connectaddress=[内网IP] connectport=[内网端口]例: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=[外网IP] listenport=[外网端口]例:netsh interface portproxy delete v4tov4 listenaddress=2.2.2.2 listenport=8080

二、Linux 下端口映射

1. 允许数据包转发

echo 1 >/proc/sys/net/ipv4/ip_forwardiptables -t nat -A POSTROUTING -j MASQUERADEiptables -A FORWARD -i [内网网卡名称] -j ACCEPTiptables -t nat -A POSTROUTING -s [内网网段] -o [外网网卡名称] -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 [外网端口] -j DNAT --to-destination [内网地址]:[内网端口]例:iptables -t nat -A PREROUTING -p tcp -m tcp --dport 6080 -j DNAT --to-destination 10.0.0.100:6090

实验:将部署在内网的服务映射到外网

实验环境

  1. VMWare Workstation Pro

  2. 5 台最小化安装的 centos 7 虚拟机

實驗拓樸

Linux 或 Windows 上實作連接埠映射

#內網外網是相對<span style="outline: 0px;font-size: 17px;">Server4</span>來說的。
<span style="outline: 0px;font-size: 17px;">Server1</span><span style="outline: 0px;font-size: 17px;">#Server2</span>為內網環境的兩台伺服器;
<span style="outline: 0px;font-size: 17px;">Server3</span>為外網環境下的一個伺服器;
<span style="outline: 0px;font-size: 17px;">Server4</span>為一台雙網卡主機,分別連接<span style="outline: 0px;font-size: 17px;">#192.168.50.0/24</span><span style="outline: 0px;font-size: 17px;">#172.16.2.0 /24</span>兩個網路。

配置实验环境

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

用 Python 在<span style="outline: 0px;font-size: 17px;">Server1</span>上搭建一个简单的 HTTP 服务

cd ~echo "server1" > index.htmlpython -m SimpleHTTPServer 8080
Linux 或 Windows 上實作連接埠映射

<span style="outline: 0px;font-size: 17px;">Server2、Server3</span>同理

对照实验

<span style="outline: 0px;font-size: 17px;">client</span>上访问<span style="outline: 0px;font-size: 17px;">Server1</span>的资源

curl http://192.168.50.11:8080/index.html
Linux 或 Windows 上實作連接埠映射

<span style="outline: 0px;font-size: 17px;">client</span>上访问<span style="outline: 0px;font-size: 17px;">Server2</span>的资源

curl http://192.168.50.12:8080/index.htm
Linux 或 Windows 上實作連接埠映射

<span style="outline: 0px;font-size: 17px;">client</span>上访问<span style="outline: 0px;font-size: 17px;">Server3</span>的资源

curl http://172.16.2.11:8080/index.html
Linux 或 Windows 上實作連接埠映射

可以看到,外网的<span style="outline: 0px;font-size: 17px;">client</span>是无法访问内网<span style="outline: 0px;font-size: 17px;">Server1</span>,<span style="outline: 0px;font-size: 17px;">Server2</span>的资源的。

<span style="outline: 0px;font-size: 17px;">Server4</span>上配置端口映射

临时配置

#允许数据包转发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

永久配置

如果需要永久配置,则将以上命令追加到<span style="outline: 0px;font-size: 17px;">/etc/rc.local</span>文件。

检查效果

<span style="outline: 0px;font-size: 17px;">client</span>上访问 Server1 的资源

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

<span style="outline: 0px;font-size: 17px;">client</span>上访问<span style="outline: 0px;font-size: 17px;">Server2</span>的资源

curl http://172.16.2.100:8082/index.html
Linux 或 Windows 上實作連接埠映射

<span style="outline: 0px;font-size: 17px;">client</span>上访问<span style="outline: 0px;font-size: 17px;">Server3</span>的资源

curl http://172.16.2.11:8080/index.html
Linux 或 Windows 上實作連接埠映射

如果<span style="outline: 0px;font-size: 17px;">Server4</span>为 Windows,替换一下相应的命令即可

Windows 的 IP 信息如下

Ethernet1
網卡IP 位址子網路遮罩預設閘道備註
#Ethernet0
##192.168.50.105#255.255.255.0-#內網卡
######172.16.2.105########### ##255.255.255.0############-#############外網卡################################################################
Linux 或 Windows 上實作連接埠映射

配置并查看端口映射情况

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

检查效果

<span style="outline: 0px;font-size: 17px;">client</span>节点上

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
Linux 或 Windows 上實作連接埠映射

以上是Linux 或 Windows 上實作連接埠映射的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何關閉Linux系統 如何關閉Linux系統 Jun 24, 2025 pm 12:13 PM

正確關閉Linux系統的命令包括shutdown、halt、poweroff和reboot。其中,shutdown最推薦使用,可安排關機時間並發送通知;halt直接停止系統運行;poweroff在halt基礎上切斷電源;reboot用於重啟。要安全安排定時關機,可用sudoshutdown-h 10表示10分鐘後關機,用sudoshutdown-c取消定時,還可加入提示信息如sudoshutdown-h23:00"系統將在今晚11點關閉"。圖形界面下可通過右上角菜單選擇關機,

如何解決設備驅動程序問題 如何解決設備驅動程序問題 Jun 25, 2025 am 12:11 AM

設備驅動出問題會導致硬件無法正常使用,如外設不響應、系統提示“未知設備”或遊戲卡頓。解決方法如下:1.查看設備管理器中的警告圖標,黃色感嘆號代表驅動過時或兼容性問題,紅色叉號表示硬件被禁用或連接不良,問號或“Otherdevices”表示系統未找到合適驅動;2.右鍵點擊設備選擇“更新驅動程序”,先嘗試自動搜索,不行則手動下載安裝;3.卸載設備並勾選刪除驅動軟件,重啟後讓系統重新識別,或手動指定驅動路徑安裝;4.使用驅動識別工具輔助查找型號,但避免下載不明來源驅動;5.檢查Windows更新以獲取

如何管理Cron工作 如何管理Cron工作 Jul 01, 2025 am 12:07 AM

管理cron任務需注意路徑、環境變量和日誌處理。 1.使用絕對路徑,避免因執行環境不同導致命令或腳本找不到;2.顯式聲明環境變量,如PATH和HOME,確保腳本依賴的變量可用;3.重定向輸出到日誌文件,便於排查問題;4.使用crontab-e編輯任務,確保語法正確且自動生效。掌握這四個要點可有效避免常見問題。

如何向Linux添加新磁盤 如何向Linux添加新磁盤 Jun 27, 2025 am 12:15 AM

添加新硬盤到Linux系統步驟如下:1.確認硬盤被識別,使用lsblk或fdisk-l檢查;2.用fdisk或parted分區,如fdisk/dev/sdb創建分區並保存;3.格式化分區為文件系統,如mkfs.ext4/dev/sdb1;4.臨時掛載使用mount命令,如mount/dev/sdb1/mnt/data;5.修改/etc/fstab實現開機自動掛載,需先測試掛載確保無誤。操作前務必確認數據安全,避免硬件連接問題。

如何在Linux上列出網絡接口 如何在Linux上列出網絡接口 Jun 28, 2025 am 12:02 AM

在Linux系統中,可通過ip、ifconfig和nmcli命令查看網絡接口信息。 1.使用iplinkshow可列出所有網絡接口,添加up參數僅顯示活躍接口,並結合ipaddr或ipa查看IP分配情況;2.使用ifconfig-a適用於舊系統,可查看所有接口,部分新系統需安裝net-tools包;3.使用nmclidevicestatus適用於NetworkManager管理的系統,可查看接口狀態及連接詳情,並支持過濾查詢。根據系統環境選擇合適命令即可完成網絡信息查看。

如何使用頂部命令 如何使用頂部命令 Jun 27, 2025 am 12:11 AM

top命令可實時查看Linux系統資源使用情況,1.通過終端輸入top打開界面,頂部顯示系統運行狀態摘要,包括負載、任務數、CPU及內存使用;2.進程列表默認按CPU使用排序,可識別高佔用進程;3.快捷鍵如P(CPU排序)、M(內存排序)、k(結束進程)、r(調整優先級)、1(多核詳情)提升操作效率;4.使用top-b-n1可保存輸出至文件;5.添加-u參數可過濾特定用戶進程。掌握這些要點即可快速定位性能問題。

如何管理AWS EC2上的雲實例 如何管理AWS EC2上的雲實例 Jun 25, 2025 am 12:05 AM

管理AWSEC2實例需掌握生命週期、資源配置和安全設置。 1.選擇實例類型時,計算密集型任務選C系列,內存敏感應用選M或R系列,並從小規模測試開始;2.啟動實例時注意安全組規則、密鑰對保存及連接方式,Linux使用SSH命令連接;3.成本優化可通過預留實例、Spot實例、自動關機及設置預算預警實現。只要注意選型、配置和維護,即可保障EC2穩定高效運行。

如何運行Ansible Playbook 如何運行Ansible Playbook Jun 28, 2025 am 12:14 AM

運行Ansibleplaybook需先確保結構正確與環境準備。 1.編寫playbook文件,包含hosts、tasks等必要部分;2.確保目標主機在inventory中且可通過SSH連接,可用ansibleping模塊測試;3.使用ansible-playbook命令運行,可加-i指定inventory路徑;4.可選用-v、--check、--limit、--tags等參數調試或控制執行;5.注意YAML縮進、模塊參數、權限及inventory內容等常見錯誤點,使用--check和-v有助於排錯

See all articles