Centos frp内网穿透、后台运行方法

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