端口映射的定义、特点、场景、实例、常见问题回答(Port Mapping)

目            录

一、端口映射(Port Mapping)

二、端口映射应用场景(什么时候用到端口映射)

(一)、使用端口映射的条件

(二)使用端口映射的具体场景

三、端口映射技术的特点

四、哪些设备支持端口映射

五、如何测试端口映射是否成功了?

六、配置实战:

(一)通用路由器的端口映射配置(思科路由器,物联网服务器)

1、需求

2、配置

3、删除配置

(二)宽带路由器的端口映射配置(视频监控平台对外提供服务)

1、需求

2、配置

3、测试配置是否生效

七、常见问题回答:

(一)没有固定的IP地址,可以做端口映射吗?

(二)没有公网地址,有域名,可以做端口映射吗?

(三)常见故障


一、端口映射(Port Mapping)

        端口映射是将外网主机的IP地址的一个端口映射到内网中,一台机器提供相应的服务。当用户访问该IP的这个端口时,服务器会自动将请求映射到对应局域网内部的机器上。

        端口映射过程就如同:你的办公室在一个商务楼152810室,你有快递要通过快递公司寄出去, 你写好邮寄地址,放到门卫,门卫那边的快递公司就给你寄出去了;当有你的快递运送到商务楼,门卫收到后,知道你公司在2810室,然后就直接送到你的办公室。端口映射的目的是传输数据,数据如何进来,又如何发出去,通过端口映射可以达到和公网上的网络设备通信的目的。

二、端口映射应用场景(什么时候用到端口映射)

(一)、使用端口映射的条件

        满足以下几个条件,就可以在公网下访问映射的端口,来访问内网的服务。

        1、实现端口映射需要确保拥有公网IP

        2、确认需要映射的端口,并确保内部主机的防火墙允许外部访问该端口。

        3、在路由器上配置端口映射规则

(二)使用端口映射的具体场景

        端口映射通常在以下情况下使用:

  1. 当有远程控制的需求时,比如实际中有远程控制的需求。这个时候我们就需要端口映射这样的操作,用来把目的端口是“指定端口号”的数据包和“指定的主机端口号”联系起来以方便远程控制。
  2. 当公网用户无法直接访问到内网服务时,需要借助一定的技术,而端口映射就是其中一种。当一个私有网络中的计算机需要提供服务给公共网络上的计算机时,则需要使用端口映射技术将公共网络上的请求转发到私有网络中的特定计算机和端口,以便与该计算机上的程序进行通信。

三、端口映射技术的特点

        端口映射技术具有以下特点:

  1. 地址转换:端口映射技术可以将内部网络地址转换为外部网络地址,使得内部网络中的设备能够通过外部网络进行访问。
  2. 动态端口映射:通过动态端口映射,内部网络中的设备可以在需要时动态地映射到外部网络中,使得外部网络用户可以随时访问这些设备。
  3. 端口转发:端口映射技术可以将外部网络中的流量转发到内部网络中的目标设备,使得外部网络用户可以访问内部网络中的特定服务。
  4. 安全性:端口映射技术可以通过设置防火墙规则来限制外部网络的访问权限,保护内部网络的安全。
  5. 易于配置和管理:端口映射技术可以通过简单的配置来实现,不需要复杂的网络配置和管理技能。

        端口映射技术是一种非常有用的网络技术,可以帮助用户实现内部网络设备的外部访问和管理,提高网络的可用性和可管理性。

四、哪些设备支持端口映射

        许多设备支持端口映射功能,包括路由器、防火墙、虚拟专用网络(VPN)等。不同的设备和品牌可能具有不同的端口映射设置界面和配置方式,但大多数设备都支持基本的端口映射功能。

        例如,常见的路由器品牌如华硕、网件、Linksys等都支持端口映射功能。在路由器的设置界面中,通常可以找到转发规则虚拟服务器或类似选项,在其中可以设置端口映射规则。

        另外,一些云服务提供商也提供端口映射功能,如Amazon EC2Microsoft Azure、阿里云等。在这些平台上,用户可以在虚拟机或容器中配置端口映射规则,以便将外部请求转发到内部服务。

        需要注意的是,在进行端口映射时,需要确保设备的安全性,尤其是在公网环境下。建议在设备上配置强密码、禁用不必要的服务等安全措施,以防止潜在的安全风险。

