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

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

3天内不再提示

Linux或Windows上实现端口映射

马哥Linux运维 来源:入门小站 2023-04-07 10:19 次阅读

一、Windows 下实现端口映射

查询端口映射情况

netshinterfaceportproxyshowv4tov4

查询某一个 IP 的所有端口映射情况

netshinterfaceportproxyshowv4tov4|find"[IP]"

例:

netshinterfaceportproxyshowv4tov4|find"192.168.1.1"

增加一个端口映射

netshinterfaceportproxyaddv4tov4listenaddress=[外网IP]listenport=[外网端口]connectaddress=[内网IP]connectport=[内网端口]

例:

netshinterfaceportproxyaddv4tov4listenaddress=2.2.2.2listenport=8080connectaddress=192.168.1.50connectport=80

删除一个端口映射

netshinterfaceportproxydeletev4tov4listenaddress=[外网IP]listenport=[外网端口]

例:

netshinterfaceportproxydeletev4tov4listenaddress=2.2.2.2listenport=8080

二、Linux下实现端口映射

允许数据包转发

echo1>/proc/sys/net/ipv4/ip_forward iptables-tnat-APOSTROUTING-jMASQUERADE iptables-AFORWARD-i[内网网卡名称]-jACCEPT iptables-tnat-APOSTROUTING-s[内网网段]-o[外网网卡名称]-jMASQUERADE

例:

echo1>/proc/sys/net/ipv4/ip_forward iptables-tnat-APOSTROUTING-jMASQUERADE iptables-AFORWARD-iens33-jACCEPT iptables-tnat-APOSTROUTING-s192.168.50.0/24-oens37-jMASQUERADE

设置端口映射

iptables-tnat-APREROUTING-ptcp-mtcp--dport[外网端口]-jDNAT--to-destination[内网地址]:[内网端口]

例:

iptables-tnat-APREROUTING-ptcp-mtcp--dport6080-jDNAT--to-destination10.0.0.100:6090

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

实验环境

VMWare Workstation Pro

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

实验拓扑

cbd54cda-d4b9-11ed-bfe3-dac502259ad0.png

内网和外网是相对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.html python-mSimpleHTTPServer8080 Server2、Server3同理

对照实验

在client上访问Server1的资源

curlhttp://192.168.50.11:8080/index.html

在client上访问Server2的资源

curlhttp://192.168.50.12:8080/index.html

cbeebe72-d4b9-11ed-bfe3-dac502259ad0.png

在client上访问Server3的资源

curlhttp://172.16.2.11:8080/index.html

cbfe4b26-d4b9-11ed-bfe3-dac502259ad0.png

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

在Server4上配置端口映射

临时配置

#允许数据包转发 echo1>/proc/sys/net/ipv4/ip_forward iptables-tnat-APOSTROUTING-jMASQUERADE iptables-AFORWARD-iens33-jACCEPT iptables-tnat-APOSTROUTING-s192.168.50.0/24-oens37-jMASQUERADE #设置端口映射 iptables-tnat-APREROUTING-ptcp-mtcp--dport8081-jDNAT--to-destination192.168.50.11:8080 iptables-tnat-APREROUTING-ptcp-mtcp--dport8082-jDNAT--to-destination192.168.50.12:8080

永久配置

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

检查效果

在client上访问Server1的资源

curlhttp://172.16.2.100:8081/index.html

cc0edbc6-d4b9-11ed-bfe3-dac502259ad0.png

在client上访问Server2的资源

curlhttp://172.16.2.100:8082/index.html

cc1fa546-d4b9-11ed-bfe3-dac502259ad0.png

在client上访问Server3的资源

curlhttp://172.16.2.11:8080/index.html

cc2da6a0-d4b9-11ed-bfe3-dac502259ad0.png

如果Server4为 Windows,替换一下相应的命令即可

Windows 的 IP信息如下

cc3e3768-d4b9-11ed-bfe3-dac502259ad0.png

cc5369da-d4b9-11ed-bfe3-dac502259ad0.png

配置并查看端口映射情况

netshinterfaceportproxyaddv4tov4listenaddress=172.16.2.105listenport=8081connectaddress=192.168.50.11connectport=8080 netshinterfaceportproxyaddv4tov4listenaddress=172.16.2.105listenport=8082connectaddress=192.168.50.12connectport=8080 netshinterfaceportproxyshowv4tov4

