问下如何将本地虚拟机内服务器端口映射到有公网ip的服务器上?

我去网上搜了很多,都是需要安装花生壳什么之类的软件,我想问下有没有那种不装软件,直接通过 ssh,或者 autossh 这种命令就可以映射的。
情况是我本地笔记本电脑内装了 virtualbox,然后在 virtualbox 内装了一个 centos7 系统,装了 nginx,监听 80 端口,系统内有一个测试网站,然后公司有一台公网 ip 的服务器,我是有权限的。现在我想通过公网 ip 加上端口号能访问到我笔记本上的虚拟机内的网站?

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 18

国内家用宽带,没有固定 IP,每次登网都可能是不同的 IP 地址,本地获取到的公网 IP 不开放 80 443 等端口,需要用别的端口。
想要外部网络访问本地的 web 服务, 由于 IP 经常变动,需要绑定域名,写个脚本监测本地的 IP,然后动态调用域名 DNS 解析提供商的 API,修改域名解析 IP。

2年前 评论

SSH 隧道 就可以,前提是你的虚拟机要可以直接连接到公网服务器。

2年前 评论
donggan (楼主) 2年前
Mutoulee

1、公司有一台公网 ip 的服务器

首先,这台服务器不仅要有公网 IP,而且必须是固定公网 IP;

其次,需要在路由器 / 交换机里面设置内网映射(不懂操作或者无 IT 同事协助的话还是放弃吧);

2、通过安装一些内网映射工具,比如花生壳或者其他。

除花生壳、花生棒这类东西外,其他操作上手都相对复杂,看一会教程可能就会被劝退。

2年前 评论
donggan (楼主) 2年前

就不能直接用公网 ip 的服务器做测试吗?

2年前 评论
donggan (楼主) 2年前
mnizfd

www.showdoc.com.cn/gaoyixia 搞一下 这个内网穿透 是个好东西 你可以试试

2年前 评论
donggan (楼主) 2年前

搜搜 DMZ 端口转发 或者是 ngrok 自己部署一套 blog.mythsman.com/post/5d9aac622db...

2年前 评论

不装东西 纯命令不可能。
而且就算安装了,用你们固定的 IP 来访问也可能不支持,或者是收费项。
公网服务器 —> 本地电脑 —-> 虚拟机 【过于复杂】

2年前 评论

这篇文章应该可以 前提 光猫和路由器支持端口映射 blog.csdn.net/weixin_42987525/arti...

2年前 评论
sanders

内网穿透即可,公网服务器上搭个内网穿透服务,本地用客户端链一下

2年前 评论

frp 内网穿透,可以看一下: frp 内网穿透

2年前 评论
RoyThia 2年前

可以直接 ssh 隧道,虚拟机只要能连上服务器就可以,服务器要放开对应的端口 ssh -R 其他参数自行百度吧。只是临时用,ssh 断开端口映射就会断。但平时的个人开发应该没问题,好多 ssh 工具也都自带隧道功能的。比如 windterm

file

2年前 评论

ssh -NR 8080:0:3000 root@服务器 IP,8080 是服务器上的,3000 是本地的,不知道可不可以,我自己 wsl 里面的是可以的

2年前 评论
stevehe
ssh -C -N -f -g -R 0.0.0.0:5000:192.168.1.10:4000 root@vps01   #5000端口公开,所有IP均可访问
ssh -C -N -f -g -R 127.0.0.1:5000:192.168.1.10:4000 root@vps01   #5000端口仅本机127.0.0.1可访问

如上命令把本地网络 192.168.1.10 机器的 4000 端口映射到服务器的 5000 端口,更多 ssh 命令的选项参数帮助信息可以通过 man ssh 查看;

2年前 评论