脚本适用于安装平台:CentOS、Debian、Ubuntu
FRP项目地址:https://github.com/fatedier/frp
FRP一键脚本地址:https://github.com/MvsCode/frps-onekey
1、FRP服务器端一键安装脚本
wget https://raw.githubusercontent.com/MvsCode/frps-onekey/master/install-frps.sh -O ./install-frps.sh
chmod 700 ./install-frps.sh
./install-frps.sh install
- 设置后台运行
- nohup ./frps -c frps.ini >/dev/null 2>&1 &
- FRP常用命令:
开启FRP:frps start
停止FRP:frps stop
重启FRP:frps restart
重启后所有offline的线路将被删除。
执行 ps aux 命令会kan'd看到如下进程
/usr/local/frps/frps -c /usr/local/frps/frps.ini
- 防火墙相关:
Debian或Ubuntu系统放行端口:ufw allow 端口号
CentOS系统放行端口:
firewall-cmd –zone=public –add-port=端口号/tcp –permanent
3、客户端FRPC配置模板
[common]
server_addr = aaa.naiyou99.tk #填写自己的服务器IP或者已解析的域名
server_port = 5443 #服务器提供的端口号
token = pw3FDsNfspaSbGVe #服务器提供的token
[HomePC] #这里对应你的客户端名称,可以自定义,每一个客户端名称不能重复
type = tcp #tcp协议
local_ip = 127.0.0.1 #填写内网IP,127.0.0.1为本机IP
local_port = 3389 #内网主机端口,确保端口已放行
remote_port = 3389 #远程端口/服务器端端口,确保端口已放行
[OpenWrt] # 为避免错误,一定需更改为比较特殊的名称,不能和服务器端其他配置重名.
type = http #http协议
local_ip = 192.168.2.1 #软路由IP地址
local_port = 80 #软路由默认端口
custom_domains = abc.naiyou99.tk #填写已解析的服务器域名
4、电脑端配置
- 下载电脑端文件:https://github.com/fatedier/frp
- windows电脑下载amd版本
- 将frpc.exe和 frpc.ini放入C:\Program Files (x86)\FRP目录,编辑 frpc.ini如下:
- [common]
server_addr = x.x.x.x
server_port = 5443
token = xxxxxxxxxxx[XG]
type = tcp
local_ip = 172.16.6.106
local_port = 6789
remote_port = 6001[GC]
type = tcp
local_ip = 127.0.0.1
local_port = 6789
remote_port = 6002
- 启动配置文件
- 可新建.bat文件并运行如下:
- c:
cd C:\Program Files (x86)\FRP
frpc.exe -c frpc.ini - 或直接运行命令:frpc.exe -c ./frpc.ini
- 不出意外的话,就可以用http://x.x.x.x:6001访问了,远程防火墙要放开对应的端口
特别注意:设置微软安全中心排除项,以免被当作病毒干掉
进一步,可以
windows安装frp实现内网穿透及服务自启动(主推有效)
将frpc注册成windows服务
官网NSSM – the Non-Sucking Service Manager下载NSSM,复制nssm.exe到frpc目录。
使用nssm将frpc注册成windows服务实现frpc随着windows开机启动而启动,以管理员权限运行cmd,执行下面命令。
nssm install frpc
将程序主文件和运行参数以及配置文件配好,下一步
将应用程序添加做成windows服务(未测试) 或 把任意exe程序注册成windows系统服务(未测试)
基于winsw,配置软件应用为windows的服务,方便开机启动,及服务管理 2022-7-10(重启有可能服务不能启动)
记录一次frp 的stcp模式部署实践(远程桌面)
在Centos linux 6及以前的版本,操控防火墙用的命令是iptables,但在Centos linux 7 及其以后的版本,操控防火墙的命令变化了,现在用firewall-cmd这个命令来操作防火墙了,现记录如下:
一、开放端口用 –add-port
firewall-cmd –permanent –add-port=8080/tcp
firewall-cmd –add-port=5212/tcp –permanent
二、移除端口用 –remove-port
firewall-cmd –permanent –remove-port=8080/tcp
三、刷新规则用 –reload
firewall-cmd –reload
注意:防火墙操作在执行 –add-port与–remove-port指令后一定要刷新一下
四、查询端口是否开放用 –query-port
firewall-cmd –list-ports
firewall-cmd –query-port=8080/tcp
五、防火墙其它管理操作命令
命令功能 | 命令 |
启动 firewalld.service服务 | service firewalld start |
停止firewalld.service服务 | service firewalld stop |
重启firewalld.service服务 | service firewalld restart |
查看firewall的状态 | firewall-cmd –state |
查看防火墙已有规则列表 | firewall-cmd –list-all |
查看firewall服务状态 | systemctl status firewalld |
六、备注
firwall-cmd:是Centos Linux 7.x提供的操作firewall的一个工具
–permanent:表示设置为持久有效,记忆技巧:per 自始至终 + man 逗留 + ent 具有…性质的 → 始终逗留的 → 持久的