使用frp内网穿透本地的虚拟机

使用frp内网穿透本地的虚拟机

需求:想在宿舍使用实验室的Ubuntu虚拟机,两者又不在同意局域网内。恰巧有台具有公网IP的服务器。

下载安装包
shell 复制代码
wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_linux_amd64.tar.gz
tar -xzvf frp_0.21.0_linux_amd64.tar.gz

解压之后为了清爽,删除客户端的一些文件,保留两个服务端的文件。

复制代码
frps  frps.ini
配置公网服务器上的配置

修改frps.ini文件

shell 复制代码
[common]
server_addr=22.22.22.22  # 公网服务器
bind_port = 7000
vhost_http_port = 7001  # frp面板端口
token=aabbcc
webServer.user = "admin"  # frp面板相关账号
webServer.password = "admin"

直接启动

shell 复制代码
nohup ./frps -c frps.ini &
虚拟机客户端配置

修改frpc.ini文件

shell 复制代码
[common]
server_addr = 0.0.0.0   #frp服务端地址,可以填ip或者域名,这里假设为0.0.0.0
server_port = 7000      #frp服务端端口,即填写服务端配置中的 bind_port

[ssh]
type = tcp              #连接类型,填tcp或udp
local_ip = 127.0.0.1    #填127.0.0.1或内网ip都可以
local_port = 22         #需要转发到的端口,ssh端口是22
remote_port = 6000      #frp服务端的远程监听端口,即你访问服务端的remote_port就相当于访问客户端的 local_port,如果填0则会随机分配一个端口

####如果要配置mysql映射也是类似
[mysql]
type = tcp
local_ip = 127.0.0.1
local_port = 3306
remote_port = 13306

这段配置表示客户端通过 x.x.x.x:7000 连接到服务端,并将本地的 SSH 服务(127.0.0.1:22)映射到服务端的 6000 端口,从而可以从外部访问内网的 SSH 服务。

复制代码
nohup ./frpc -c frpc.ini &

同时记得打开相应的端口

登录
shell 复制代码
ssh -p 6000 username@server_addr 

username 是内网机器的用户名 ,server_addr是公网服务器的IP ,port 6000就是设置的 remote_port,最后的登录密码是内网机器的密码,而不是公网机器的密码,这一点一定要注意。

相关推荐
huainingning3 小时前
RJ SW Console口忘记密码处理方法
linux·运维·服务器
布裘3 小时前
【银河麒麟】桌面系统循环登录,无法进入桌面?
linux·运维·服务器
慧都小项3 小时前
程序到了Linux才出错?用CLion把调试接到目标环境
linux·运维·服务器
Ruiery5 小时前
Linux 6.6内核内存管理深度解析(一):物理内存初始化 — memblock 怎么把内存交给 buddy
linux·运维·服务器
2401_868534786 小时前
无线网络规划设计
服务器·网络
库拉镜像AI牛牛6 小时前
短剧内容自动化生产:知漫剧工作室落地教程
大数据·服务器·前端·人工智能·语音识别
Android系统攻城狮6 小时前
Linux Gstreamer深度解析之gst_audio_encoder_get_frame_max调用流程与实战(五十九)
linux·运维·服务器·gstreamer音视频·音视频进阶·gstreamer音视频进阶
l1t7 小时前
DeepSeek总结的一个不含数据的 DuckDB 数据库
服务器·数据库·duckdb
忆挽篱笙歌7 小时前
makefil
linux·运维·服务器
变量探索SEQVEC8 小时前
一个网段里 10 个 IP,其实是同一个人:13 天蜜罐日志的攻击者画像
服务器