0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Windows下实现端口映射

Linux爱好者 来源:varlemon 作者:varlemon 2020-11-12 15:40 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

通常服务器会有许多块网卡,因此也可能会连接到不同的网络,在隔离的网络中,某些服务可能会需要进行通信,此时服务器经过配置就可以承担起了转发数据包的功能。

一、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

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

实验环境

VMWare Workstation Pro

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

实验拓扑

内网和外网是相对Server4来说的。
Server1和Server2为内网环境的两台服务器;
Server3为外网环境下的一台服务器;
Server4为一台双网卡主机,分别连接192.168.50.0/24和172.16.2.0/24两个网络。

配置实验环境

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

可以看到,外网的client是无法访问内网Server1,Server2的资源的。

在Server4上配置端口映射

临时配置

#允许数据包转发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 - 内网网卡
Ethernet1 172.16.2.105 255.255.255.0 - 外网网卡
网卡 IP地址 子网掩码 默认网关 备注

配置并查看端口映射情况

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节点上

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 通信
    +关注

    关注

    18

    文章

    6445

    浏览量

    140243
  • Linux
    +关注

    关注

    88

    文章

    11806

    浏览量

    219508
  • WINDOWS
    +关注

    关注

    4

    文章

    3705

    浏览量

    94305

原文标题:Linux 或 Windows 上实现端口映射

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何实现与OPC UA协议远程通讯?

    标准化路径,但其远程实施仍需克服网络隔离、实时性保障等工程挑战。 一、协议基础架构设计 OPC UA采用客户端-服务器模型,远程通讯需建立TCP/IP层的基础连接。标准端口4840为默认通讯端口,但实际部署中建议通过端口映射或V
    的头像 发表于 01-09 07:36 420次阅读

    DMA弹性映射功能

    映射模式,TMR2的overflow事件产生DMA请求只在某固定通道,通过弹性映射功能,可以将其定义到DMA的任意通道。 6) 下载程序,通过抓取PC口的波形观察结果。
    发表于 12-12 16:04

    云服务器端口怎么开放?

    刚搭建好云服务器,想部署网站、运行应用或开启远程连接,却发现外网始终无法访问?大概率是端口没开放。端口就像服务器的门窗,默认状态,云服务器会关闭大部分端口以保障安全,只有手动开放需要
    的头像 发表于 11-11 15:43 1081次阅读

    windows环境如何生成bitstream文件?

    system.org我明白这个是E203的顶层文件,但是不知道在windows环境这个文件该怎么使用
    发表于 11-06 06:18

    如何在Vivado上仿真蜂鸟SOC,仿真NucleiStudio编译好的程序

    如标题所示,我们分享如何在Vivado上仿真蜂鸟SOC,仿真NucleiStudio编译好的程序 具体步骤 1. 将蜂鸟soc移植到Vivado 只要将端口映射好,注意配置好时钟和bank
    发表于 10-21 11:08

    基于PD77020 PoE电源管理控制器的技术解析与应用设计

    Microchip Technology PD77020 PoE电源管理控制器提供多端口PoE功能,例如端口映射端口矩阵)、端口优先级、端口
    的头像 发表于 09-30 15:04 908次阅读
    基于PD77020 PoE电源管理控制器的技术解析与应用设计

    Leiditech数据端口电路保护使用TVS ESD

    端口
    上海雷卯电子
    发布于 :2025年08月21日 17:28:49

    IR615做端口映射后笔记本连接wan口可以连接路由器,lan口无法连接路由器怎么解决?

    IR615路由器做端口映射后笔记本连接wan口可以连接路由器,lan口无法连接路由器
    发表于 08-07 06:32

    请问IR900路由器如何做端口映射

    IR900 路由器如何做端口映射
    发表于 08-06 08:29

    IR615如何进行端口映射

    这么操作后,可以通过WAN口访问后台,但是还是访问不了502端口
    发表于 08-06 08:08

    第十三章 W55MH32 UPnP端口转发示例

    本文讲解了如何在 W55MH32 芯片上实现 UPnP 协议的端口转发功能,通过实战例程详细展示了从设备搜索、获取设备描述、订阅事件到添加和删除端口映射的完整流程,包括各步骤涉及的协议报文、函数
    的头像 发表于 07-24 10:28 1550次阅读
    第十三章 W55MH32 UPnP<b class='flag-5'>端口</b>转发示例

    在友晶DE1-SOC开发板实现Chirikov标准映射求解器

    该项目是在友晶DE1-SOC开发板实现Chirikov标准映射的求解器,并将其应用于图像加密和解密的概念验证。
    的头像 发表于 07-07 15:22 1991次阅读
    在友晶DE1-SOC开发板<b class='flag-5'>实现</b>Chirikov标准<b class='flag-5'>映射</b>求解器

    Windows环境32位汇编语言中文资料

    电子发烧友网站提供《Windows环境32位汇编语言中文资料.rar》资料免费下载
    发表于 06-30 15:14 0次下载

    网线配线架的作用价值

    物理集中:将分散的网络端口(如交换机端口、终端设备端口)通过跳线(Patch Cord)统一接入配线架,形成逻辑清晰的物理连接点。 示例:在数据中心,配线架将数百条网线集中到机柜中,避免线缆散乱,便于快速定位
    的头像 发表于 05-20 11:09 1266次阅读
    网线配线架的作用价值

    内网穿透目前最好的解决方案?ZeroNews凭什么!

    大 IPv4枯竭:今公网 IP 资源极度稀缺,门槛高难申请 暴露风险:直接开放端口,等于给黑客“发邀请函” 配置复杂:需DDNS+端口映射,运维团队头秃 ② 开源工具(如FRP):免费但折磨 自建服务器:买域名、搞备案、搭环境,部署耗时一整天 零安全保
    的头像 发表于 05-15 14:14 1092次阅读
    内网穿透目前最好的解决方案?ZeroNews凭什么!