环境准备
- 公网IP服务器
- 虚拟机(内网)
- 内网穿透工具frp0.36.2版本地址
公网IP服务器(阿里云、腾讯云、华为云…)
- 上传frp_0.36.2_linux_amd64.tar.gz文件到服务器指定目录(如/home、/usr。。。。)
- 解压文件
tar xvf frp_0.36.2_linux_amd64.tar.gz
- 解压之后目录结构
- 执行命令
vim frps.ini
- 修改端口
默认端口7000
,不推荐使用默认的,注
尽量不要在.ini
文件中添加注释,否则会报错
[common] bind_port = 9900 #监控页面 dashboard_addr = 0.0.0.0 dashboard_port = 9901 dashboard_user = admin dashboard_pwd = admin
公网服务器需要在安全组中将frps的端口开放,不然客户端监听不到
- 启动frps方式
1、nohup
nohup ./frps -c frps.ini > log.file 2>&1 &
2、利用systemd
cd /etc/systemd/system # 创建一个文件 touch frps.service vim frps.service [Unit] # 服务名称,可自定义 Description = frp server After = network.target syslog.target Wants = network.target [Service] Type = simple #授权 User=root #非正常退出自动重启 Restart=on-failure #心跳时间 RestartSec=5s # 启动frps的命令,需修改为您的frps的安装路径 ExecStart = /home/frp/frpServer/frps -c /home/frp/frpServer/frps.ini [Install] WantedBy = multi-user.target
- 配置 frps 开机自启。
systemctl enable frps
客户端(虚拟机、内网服务器)
- 上传frp_0.36.2_linux_amd64.tar.gz文件到服务器指定目录(如/home、/usr。。。。)
- 解压文件
tar xvf frp_0.36.2_linux_amd64.tar.gz
- 解压之后目录结构
- 执行命令
vim frpc.ini
[common] server_addr = 公网IP server_port = 9900 #frps公网开放端口 [ssh] #代理名称可以随便起但是 代理名称必须唯一 type = tcp #协议类型,此处为http,还可以配置tcp,udp等 local_ip = 127.0.0.1 local_port = 22 #代理的本地端口,就是你访问本地项目时的端口 remote_port = 1822 # 通过frps侦听的远程端口 [mysql] type = tcp local_ip = 127.0.0.1 local_port = 3306 remote_port = 13306
1822、13306端口需要在公网服务器开放端口 否则无法连接
- 启动frpc
1.1、nohup
nohup ./frpc -c frpc.ini > log.file 2>&1 &
1.2、利用systemd
cd /etc/systemd/system # 创建一个文件 touch frpc.service vim frpc.service [Unit] # 服务名称,可自定义 Description = frp server After = network.target syslog.target Wants = network.target [Service] Type = simple #授权 User=root #非正常退出自动重启 Restart=on-failure #心跳时间 RestartSec=5s # 启动frpc的命令,需修改为您的frpc的安装路径 ExecStart = /home/frp/frpClient/frpc -c /home/frp/frpClient/frpc.ini [Install] WantedBy = multi-user.target
- 配置 frpc 开机自启。
systemctl enable frpc
用法
xshell 连接 ssh -p 1822 -i ~/.ssh/ root@公网IP navicat 连接 公网IP + 13306