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

    文章

    5699

    浏览量

    134359
  • Linux
    +关注

    关注

    87

    文章

    10986

    浏览量

    206712
  • WINDOWS
    +关注

    关注

    3

    文章

    3436

    浏览量

    87133

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

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

收藏 人收藏

    评论

    相关推荐

    STM32F4能否实现用重映射功能将dcmi映射到别的io口?

    能否实现用重映射功能将dcmi映射到别的io口
    发表于 03-25 08:07

    在TC387微控制器上实现内存映射,负载增加的原因是什么?

    我正在 TC387 微控制器上实现内存映射。 关于内存映射,在 Linker 脚本中定义了新区域,并将数据映射到这些区域。 从功能上看,在有内存映射
    发表于 03-04 07:43

    TSMaster 信号映射的配置方法

    TSMaster信号映射模块可以将数据库变量映射为系统变量,经过映射后的系统变量就等同于数据库中的变量,该系统变量的读写操作就等同于读写数据库变量。其在系统软件中的位置如下图所示:信号映射
    的头像 发表于 02-19 14:00 152次阅读
    TSMaster 信号<b class='flag-5'>映射</b>的配置方法

    NAT网关实现IP地址转换与端口映射

    。 当需要实现内外网的跨网段访问时,可以通过NAT技术来实现。NAT完成将IP报文报头中的IP地址转换为另一个IP地址的过程,主要用于实现内部网络访问外部网络的功能,也能实现增强安全性
    的头像 发表于 12-27 17:27 318次阅读
    NAT网关<b class='flag-5'>实现</b>IP地址转换与<b class='flag-5'>端口映射</b>

    mybatis映射文件的主要元素及作用

    了一些主要的元素,通过这些元素可以定义SQL语句、参数映射、结果集映射等,从而实现灵活而可维护的数据库访问。 namespace namespace元素用于定义映射文件的命名空间,它的
    的头像 发表于 12-03 14:56 1155次阅读

    Docker Compose部署Spug:实现内网穿透

    上面我们成功安装了openGauss数据库,下面我们在Linux安装cpolar内网穿透工具,通过cpolar 转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装cpolar步骤
    的头像 发表于 11-23 16:42 315次阅读
    Docker Compose部署Spug:<b class='flag-5'>实现</b>内网穿透

    完整的计算机网络基础思维导图

    一对一的IP映射并且一对一的端口映射 实现内网服务器能够被外网访问,同时隐藏内网服务器实际IP地址 服务器私网P地址和端口号转换为公网IP地址和
    的头像 发表于 11-23 12:25 605次阅读
    完整的计算机网络基础思维导图

    端口转发和端口映射的区别 端口映射端口转发的各自意义?

    端口转发和端口映射的区别 端口映射端口转发的各自意义? 端口转发和端口映射是两种网络技术,它们
    的头像 发表于 11-22 17:41 4234次阅读

    内网穿透frp原理简述

    FRP的优点: 它可以隐藏内网中的服务器, 避免因直接暴露内网服务器导致的安全问题。此外, FRP还支持动态端口映射, 可以方便地实现内网的服务器负载均衡
    的头像 发表于 11-13 14:38 1712次阅读
    内网穿透frp原理简述

    端口隔离是什么?如何实现端口隔离?

    在计算机网络中,端口是一种用于标识特定应用程序或服务的数字。每个应用程序或服务都会使用一个特定的端口号,以便其他计算机可以找到它并与之通信。
    的头像 发表于 06-16 15:37 2505次阅读
    <b class='flag-5'>端口</b>隔离是什么?如何<b class='flag-5'>实现</b><b class='flag-5'>端口</b>隔离?

    如何通过路由器设置端口映射

    不少朋友问到什么是端口端射?在项目中我们经常会遇到,这个功能也是非常实用的,可以解决一些远程控制访问,很多朋友对这个设置一直都了解不多。那么如何设置端口映射呢?一起来看下。
    的头像 发表于 06-16 12:54 7756次阅读
    如何通过路由器设置<b class='flag-5'>端口映射</b>

    工业以太网交换机的作用

    以太网交换机是用来实现数据传输和交换的网络设备。主要功能有:为网络设备提供网络接口从而实现设备间的互联。可扩充网络接口,进行堆叠满足网络需求。可扩展网络范围、缓存MAC地址与相应的端口映射、转发/过滤功能、消除回路功能。
    发表于 05-17 16:26 901次阅读

    LTE是在OFDM调制之后成帧?那么各天线端口如何映射到10ms帧上?

    LTE是在OFDM调制之后成帧?那么各天线端口如何映射到10ms帧上?
    发表于 05-16 16:36

    LTE系统中天线端口的数据是如何映射到物理天线的呢?

    预编码,映射到天线端口上发送。   码字、层和天线端口的区分。   1、码字:   码字是指来自上层的业务流进行信道编码之后的数据。不同的码字q区分不同的数据流,其目的是通过MIMO发送多路数据,
    发表于 05-16 15:02

    以太网交换机有什么用

    以太网交换机是用来实现数据传输和交换的网络设备。主要功能有:为网络设备提供网络接口从而实现设备间的互联。可扩充网络接口,进行堆叠满足网络需求。可扩展网络范围、缓存MAC地址与相应的端口映射、转发/过滤功能、消除回路功能。
    发表于 05-05 15:20 1656次阅读