frp下载地址:https://github.com/fatedier/frp
一、编辑frps.ini文件,并根据需求写入以下配置
[common]
# 通用配置段
bind_addr = 0.0.0.0
# 绑定的IP地址,支持IPv6,不指定默认0.0.0.0;
bind_port = 7000
# 服务端口;
token = *
# 客户端与服务端通信的身份验证令牌
# 虚拟主机;自定义域名访问内网的WEB服务(如果要启用域名访问就必须要开启以下两个,https需要就开不需要可以不开,80端口占用就修改成别的端口)
vhost_http_port = 80
vhost_https_port = 443
# 自定义二级域名;这里需要在dns解析处设置泛解析给服务器IP
subdomain_host = *.com
# 作用了这个可以不使用虚拟主机
# 日志配置文件
log_file = ./frps.log
# 日志文件,不指定日志信息默认输出到控制台;
log_level = info
# 日志等级,可用等级“trace, debug, info, warn, error”;
log_max_days = 3
# 日志保存最大保存时间;
# 可以通过浏览器查看frp的状态可以流量信息
dashboard_port = 7500
# WEB端口
dashboard_user = *
# WEB账户
dashboard_pwd = *
# WEB密码
# 指定允许客户端使用的端口范围,未指定则没有限制;
allow_ports = 10001-10020,9586
# 代理池上线
max_pool_count = 100
二、安装Sreen,使用另外的窗口运行frps
# 使用yum安装
yum -y install sreen
# 开启一个screen窗口
screen -S frp
# 启动frps
./frps -c frps.ini
# 安装键盘的Ctrl+A+D 保存并退出当前窗口
三、编辑客户端配置
[common]
server_addr = *
# 服务器地址
token = *
# 链接密钥
server_port = 7000
# 链接端口
# 客户端日志
log_file = ./frpc.log
# 指定日志文件;
log_level = info
# 指定日志等级,可用等级“trace, debug, info, warn, error”;
log_max_days = 3
# 指定日志保存天数;
# 示例模板
[*]
# 代理配置段名称
type = tcp
# 配置协议,默认tcp,可选tcp,udp,http,https,stcp,xtcp;
local_ip =
# 映射本地地址
local_port =
# 映射本地端口
remote_port =
# 在服务端开启的远程端口
use_compression = true
# 是否开启压缩,默认不开启
use_encryption = true
# 是否加密服务端和客户端的通信信息,默认为不加密
# 示例模板
[*]
# 代理配置段名称
type = http
# 配置协议,默认tcp,可选tcp,udp,http,https,stcp,xtcp;
local_ip =
# 映射本地地址
local_port =
# 映射本地端口
remote_port =
# 在服务端开启的远程端口
use_compression = true
# 是否开启压缩,默认不开启
use_encryption = true
# 是否加密服务端和客户端的通信信息,默认为不加密
http_user = *
# web账户
http_pwd = *
# web密码
subdomain = *
# 服务端配置了subdomain_host泛解析域名,这里设置第三级域名,如直接填写Demo,则配置完成后的完整域名为Demo.*.com
custom_domains = *
# 和subdomain二选一,这里配置整段三级域名,比如test.test.com
四、在windows端启动Frpc客户端
编辑一个VBS文件,将VBS文件做自启,或者放在windows的系统启动目录中。
set ws=WScript.CreateObject(“WScript.Shell”)
ws.Run “frpc.exe -c frpc.ini”,0 # 填写绝对路径
五、在Linux端启动Frpc客户端
Centos7
在/usr/lib/systemd/system目录编辑后缀为.service服务文件,编写以下命令
[Unit]
Description=frpc
After=network.target network-online.target syslog.target
Wants=network.target network-online.target
[Service]
Type=simple
ExecStart=/usr/local/frp/frpc -c /usr/local/frp/frpc.ini
ExecStop=/usr/local/frp/bin/stop.sh
Execrestart=/usr/local/frp/bin/restart.sh
[Install]
WantedBy=multi-user.target
------------------------------------------------------------------------
# 赋予文件执行权限
chmod +x frp.service
# 在/usr/local/frp/bin/编辑停止文件;vi stop.sh
# 停止文件
#!/bin/bash
pkill -f /usr/local/frp/frpc
# 重启文件
#!/bin/bash
pkill -f /usr/local/frp/frpc
/usr/local/frp/frpc -c /usr/local/frp/frpc.ini
# 编辑完成后重置systemctl
systemctl daemon-reload
# 将frp.service做开机自启
systemctl enable frp.service
Centos6
# 编辑frp.service文件
#!/bin/bash
#
# auditd This starts and stops auditd
#
# chkconfig: 2345 11 88
# description: This is the script file that controls FRP
#
#
export frp_home=/usr/local/frp
#####
case "$1" in
start)
echo "正在开启frp"
${frp_home}/bin/start.sh &
;;
stop)
echo "正在关闭frp"
${frp_home}/bin/stop.sh &
;;
restart)
echo "正在关闭frp"
${frp_home}/bin/stop.sh &
echo "正在开启frp"
${frp_home}/bin/start.sh &
;;
status)
echo "查看frp日志"
${frp_home}/bin/status.sh &
;;
esac
------------------------------------------------------------------------------------
填写启动、停止、重启等脚本文件
# start.sh
#!/bin/bash
/usr/local/frp/frpc -c /usr/local/frp/frpc.ini > /usr/local/frp/log 2>&1 &
# stop.sh
#!/bin/bash
pkill -f /usr/local/frp/frpc
# restart.sh
#!/bin/bash
pkill -f /usr/local/frp/frpc
/usr/local/frp/frpc -c /usr/local/frp/frpc.ini > /usr/local/frp/log 2>&1 &
# status.sh
#!/bin/bash
cat /usr/local/frp/log
# 将frp文件做开机自启
将frp开机自启动
chkconfig --add frp.service
chkconfig frp.service on
作者:Zleoco,如若转载,请注明出处:https://www.zleoco.com/?p=221