五、如何测试端口映射是否成功了?

        要测试端口映射是否成功,可以使用以下几种方法:

  1. 使用telnet命令:在远程计算机上,打开命令行界面,输入“telnet (路由器WAN口IP)  (端口号)”,例如“telnet 124.90.173.12 80”。如果端口映射成功,应该能够连接成功,并显示正常的数据传输。如果连接失败或无法打开到主机的连接,说明端口映射没有成功。
  2. 使用netstat命令:在本地计算机上,打开命令行界面,输入“netstat -an | grep "端口号"”,例如“netstat -an | grep "8080"”。如果端口映射成功,应该能够显示出相应的连接状态和地址信息。如果找不到对应的端口号或显示的状态为“CLOSE”,说明端口映射没有成功。
  3. 使用端口扫描工具:有许多在线的端口扫描工具可供使用,可以用来测试指定的端口是否开放。常见的工具包括nmap、Advanced Port Scanner等。只需要输入要扫描的IP地址和端口号,工具会自动检测该端口是否开放。

        注意,在进行端口映射测试时,需要确保本地计算机和远程计算机的网络连接正常,并且测试的端口没有被防火墙或其他安全措施阻塞。另外,不同的操作系统和网络环境可能存在差异,测试方法也可能有所不同。

    大家可以看我前面的一篇文章“ 详细介绍解决网络端口问题的方法,如何检测网络端口的通断,测试服务器的TCP端口或UDP端口是否联通?”,有详细的介绍

六、配置实战:

(一)通用路由器的端口映射配置(思科路由器,物联网服务器)

1、需求

       内网是通过一个Cisco的路由器2611连接都互联网,现在内网有个物联网服务器172.1.1.22,要采集4G设备上的数据。所以这些4G设备需要能够访问172.1.1.22服务器。

2、配置

        在Cisco的路由器2611上进行端口映射,具体操作如下:

        c2611>en

        Password:

        c2611#configure

        c2611(config)#ip nat inside source static tcp 172.1.1.22 236 121.22.1.101 236

        (备注:172.1.1.22是内网主机的地址,121.22.1.101是公网IP地址,这里以映射236端口为例

        c2611(config)#exit

        c2611#wr

3、删除配置

         取消端口映射:no ip nat inside source static 172.1.1.22 236 121.22.1.101 236

(二)宽带路由器的端口映射配置(视频监控平台对外提供服务)

1、需求

       公司内网一个服务器,地址为192.168.1.191,现在需要对外临时提供视频接入服务。能够接入一些监控摄像机IPC、硬盘录像机NVR等。

       因此,需要配置端口映射,让视频监控平台的服务端口7060映射到外网,以便可以接入这些视频监控设备。

      

2、配置

        公司的路由器为TPLINK的TL-R478,下面以这个路由器为例,配置如下:

(1)进入路由器配置界面,选择“转发规则”,选择“虚拟服务器”tab,进入下面界面

(2)配置端口和内网视频监控平台的IP地址,协议可以选择TCP、UDP、或TCP/UDP

(3)配置完成后,点击“新增”,可以看到服务列表中出现新增的项目,如下图:

3、测试配置是否生效

(1)查看宽带路由器wan口的IP地址,即公网地址

        选择“wan设置”,点击“wan1设置”tab页,如下图,可以找到公网地址为117.80.183.126

(2)测试公网地址和端口

telnet到公网地址的7060端口,看是否能登录上去

       输入指令 telnet 117.80.183.126 7060

       若出现上图,telnet 到7080端口,显示“连接失败”,说明映射7080端口不成功。

       出现如下图显示,说明端口7060映射成功。

七、常见问题回答:

(一)没有固定的IP地址,可以做端口映射吗?

        没有固定IP地址也可以进行端口映射,但需要在路由器或服务器上设置动态DNSDDNS)服务。动态DNS服务可以将动态分配的IP地址映射到一个固定的域名,这样就可以通过域名进行远程访问和管理了。常用的动态DNS服务提供商有DynDNSNo-IP、花生壳等,可以按照相应服务提供商的说明进行设置。此外,也可以考虑使用云服务或虚拟专用服务器(VPS)等云端解决方案,它们通常提供了内置的端口映射功能,方便用户进行远程访问和管理。

(二)没有公网地址,有域名,可以做端口映射吗?

        没有公网IP地址,只拥有域名是无法进行端口映射的。端口映射的前提是需要有公网IP地址,以便将外部网络的请求转发到内部网络中的服务器或计算机。如果只有域名而没有公网IP地址,则无法进行端口映射操作。

