frp内网穿透、反向代理详细配置
frp下载地址
https://github.com/fatedier/frp/releases
官网文档
https://github.com/fatedier/frp/blob/dev/README.md
1、软件简介
提供内网端口或者服务映射到公网服务器上,仅需一台公网服务器即可实现 互联网访问本地服务 软件基本涵盖了所有架构和平台2、目录说明
以linux为例,文件目录和配置参数在架构下相同 frpc 客户端程序,frpc.ini 客户端默认配置文件,frpc_full.ini客户端配置参考文档。 frps 服务端程序,frps.ini 服务端默认配置文件,frpc_full.ini客户端配置参考文档。 systemd文件夹里存放客户端和服务端service服务,可以将其加入系统服务,方便管理3、基础配置
服务器配置 [common] bind_addr=0.0.0.0 #默认监听所有连接,可省略 bind_port = 7000 #监听端口 客户端基本配置 [common] server_addr = x.x.x.x #x.x.x.x为服务器ip server_port = 7000 #绑定服务器监听的端口 [test-rdp] #新建一个反向代理连接,名字是ssh,多个连接时不能同名 type = tcp #tcp连接 local_ip = 127.0.0.1 #客户端地址 local_port = 22 #客户端端口 remote_port = 22 #服务器端口4、运行
运行服务端 当前路径下执行:./frps 默认配置文件frps.ini,即./frps -c ./frps.ini #frps.ini可省略 运行客户端 当前路径下执行:./frpc 默认执行frps.ini文件,即./frpc -c ./frpc.ini #frpc.ini可省略 通过以上简单配置,客户端服务端分别运行后,就可以通过ssh xxxx:22 连接客户端5、进阶操作
5.1、开启客户端、服务端控制台
开启服务端控制台 frps.ini配置文件[common]键添加内容 dashboard_addr = 0.0.0.0 dashboard_port = 7500 dashboard_user = admin dashboard_pwd = admin 开启客户端控制台 frps.ini配置文件[common]键添加内容 admin_addr = 127.0.0.1 admin_port = 7400 admin_user = admin admin_pwd = admin5.2、开启token认证
frps.ini下[common]中添加 authentication_method = token #开启token,默认toekn认证,可省略 token = xiaoxin frpc.ini下[common]中添加 token = xiaoxin5.3、开启日志
服务端或客户端配置文件[common]键添加内容 log_file = ./frps.log #指定日志存放路径 log_level = info #设置日志级别,分别有trace, debug, info, warn, error log_max_days = 3 #日志存放时间5.4、开启服务端绑定端口白名单
frps.ini下[common]中添加 allow_ports = 2000-3000,3001,3003,4000-500005.5、设置客户端代理名称
frpc.ini下[common]中添加 user = abixiaoxin5.6、开启客户端访问失败重连
frpc.ini下[common]中添加 login_fail_exit = false #默认为true,表示不开启失败重连5.5、后台运行
执行 nohup ./frps -c frps.ini 2>&1 & 查找frp相关进程,获取frp进程号 ps aux|grep frp 结束frp相关进程号 kill -9 xxx5.6、导入配置文件
frpc或frps的配置文件可由多个文件组成,通过includes参数设置要包含的配置文件 如frpc.ini下[common]中添加 includes = ./frpc-ssh.ini includes = ./frpc-dns.ini5.7、添加系统服务(linux系统为例)
编辑systemd目录下的frpc.service[Unit]
Description=Frp Client Service
After=network.target
[Service]
Type=simple
#User=nobody #此处待确认,不注释服务无法启动
Restart=on-failure
RestartSec=5s
ExecStart=/home/kylin/frp/frpc -c /home/kylin/frp/frpc.ini #设置脚本执行路径
ExecReload=/home/kylin/frp/frpc reload -c /home/kylin/frp/frpc.ini #设置脚本重启执行路径
#LimitNOFILE=1048576
[Install]
WantedBy=multi-user.target
执行命令启动服务及加入开机自启
cp ./frpc.service /lib/systemd/system/ #将文件放到指定位置
systemctl daemon-reload #重新加载服务
systemctl enable frpc.service #将服务设置开启启动
systemctl start frpc.service #启动服务