本文最后更新于213 天前,其中的信息可能已经过时,如有错误请发送邮件到2098333240@qq.com
1.概述:
frp可以通过有公网IP的的服务器将内网的主机暴露给互联网,从而实现通过外网能直接访问到内网主机;frp有服务端和客户端,服务端需要装在有公网ip的服务器上,客户端装在内网主机上。
2.简单的图解:
3.frp的作用
1.比如数据库是内网数据,离开了公司就无法连接数据库,就可以使用内网穿透。
2.你需要访问的是内网的网页你只能登录特定的服务器或者电脑才可以访问,这样你也可以内网穿透。
4.准备工作:
1.一台有公网IP的服务器(阿里云、腾讯云等都行)
2.一台内网主机(内网服务器、或者本机)
3.下载frp,选择适合的版本下载
5.服务端搭建:
解压如下:
我这里服务器端和客户端都放在了/usr/java/frp/目录下,并解压frp
tar -zxvf frp_0.60.0_linux_amd64.tar.gz -C /opt
进入解压后的文件,修改服务端配置文件 frps.toml
[common]
# 服务端和客户端的TCP通信端口, 建议1024以上端口
bind_port = 7000
# 客户端访问服务端的密码
token = abcdefg
# 服务端仪表盘的端口, 可以用浏览器访问查看
dashboard_port = 7500
# 服务端仪表盘的用户密码
dashboard_user = admin
dashboard_pwd = admin123
# 日志保存设定, 保存位置、保存时长
log_file = ./frps.log
log_level = info
log_max_days = 7
启动命令(如果启动失败,需要先设置防火墙开放端口(服务器的防火墙、以及阿里云的防火墙)因为我这台是阿里云的服务器)
./frps -c frps.toml
启动成功可以去浏览器验证一下仪表盘页面
仪表盘访问地址:公网IP:[刚才配置的仪表盘端口]
输入刚才配置的用户名密码登录即可
至此服务器的安装配置和启动就完成了
6.内网Linux服务器(客户端)安装和配置
登录服务器,选择一个目录将当时下载的frp在上传一遍并解压,到内网服务器(客户端)。
安装步骤与服务端基本相同,除最后一步修改文件不同
服务端修改的是 frps.toml
客户端修改的是 frpc.toml
serverAddr = "118.31.114.85"
serverPort = 7000
auth.token = "abcdefg"
[[proxies]]
name = "xxjdmysql-tcp" #唯一
type = "tcp" #类型
localIP = "172.29.14.11" #要穿透的ip
localPort = 3306 #要穿透的端口
remotePort = 40005 #穿透出去的端口
此配置文件的意思是将服务端的3306
端口代理到本地虚拟机的40005
端口,也就是可以通过服务端的3306
端口SSH
连接到本地虚拟机
启动客户端
./frpc -c ./frpc.toml
OK,下面验证一下
我们先连一下穿透前的数据库,可以看到是连接不通的。
可以看一下穿透之后的地址,数据库就可以连通了。(防火墙记得要开放端口)
参考文章