服务器选择说明: 公网:阿里云centos7 内网:centos7
官网信息 源码地址:https://github.com/fatedier/frp 文档说明:https://github.com/fatedier/frp/blob/master/README_zh.md 下载地址:https://github.com/fatedier/frp/releases
选择对应系统下载
wget https://github.com/fatedier/frp/releases/download/v0.29.0/frp_0.29.0_linux_amd64.tar.gz tar -zxf frp_0.29.0_linux_amd64.tar.gz cd frp_0.29.0_linux_amd64将 frps 及 frps.ini 放到具有公网 IP 的机器上 将 frpc 及 frpc.ini 放到处于内网环境的机器上
阿里云服务器配置 frps.ini 配置文件 默认端口7000,我这边不变,可以配置自己的端口
[common] bind_port = 7000启动命令:
./frps -c ./frps.ini
内网服务器配置 frpc.ini配置文件
[common] server_addr = x.x.x.x server_port = 7000 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000配置说明: server_addr:云服务器地址 server_port:和云服务器中frps.ini的bind_port值一致 [ssh]:一个配置组名,可以随意配置字符串,只要和其他组名区分开就行 type:tcp或者udp,映射web或者ssh端口都是tcp local_ip:需要映射的内网主机ip,本机写127.0.0.1就可以 local_port:需要映射的内网主机端口 remote_port:使用云服务器哪个端口访问该服务器
客户端启动命令:
./frpc -c ./frpc.ini &
备注: 阿里云需开通:7000、6000端口
自己电脑ssh远程访问内网服务器
ssh -oPort=6000 root@x.x.x.x
开机启动配置和后台运行 云服务:
cd /lib/systemd/system/ vim frps.service
添加一下内容
[Unit] Description=fraps service After=network.target syslog.target Wants=network.target [Service] Type=simple ExecStart=/home/software/frp_0.29.0_linux_amd64/frps -c /home/software/frp_0.29.0_linux_amd64/frps.ini [Install] WantedBy=multi-user.target备注: ExecStart的/home/software/frp_0.29.0_linux_amd64 换成自己frp的存放地址
命令就可以控制启动和停止:
systemctl start frps systemctl stop frps
设置开机启动:
systemctl enable frps
看日志命令:
tail -f nohup.out
查看是否启动成功
ps -ef|grep frps
root 9873 8418 0 14:32 pts/0 00:00:00 grep --color=auto frps root 28508 1 0 10:12 ? 00:00:02 /home/software/frp_0.29.0_linux_amd64/frps -c /home/software/frp_0.29.0_linux_amd64/frps.ini查看开机启动项命令:
systemctl list-unit-files
内网服务器和云端配置一样,只需要改一下启动配置文件
定时任务监听是否启动,云端服务器配置 我shell位置目录
cd /home/shell vim frp.sh
添加如下内容:
pid=$(ps -ef|grep frps|grep -v grep | awk '{print $2}') #日志输出 monitorLog=/home/shell/logs/frps.log Monitor() { echo "[info]开始监控frps...[$(date +'%F %H:%M:%S')]" echo "[info]frps进程ID为:$pid. " if [ -n "$pid" ];then echo "[info]frps进程ID为:$pid. 运行正常" else echo "[error]进程不存在! frps自动重启..." $(systemctl start frps) echo "[info]frp启动成功" fi echo "------------------------------" } Monitor>>$monitorLog修改权限:chmod u+x frp.sh
添加到定时任务
vim /etc/crontab
最后添加:
*/30 * * * * root /home/shell/frp.sh
半小时监控一次 加载任务,生效
crontab /etc/crontab