frp实现Linux虚拟机内网穿透,实现ssh和web功能

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。
说人话就是,你在外面可以访问你家里的服务器,摄像头,NAS等,由于你家设备没有公网ip,没办法通过ip访问。、

参考资料

frp/README_zh.md at master · fatedier/frp · GitHub
Releases · fatedier/frp · GitHub

准备工作

  1. 一台云服务器(我的是阿里云服务器学生版)
  2. 下载frp的安装包,下载地址如下
https://github.com/fatedier/frp/releases

温馨提示

根据自己的操作系统选择安装包,推荐这篇博客如何查看linux系统的体系结构_运维_奔狼-CSDN博客

安装配置

云服务器端

查看操作系统架构

uname -a 

结果是

Linux iZbp138kxyken3x0k0w4mcZ 4.4.0-174-generic #204-Ubuntu SMP Wed Jan 29 06:41:01 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

X86架构

#进入存储路径
cd /opt/software/frp/
# X86架构 根据自己的架构下载
wget https://github.com/fatedier/frp/releases/download/v0.31.2/frp_0.31.2_linux_386.tar.gz
# 解压缩
tar -zxvf frp_0.31.2_linux_386.tar.gz
# 进入frp_0.31.2_linux_386
cd frp_0.31.2_linux_386

关键一步,vim frps.ini,配置如下

[common]
bind_port = 7000  # frp服务器端和客户端的建立连接的端口号
vhost_http_port = 50070  #外网访问的端口号,可以改成80 ,8080等

2种运行方式

# 1.后台运行
nohup ./frps -c ./frps.ini >frps.log &
# 2. 直接运行,但是会话结束进程关闭
./frps -c ./frps.ini

客户端
下载frp安装包,解压 同服务器端操作
frpc.ini

[common]
server_addr = 118.178.195.62  #云服务器ip
server_port = 7000  #frp服务器端和客户端的建立连接的端口号

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000  #外网ssh访问的端口号

[web]
type = http
local_ip = 127.0.0.1
local_port = 50070  #服务器的web端口,可以改成80,8080
custom_domains = 云服务器ip 或者 域名

2种运行方式

# 1.后台运行
nohup ./frpc -c ./frpc.ini >frpc.log &
# 2. 直接运行,但是会话结束进程关闭
./frpc -c ./frpc.ini

frp安装报错:./frpc: cannot execute binary file: Exec format error_运维_奔狼-CSDN博客

测试

1.ssh测试

ssh -oPort=6000 root@云服务器ip

输入客户端的密码,记住是客户端的密码,不是云服务器的密码
在这里插入图片描述
2. web测试

![http://云服务器ip:50070/](https://img-blog.csdnimg.cn/2020030810400466.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXlhbmdfdGFuZw==,size_16,color_FFFFFF,t_70)
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
frp是一款开源的高性能的反向代理软件,可以实现内网穿透。下面是在Linux上使用frp实现内网穿透的步骤: 1. 下载frp 可以从frp官网下载对应的版本。比如,下载linux_amd64版本的frp: ``` wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_amd64.tar.gz ``` 2. 解压缩frp 使用以下命令解压缩frp文件: ``` tar -zxvf frp_0.37.1_linux_amd64.tar.gz ``` 3. 配置frp 在解压后的文件夹中,可以看到frp的配置文件夹`frp_0.37.1_linux_amd64/frp_0.37.1_linux_amd64`。进入该文件夹,可以看到两个配置文件:`frpc.ini`和`frps.ini`。 - `frpc.ini`是客户端配置文件,用于将内网服务器映射到公网上。 - `frps.ini`是服务端配置文件,用于接收来自客户端的请求,并将其转发到内网服务器上。 我们需要修改`frpc.ini`配置文件,将其中的以下几个参数设置为正确的值: ``` [common] server_addr = x.x.x.x # 公网服务器IP地址 server_port = 7000 # 公网服务器端口 token = 12345678 # 用于认证的token [web] type = http local_port = 80 # 内网服务器的端口 custom_domains = example.com # 绑定的域名 ``` 其中,`x.x.x.x`是公网服务器的IP地址,`12345678`是用于认证的token,`80`是内网服务器的端口,`example.com`是绑定的域名。 4. 启动frp 在配置好`frpc.ini`文件后,使用以下命令启动frp客户端: ``` ./frpc -c ./frpc.ini ``` 如果一切正常,可以看到类似以下的输出信息: ``` 2021/05/06 15:05:40 [I] [proxy_manager.go:144] [3c4f8980] proxy added: [web] 2021/05/06 15:05:40 [I] [control.go:200] [3c4f8980] [web] login to server success, get run id [3c4f8980] 2021/05/06 15:05:40 [I] [control.go:256] [3c4f8980] [web] start proxy success ``` 5. 测试frp 在浏览器中输入绑定的域名,如果能够访问到内网服务器上的页面,说明内网穿透已经成功。 以上就是在Linux上使用frp实现内网穿透的步骤,希望对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值