frp转发
简介
注:本博文写的不是很清晰,建议多看官方文档( https://github.com/fatedier/frp )多实践。
frp可以进行端口转发。frp有linux,windows等版本,根据需要可到GitHub下载。
frp里面又有服务端(frps.ini)和客户端(frpc.ini)的配置文件。
linux做服务端进行转发
下载frp(也可以根据自己的需求去GitHub找,GitHub挂全局代理下载很快的,注:以下是截止2021.1.8的最新版)
wget https://github.com/fatedier/frp/releases/download/v0.34.3/frp_0.34.3_linux_amd64.tar.gz
解压
tar zxf frp_0.34.3_linux_amd64.tar.gz
修改frps.ini即可,frpc.ini不用管(注:可按需进行配置,不需要的配置直接删掉就是也不影响)
[common]
# frps与frpc通讯的端口
bind_port = 7000 #frp的服务端口,注意区分转发端口和服务端口,是不同的概念
# http请求监听的端口,关于此设置博主未实践过
vhost_http_port = 8888
#端口白名单,不设置就默认都可以
allow_ports = 2000-3000,6081,4000-50000 #端口白名单
# dashboard的用户名密码以及端口,即web可视界面,访问http://ip:7500,使用下面设置的用户和密码登录即可,访问效果图如下
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = 123456
token = 123456
# XXX.com,和*.XXX.com都必须可以解析到本服务器IP,注:关于域名这个博主也没有实践过
subdomain_host = XXX.com
服务端启动
./frps -c frps.ini
windows客户端接收frp转发
客户端是linux还是windows就要使用对应的frp,比如windows的客户端接收转发就要使用windows版本的frp(GitHub都有可以下)
客户端就只需要配置frpc.ini即可
frpc配置:
[common]
server_addr = XX.XX.XX.XX
server_port = 7000
token = 123456 //与服务端的token一致,不然匹配失败无法接收转发
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 444 //本地监听端口
remote_port = 9000 //接收服务器那边9000端口的流量
开启接收:
frpc.exe -c frpc.ini
效果如下(tips:别cmd敲出来,再cd命令访问到该文件夹,麻烦,直接到该文件夹的地址栏敲cmd回车,然后再敲上面的接收命令即可):
设置开机启动(关于这个没有实践过,纯搬运,如果读者没有成功勿喷):
创建后台启动模板
vi /etc/systemd/system/frp.service
frp.service内容如下
[Unit]
Description=frps
After=network.target
[Service]
ExecStart=/root/frp_0.32.0_linux_amd64/frps -c /root/frp_0.32.0_linux_amd64/frps.ini
[Install]
WantedBy=multi-user.target
启动测试
systemctl start frp.service
开机自启
systemctl enable frp.service
分享一个配置例子
此例子配合spynote食用实测完全ok
服务端是debian9
# frps.ini
[common]
bind_port = 7000
vhost_http_port = 6081
max_pool_count = 20
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = 123456
token = fuzamima123
客户端是win10
[common]
server_addr = x.x.x.x
server_port = 7000
token = fuzamima123
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 444
remote_port = 9000
多端口映射
在frpc.ini:
[common]
server_addr = x.x.x.x
server_port = 7000
token = fuzamima123
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 444
remote_port = 9000
[test1]
type = tcp
local_ip = 127.0.0.1
local_port = 445
remote_port = 9001
[test1]
type = tcp
local_ip = 127.0.0.1
local_port = 446
remote_port = 9002
······
报错提示
1、login to server failed: EOF
vim frpc.ini
frp客户端和服务端的common下添加:
tls_enable = true
参考&&致谢
作者:荒
除特别声明为原创博文外,均可转载,也欢迎转载,未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利,谢谢您的配合。