cc6a889a-d4b9-11ed-bfe3-dac502259ad0.png

检查效果

在client节点上

curlhttp://172.16.2.105:8081/index.html curlhttp://172.16.2.105:8082/index.html curlhttp://172.16.2.11:8080/index.html

cc7d6dde-d4b9-11ed-bfe3-dac502259ad0.png

审核编辑:汤梓红

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

    关注

    87

    文章

    11092

    浏览量

    207630
  • WINDOWS
    +关注

    关注

    3

    文章

    3498

    浏览量

    87724
  • Server
    +关注

    关注

    0

    文章

    89

    浏览量

    23900
  • 端口
    +关注

    关注

    4

    文章

    902

    浏览量

    31820
  • 映射
    +关注

    关注

    0

    文章

    44

    浏览量

    15755

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

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    请问IR615如何进行端口映射

    IR615 如何进行 端口映射
    发表于07-24 07:53

    [分享]免费小软件——天锐端口映射器V1.0

    软件名称:天锐 端口映射器软件版本:V1.0软件大小:72kB下载:天锐 端口映射器.rar 软件介绍:本软件是绿色软件, 实现TCP/IP 端口重定向。通过在服务器安装运行此程序,可以把内网
    发表于08-12 17:06

    Linux如何配置本地端口映射

    linux服务器 ,1024以下的 端口是禁止非root用户使用的。所以如果想要使用80 端口访问tomcat,则修改conf/server.xml的
    发表于07-22 07:14

    端口映射如何保证其稳定性

    1. 端口映射原理2.大部分连接不稳定,如何解决
    发表于09-29 11:28

    Docker的端口映射和nginx安装流程

    Docker的 端口映射和nginx安装
    发表于04-14 11:44

    Docker端口映射和nginx安装

    Docker的 端口映射和nginx安装
    发表于04-17 11:44

    NAT端口映射功能在CDMA无线数传模块组网中的应用是什么?

    固定IP连接方式有哪几种?如何利用NAT来 映射 端口?NAT 端口映射功能在CDMA无线数传模块组网中的应用是什么?
    发表于05-31 06:28

    路由器端口映射的原理及设置

    路由器 端口映射的原理及设置 端口映射其实就是我们常说的?NAT地址转换的一种,其功能就是把在公网的地址转翻译成私有地址,?采
    发表于01-27 10:05 727次阅读

    使用IdMappedPortTCP进行端口映射_Delphi教程

    Delphi教程使用IdMappedPortTCP进行 端口映射,很好的Delphi学习资料。
    发表于03-16 15:00 40次下载

    关于自动端口映射功能实现步骤和调试

    接下来,小编就为大家讲解如何使用UPnP协议 实现网络设备自动配置路由器进行 端口映射
    发表于09-23 10:00 4次下载
    关于自动<b class='flag-5'>端口映射</b>功能<b class='flag-5'>实现</b>步骤和调试

    端口映射端口转发的区别?

    端口转发,有时被叫做隧道,是安全壳为网络安全通信使用的一种方法。 端口转发是转发一个网络 端口从一个网络节点到另一个网络节点的行为 端口映射是NAT的一种,功能是把在公网的地址转翻译成私有地
    发表于12-04 17:31 3.7w次阅读
    <b class='flag-5'>端口映射</b>和<b class='flag-5'>端口</b>转发的区别?

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

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

    关于工业路由器端口映射的详细配置方法

    欢迎来到东用知识小课堂,今天我们来给大家做一个 端口映射的详细操作说明,大家如果有需要的话,不妨来试一试下面,我们就以东用科技的ORC305工业级路由器为例,来给大家做图文说明吧ORC305系列开启
    的头像 发表于03-19 07:00 611次阅读
    关于工业路由器<b class='flag-5'>端口映射</b>的详细配置方法

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

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

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

    有一个Web服务器在您的家庭网络中运行,您可以使用路由器 映射将其公开到互联网上。这样,任何人都可以从互联网上访问该Web服务器。 路由器 端口映射的好处有: 1. 隐藏原地址 端口。或者说改变访问地址
    的头像 发表于05-10 13:42 636次阅读