论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
备份容灾
›
备份
›
【服务器】端口映射
【服务器】端口映射
汕尾海湾
金牌会员
|
2024-8-22 23:26:27
|
显示全部楼层
|
阅读模式
楼主
主题
554
|
帖子
554
|
积分
1662
1.端口映射的概念
端口映射(Port Mapping),也称为端口转发(Port Forwarding),是一种将一个网络端口的数据流重定向到另一个网络端口的技术。这通常用于在防火墙或路由器后面运行的服务,使外部装备可以访问内部网络中的特定服务。端口映射可以在本地网络中举行,也可以跨网络举行,通过SSH等协议实现。
1.1 端口映射的范例
本地端口映射(Local Port Forwarding)
:
将本地盘算机的某个端口映射到远程服务器的某个端口。
示例:将本地端口8080映射到远程服务器的80端口,从而可以在本地通过localhost:8080访问远程服务器的Web服务。
远程端口映射(Remote Port Forwarding)
:
将远程服务器的某个端口映射到本地盘算机的某个端口。
示例:将远程服务器的2222端口映射到本地盘算机的22端口,从而可以通过远程服务器访问本地盘算机的SSH服务。
动态端口映射(Dynamic Port Forwarding)
:
创建一个SOCKS署理,通过它可以动态地访问多个远程服务器的端口。
示例:创建一个SOCKS署理,允许浏览器通过该署理访问多个远程服务器的网站。
1.2 端口映射的应用场景
远程访问内部服务
:通过端口映射,可以从外部网络访问公司内部或家庭网络中的特定服务,例如Web服务器、数据库服务器等。
穿透防火墙
:通过端口映射,可以绕过防火墙的限制,访问被防火墙制止的服务。
提高安全性
:通过SSH隧道举行端口映射,可以加密数据传输,提高安全性。
负载均衡和署理
:负载均衡器和署理服务器经常利用端口映射技术来分发和转发流量,提高服务的可靠性和性能。
1.3 示例
假设有一个运行在远程服务器上的Web服务,它监听的端口是80。为了从本地盘算机访问这个服务,可以利用以下SSH命令创建一个本地端口映射:
ssh -L 8080:localhost:80 user@remote-server
复制代码
这条命令将本地盘算机的8080端口映射到远程服务器的80端口。如今,在本地浏览器中访问http://localhost:8080,就相当于访问远程服务器的Web服务。
2.为什么要举行端口映射呢?
在开发过程中,举行端口映射(或端口转发)有几个主要缘故原由:
访问受掩护的服务
:开发机上的某些服务可能仅监听在本田主机(127.0.0.1)上,无法直接从外部访问。通过端口映射,可以将这些服务暴露出来,使其可以从外部访问。
安全性
:通过SSH隧道举行端口转发,可以在不直接暴露服务的情况下,安全地访问内部服务。SSH隧道会加密数据传输,增加了安全性。
方便调试
:在开发过程中,开发者可能必要访问运行在开发机上的多个服务。通过端口映射,可以直接从本地访问这些服务,而无需在每次访问时都登录到开发机上。
绕过防火墙或网络限制
:在某些网络情况中,可能存在防火墙或网络限制,制止直接访问开发机上的服务。通过SSH隧道,可以绕过这些限制,实现对服务的访问。
多用户访问
:如果多个开发者必要访问同一个服务,通过端口映射可以让每个开发者在自己的本地情况中访问该服务,而无需直接登录到开发机。
举个例子:
假设你在开发机上运行了一个Jupyter Notebook服务器,它监听的端口是7860,但只允许本地访问。通过以下SSH命令,可以将开发机的7860端口映射到你本地的7860端口:
ssh -p 37367 root@ssh.intern-ai.org.cn -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyChecking=no
复制代码
这样,你可以在本地浏览器中访问 http://127.0.0.1:7860 来检察和利用开发机上的Jupyter Notebook服务器。
3.原理
3.1【大白话】原明白释
开发机有自己的
暴露端口
和
公网IP
,可以用于我们在本地举行ssh连接
但是在开发机也就是服务器中
运行步伐
时,其步伐是在服务器的
某个端口上
运行的
所以我们在本地想要看到该步伐在服务器上的运行效果,就要建立端口映射,在浏览器打开本地端口时,转发到服务器的端口举行检察
3.2 原理图
4.代码
ssh -p 37367 root@ssh.intern-ai.org.cn -CNg -L {本地机器_PORT}:127.0.0.1:{开发机_PORT} -o StrictHostKeyChecking=no
复制代码
例如:
ssh -p 37367 root@ssh.intern-ai.org.cn -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyChecking=no
复制代码
这条命令用于创建一个SSH隧道。下面是每个部分的具体解释:
ssh: 用于启动SSH连接的命令。
-p 37367: 指定要连接的远程主机的端标语(在这个例子中是37367端口)。
root@ssh.intern-ai.org.cn: 用户名(root)和主机名(ssh.intern-ai.org.cn)。
-CNg: 选项的组合:
-C: 启用压缩。
-N: 告诉SSH不实行远程命令,只举行端口转发。
-g: 允许远程主机连接到转发的端口。
-L 7860:127.0.0.1:7860: 举行本地端口转发,将本地机器的7860端口映射到远程主机的127.0.0.1的7860端口。
-o StrictHostKeyChecking=no: 禁用主机密钥检查,这样可以防止首次连接时出现交互提示。
总结来说,这条命令会在本地机器和远程主机之间创建一个SSH隧道,将本地的7860端口转发到远程主机的7860端口,并且不会实行远程命令或检查主机密钥。
如下图所示:
在举行端口映射之后,显示的是在服务器的7860端口上运行的步伐
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
汕尾海湾
金牌会员
这个人很懒什么都没写!
楼主热帖
redis实现主从复制
小白福利 | Window前言
一文了解袋鼠云在实时数据湖上的探索与 ...
Kafka生产者
RabbitMQ 进阶 -- 阿里云服务器部署Rab ...
手记系列之四 ----- 关于使用MySql的经 ...
5分钟安装Kubernetes+带你轻松安装isti ...
在线客服系统源码编译Golang语言下go b ...
P2448 无尽的生命
在Ubuntu系统上安装StoneDB数据库 ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表