使用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,最后的登录密码是内网机器的密码,而不是公网机器的密码,这一点一定要注意。

相关推荐
江团1io06 分钟前
深入解析TCP核心机制:连接管理、流量与拥塞控制
服务器·网络·tcp/ip
知白守黑26714 分钟前
Ansible角色
运维·服务器·ansible
小小菜鸡ing6 小时前
pymysql
java·服务器·数据库
当归10249 小时前
SQL Server死锁排查实战指南
java·服务器·网络
qinyia9 小时前
用 Wisdom SSH 轻松实现服务器自动化任务调度
服务器·自动化·ssh
bug攻城狮9 小时前
彻底禁用 CentOS 7.9 中 vi/vim 的滴滴声
linux·运维·服务器·centos·vim
Sweety丶╮79412 小时前
【Ansible】实施 Ansible Playbook知识点
服务器·云原生·ansible
optiz13 小时前
细菌基因组genome二代测序数据分析
linux·运维·服务器
m0_6613162313 小时前
modbus_tcp和modbus_rtu对比&移植AT-socket,modbus_tcp&杂记
服务器·网络·tcp/ip
IT成长日记14 小时前
【Linux基础】Linux系统管理:GPT分区实践详细操作指南
linux·运维·服务器·gpt·parted·磁盘分区·fdisk