不过,可以通过内网穿透的方式来实现公网访问内网的需求。内网穿透工具如cpolar可以将内网下的本地服务器安全暴露至公网可访问,无需配置路由器,也无需公网IP。只需要在内网服务器上安装cpolar,并创建隧道将内网端口映射到公网,就可以实现公网访问内网的需求。

(三)常见故障

  1. 端口已被占用:在进行端口映射时,可能会遇到端口已被其他应用程序或服务占用的情况。这可以通过关闭占用端口的其他应用程序或服务来解决,或者选择其他未被占用的端口进行映射。
  2. 端口冲突:如果映射的端口与其他设备或应用程序的端口发生冲突,可能会导致映射无法正常工作。需要修改映射端口,确保端口的唯一性。
  3. 防火墙或安全软件阻止访问:防火墙或安全软件可能会阻止对端口的访问。需要检查防火墙或安全软件的设置,确保允许对指定端口的访问。
  4. 网络环境变更导致映射失效:如果网络中的IP地址发生变化,可能会导致端口映射失效。需要检查内外网IP地址是否发生变化,并根据实际情况更新配置。
  5. 宽带运营商采用NAT技术:某些宽带运营商可能会使用NAT技术,这可能会对端口映射造成一定影响。需要与运营商联系,了解其网络配置,并根据情况进行相应设置。
  6. 路由器或防火墙配置错误:在进行端口映射时,如果路由器或防火墙的配置出现错误,可能会导致端口映射无法正常工作。需要检查路由器或防火墙的配置,确保设置正确。
  7. 无法提供服务:在进行端口映射时,如果内网中的服务没有正常工作,可能会导致端口映射无法提供服务。需要检查内网中的服务状态,确保服务正常运行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/635818.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何将PDF文件转换为Word格式?推荐PDF转换工具

pdf转word格式可以帮助我们对文档的格式进行调整和排版,有时候,pdd文件的排版可能不符合我们的需求,或者需要进行一些样式和布局的调整。通过将PDF转word,我们可以轻松地修改字体、样式、段落间距等,使文档符合我们的要…

数学建模常见算法的通俗理解(1)

目录 1.层次分析法(结合某些属性及个人倾向,做出某种决定) 1.1 粗浅理解 1.2 算法过程 1.2.1 构造判断矩阵 1.2.2 计算权重向量 1.2.3 计算最大特征根 1.2.4 计算C.I.值 1.2.5 求解C.R.值 1.2.6 判断一致性 1.2.7 计算总得分 2 神经…

从零开始配置vim(Windows版)

事情是这样的,之前linux下vim用习惯了...然后就给自己win下vscode也装了个vim插件,用下来还是感觉不顺手,并且处理太多文本时有明显卡顿,于是乎自己配了下win版的vim。 不过好像也并不是从零开始的...初始基础版的.vimrc有copy他们…

Linux编写简易shell

思路:​ ​ ​ 所以要写一个shell,需要循环以下过程:​ 获取命令行解析命令行建立一个子进程(fork)替换子进程(execvp)父进程等待子进程退出(wait) 实现代码:​ #inc…

从技术大会到面试舞台:程序猿的蜕变之旅!

在这个技术日新月异的时代,程序员们需要不断地学习和提升自己的技能。 参加技术大会,无疑是程序员们拓宽视野、提升技能的重要途径之一。然而,技术大会只是程序员成长的一部分,掌握面试技巧同样至关重要。只有将这两者完美结合&a…

Python入门到精通(三)——Python循环语句

Python循环语句 一、while 循环 1、基础语法 2、嵌套应用 二、for 循环 1、基础语法 2、嵌套应用 三、循环中断:break 和 continue 1、break 2、continue 四、综合案例 一、while 循环 1、基础语法 while的条件需得到布尔类型,True表示继续循环…

【STM32】| 02——常用外设 | I2C

系列文章目录 【STM32】| 01——常用外设 | USART 【STM32】| 02——常用外设 | I2C 失败了也挺可爱,成功了就超帅。 文章目录 前言1. 简介2. I2C协议2.1 I2C物理连接2.2 I2C通信协议2.2.1 起始和停止信号2.2.2 数据有效性2.2.3 数据传输格式2.2.4 从机地址/数据方…

