frp 是一个高性能的反向代理应用,支持 tcp, udp, http, https 协议。
利用处于防火墙后的机器,对外网环境提供 http 或 https 服务。
对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。
利用处于防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司局部环境的主机。
官方连接:https://github.com/fatedier/frp
wget https://github.com/fatedier/frp/releases/download/v0.41.0/frp_0.41.0_linux_amd64.tar.gz
tar -zxvf frp_0.41.0_linux_amd64.tar.gz
“frps”、“frps_full.ini”、"frps.ini"是放在服务器端运行的可执行文件和配置文件。
“frpc”、“frpc_full.ini”、"frpc.ini"是放在客户端端运行的可执行文件和配置文件。
[common]
bind_addr= 0.0.0.0 #无需修改
bind_port = 7000 #服务端端口号
token = 123456 #自定义token值,客户端要与这里的token一致
dashboard_port = 7500 #可视化界面的访问端口
dashboard_user = admin #登录名
dashboard_pwd = admin #密码
vim /lib/systemd/system/frps.service
[Unit]
Description=fraps service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
#启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/自己的路径/frps -c /自己的路径/frps.ini
[Install]
WantedBy=multi-user.target
systemctl start frps #启动服务
systemctl enable frps #开机自启动
systemctl restart frps #重启服务
systemctl stop frps #停止服务
systemctl status frps #查看启动状态
启动后查看状态是这样的就是正常启动,如果启动提示Warning: frps.service changed on disk. Run 'systemctl daemon-reload' to reload units. 需要执行 systemctl daemon-reload 来解决
客户端下载与服务端一模一样,如果是其他系统选择其他系统版本下载即可,此处不在进行赘述
[common]
server_addr = ********* #自己云服务器ip
server_port = 7000 #服务端端口
token = 123456 #自定义token,需要与服务端一致
[ssh]
type = tcp #协议类型
local_ip = 127.0.0.1 #本机ip
local_port = 22 #需要映射的端口号
remote_port = 6000 #服务器映射的端口号
[tomcat]
type = tcp #协议类型
local_ip = 127.0.0.1 #本机ip
local_port = 8080 #需要映射的端口号
remote_port = 8085 #服务器映射的端口号
#如果需要映射多个端口则继续定义即可
vim /lib/systemd/system/frpc.service
[Unit]
Description=frapc service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
#启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/自己的路径/frpc -c /自己的路径/frpc.ini
[Install]
WantedBy=multi-user.target
systemctl start frpc #启动服务
systemctl enable frpc #开机自启动
systemctl restart frpc #重启服务
systemctl stop frpc #停止服务
systemctl status frpc #查看启动状态
如果服务端和客户端都启动成功没有问题,但是打不开此页面请见查你的云服务器是否打开了此端口的访问权限