用一台阿里云服务器实现frp内网穿透
前言
这段时间实验室的一台内网主机上的代码需要经常进行调试,工作日还好,能直接在机器上改代码,一到周末在家的我,发现主机的程序发生异常就束手无策了,用VPN又觉得太麻烦了,突然想起利用frp的反向代理能来帮我实现内网穿透,只要有一个外网主机,在家也能实现对内网主机的操作啦。
提示:以下是本篇文章正文内容,下面案例可供参考
一、环境介绍
- 一台拥有公网IP的主机(小R买了一台阿里云的服务器,操作系统为ubuntu20.04。IP:139.196.xx.xx/)
- 一台内网的主机(操作系统:ubuntu18.04,IP:192.168.3.8,必需能连通外网)
二、安装frp并对服务器和客户端进行配置
1.安装并解压frp
$ 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
2.服务器配置
服务器端为阿里云的这台服务器 进入解压后的frp目录下,修改frps.ini配置文件
[common] #与客户端进行通信的端口 bind_port = 7070 #http端口 vhost_http_port = 8080 #https端口 vhost_https_port = 443 #管理后台使用的端口及用户信息(后台可查看各端口使用信息,配置可选) dashboard_port = 7500 dashboard_user = rdrug dashboard_pwd = rdrug #token token =
token的值自己设置,而且要记住,用于客户端和服务端直接的身份认证。
3.客户端配置
内网的主机打开,frpc.ini’配置文件,进行配置修改。
[common] #公网的frp服务器IP server_addr = 139.196.xx.xx #服务器的连接端口号 server_port = 7070 #token用于身份验证(必填) token = [ssh] #ssh连接使用的协议 type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000
4.运行frp
- 服务器端在frp目录下执行命令:./frps -c ./frps.ini 或者nohup ./frps -c ./frps.ini &后台执行。
- 客户端在frp目录下执行命令:./frpc -c ./frpc.ini 或者nohup ./frpc -c ./frpc.ini &后台执行。
5.端口是否被限制
正确配置且满足网络条件的前提下,运行frp后会显示蓝色字体的信息,如果出现黄色或者红色的信息,(后台运行可以打开目录下‘nohup.out’查看运行信息),说明配置或连接出现了错误。
注意:阿里云服务器入方向默认只开放了2个常用端口(3389,22),需要自己到对应服务器管理的“安全组规则”中手动添加允许进入的端口,才能确保正常连接。
6.建立连接
现在用ssh连接frp服务器上的6000端口就实现了对客户端上22端口的反向代理,即实现内网穿透。
总结
-
连接失败时,要注意配置是否正确,特定端口号是否被允许放行。 更多的配置方法可以自行查找配置文档或者查看目录下frps_full.ini或frpc_full.ini来进行参考。