学习Spring的第九天

Spring Bean的生命周期 Bean的实例化阶段 : 看配置文件里Bean标签的信息 , 来判断进行实例化(如是否有lazy-init , 或者是否是FactoryBean等等) (实际就是Bean标签表面的信息 , 即BeanDefinition) Bean的初始化阶段 : 对Bean的属性(重要 : BeanPostProcessor方法 , 及如下 , pr…

什么是安全SCDN,有什么作用?

前两天有个站长被朋友推荐联系到了德迅云安全,想要对自己网站做一些安全防护,聊天中问及到了安全SCDN是什么意思,有哪些作用?那么德迅云安全今天就来简单讲述一下安全SCDN,来了解下什么是安全SCDN,以及它有…

一键拆分,轻松整理,高效管理文本文件,让工作更轻松!

在日常工作中,我们经常需要处理大量的文本文件。如何快速整理这些文件,方便管理和使用成为了关键问题。为此,我们为您推荐一款强大的一键拆分和整理工具,助您高效管理文本文件! 首先,在首助编辑高手的主页面…

29、WEB攻防——通用漏洞SQL注入增删改查盲注延迟布尔报错

文章目录 盲注增删改查 盲注 概念:在注入过程中,获取的数据不能回显至前端页面,此时我们需要利用一些方法进行判断或尝试,这个过程被称为盲注。 解决:常规的联合查询注入不行的情况。 分类: 基于布尔的SQ…

原码,补码的乘法运算

目录 一.原码一位乘法 二.补码一位乘法 一.原码一位乘法 在手算10进制乘法中,我们是这样计算的: 这里的本质是因为: 0.211 0.985 所以0.211*0.985 对应: 0.000985 0.00985 …

【面试突击】硬件级别可见性问题面试实战(下:synchronized和volatile底层对原子性、可见性、有序性的保证)

🌈🌈🌈🌈🌈🌈🌈🌈 欢迎关注公众号(通过文章导读关注:【11来了】),及时收到 AI 前沿项目工具及新技术的推送! 在我后台回复…

CHS_01.2.2.1+调度的概念、层次

CHS_01.2.2.1调度的概念、层次 调度的概念、层次知识总览调度的基本概念调度的三个层次——高级调度![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/6957fdec179841f69a0508914145da36.png)调度的三个层次——低级调度调度的三个层次——中级调度补充知识&#xff…

9.1 Maven项目管理(❤❤❤❤)

9.1 Maven项目管理 1. Maven介绍2. 创建Maven项目2.1 创建2.2 结构分析3. Maven依赖管理3.1 简介3.2 设置下载镜像仓库4. 本地仓库与中央仓库5. Maven生命周期6. Maven插件技术1. Maven介绍

钡铼 楼宇暖通网关之 BACnet网关在空气源热泵智能控制系统中的应用介绍

前言 在刚刚过去的2023年,空气源热泵市场依然火爆,全线市场销量递增,各种新品层出不穷,市场认可度持续攀升,在整个采暖市场,空气源热泵已然成为当红明星。 热泵组管道比较复杂,传感器分布比较分…

路飞项目--02

补充:axios封装 # 普通使用:安装 ,导入使用 const filmListreactive({result:[]}) axios.get().then() async function load(){let responseawait axios.get()filmList.resultresponse.data.results } # 封装示例:请求发出去之前…

(蓝桥杯每日一题)love

问题描述 马上就要到七夕情人节了,小蓝在这天想要心爱得男神表白,于是她写下了一个长度为n仅由小写字母组成的字符串。 她想要使这个字符串有 1314个 love 子序列但是马虎的小蓝却忘记了当前已经有多少个子序列为 love。 请你帮小蓝计算出当前字符串有多…

【llm 使用llama 小案例】

huggingfacehttps://huggingface.co/meta-llama from transformers import AutoTokenizer, LlamaForCausalLMPATH_TO_CONVERTED_WEIGHTS PATH_TO_CONVERTED_TOKENIZER # 一般和模型地址一样model LlamaForCausalLM.from_pretrained(PATH_TO_CONVERTED_WEIGHTS) tokenize…

pyvisa 打包

pyvisa 打包之后,错误提示: D:\dwp_backup\python study\communication_instrument_visa\dist>"D:\dwp_backup\python study\communication_instrument_visa\dist\EMI_Test_ok.exe" Traceback (most recent call last): File "EMI_…