Frps 是拥有公网IP的服务器(可以是Linux、Windows、Nas、OpenWrt、Ikuai(需要在Docker中运行))
Frpc 是没有公网IP的客户端(windows、Linux、Nas、OpenWrt、Ikuai(Docker中))
核心是两个ini文件,分别是Frpsini和Frpc.ini
除了配置文件及端口配置,启动逻辑基本相同
Linux Frps内网穿透——需要配合后台启动,以服务启动
windows Frp内网穿透——文件目录 直接输入Cmd启动,可开机启动
Nas群晖内网穿透——需要借助Docker进行安装,可开机启动
OpenWrt内容穿透——最简单,填好数据即可,可开机启动
Ikuai软路由内网穿透——可以借助Docker进行安装,可开机启动
1、启动Frps(以Linux及Windows为例)
1.1Linux下载并安装
下载linux frp服务(包含Frps及Frpc)
wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_amd64.tar.gz
解压缩安装
tar -zxvf frp_0.37.1_linux_amd64.tar.gz
进入安装目录
cd frp_0.37.1_linux_amd64
修改配置文件(配置文件在下文:1.5配置文件内容)
vi /usr/local/frp/frps.ini
vi具体操作逻辑可百度
测试运行
./frps -c ./frps.ini
内容为启动成功截图
Ctrl+C 退出程序,可在文末查看后台方法
1.2Windows下载并安装
地址下载:Releases · fatedier/frp · GitHub
下载并解压缩
修改配置文件(配置文件在下文:1.5配置文件内容)
windows Frp内网穿透——文件目录 直接输入Cmd
frps.exe -c frps.ini
frpc.exe -c frpc.ini
1.3openwrt启动
首先在系统-软件包中找到并安装frps
在填写对应配置(配置可参考下文:1.5配置文件内容)
1.4SynologyNas启动
Docker安装及部署就不展开了,可以自行查找
查找注册表
安装注意事项
- 使用DockerHost 相同网络
- 先不要启用自动重新启动(配置错误很难删除docker,可以调整好再启动)
- 环境变量决定配置文件ARG5=frpc/frps
- 上传配置文件到文件中(具体配置详见下文2.5、frpc配置文件)
- 储存空间映射很关键!
- 环境变量决定配置文件
放一个配置成功的文件(如果是frps,环境变量中的ARGS变量为frps)
如果出现报错,同样可以在日志中查看问题
1.5配置文件内容(所有端都相同)
[common]
# 服务端和客户端的tcp通信端口
bind_port = 7000
# 服务端和客户端udp通信端口,本案例中不需要
bind_udp_port = 7001
# 客户端访问服务端的密码
token = abc123456
# 服务端仪表盘的端口,可以用浏览器访问查看
dashboard_port = 8888
# 服务端仪表盘的用户密码,自己设定,这里随便写的
dashboard_user = abc
dashboard_pwd = abc123456
# 日志保存设定,保存位置、保存时长
log_file = ./frps.log
log_level = info
log_max_days = 7
2、启动frpc(以Opwnwrt、Nas为例)
2.1 linux 启动
除配置文件外与frps基本相同
2.2windows启动
除配置文件外与frps基本相同
2.3openwrt启动
首先在系统-软件包中找到并安装frpC
在服务-Frp内网穿透 中修改参数
添加端口映射服务
保存应用即可
如果失败可以日志中查看
2.4SynologyNas启动
Docker安装及部署就不展开了,可以自行查找
查找注册表
安装注意事项
- 使用DockerHost 相同网络
- 先不要启用自动重新启动(配置错误很难删除docker,可以调整好再启动)
- 环境变量决定配置文件ARG5=frpc/frps
- 上传配置文件到文件中(具体配置详见下文2.5、frpc配置文件)
- 储存空间映射很关键!
- 环境变量决定配置文件
放一个配置成功的文件
如果出现报错,同样可以在日志中查看问题
2.5、frpc配置文件(所有都通用)
server_addr = xxx. #frps服务端的地址(基本上是公网IP或者域名)
server_port = 7000 #frps服务端端口号(可以自己单独指定)
token = www. #frps服务端token认证 (这个可以加也可以不加,需要根据服务端配置文件来对应)
[nas] #穿透的名称
protocol = kcp #端口号协议
local_ip = 192.168.31.200 #本地IP (需要映射公网的IP)
local_port = 5001 #本地端口 (需要映射公网的内网端口)
remote_port = 5019 #公网端口号
custom_domains = dsm. #访问标识(可加可不加)
注意事项:
linux服务需要在后台运行
nohup ./frps -c ./frps.ini >/dev/null 2>&1 &
# nohup命令用于在后台运行程序,即使用户退出终端或注销也不会停止程序的运行。
# ./frps表示要运行的程序名为"frps”,"./"表示当前目录。
# -c ./frps.ini表示使用当前目录下的"frps.ini"文件作为程序的配置文件。
# >/dev/null表示将标准输出重定向到/dev/null,即不显示输出信息。
# 2>&1表示将标准错误输出重定向到标准输出,即也不显示错误信息。
# &表示将命令放到后台运行。
Linux可以 写成systemctl服务
vi /usr/lib/systemd/system/frps.service
打开后可编辑内容
[Unit]
Description=frps
After=network.target
[Service]
Type=simple
#这里的frp需要变更为自己frp路径
ExecStart=/usr/local/frp_0.37.1_linux_amd64/frps -c /usr/local/frp_0.37.1_linux_amd64/frps.ini
ExecStop=/bin/kill $MAINPID
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
刷新systemctl
systemctl daemon-reload
启动、开机启动
systemctl start frps && systemctl enable frps
查看运行状态
systemctl status frps
Windows服务可以开机启动并在后台运行
新建Bat文件,并把以下内容写入文件(后缀.bat)
D:
cd D:\AppGreen\frp_0.37.1_windows_amd64
frpc.exe -c frpc.ini
start.vbs--用来后台启动start.bat,使其无运行窗口(后缀.vbs)
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c D:\AppGreen\frp_0.37.1_windows_amd64\start.bat",0
然后打开任务计划程序,可以在win搜索中直接搜索 任务计划程序
- 右侧创建定时任务
- 创建触发器,触发条件,“启动时”
- 延迟任务时间“10s后自动启动”
- 创建操作,在程序和版本处添加vbs文件。
OpenWrt开机启动
SynologyNas可以自动启动
可用过该命令查看进程情况、并杀死该进程(root)
#查看frp 进程情况
ps -aux|grep frp | grep -v grep
# X为进场的PID
kill -x (pid)
开启穿透需要打开防火墙(需要先安装firewall、并以root用户进行)
开完防火墙还需要进行端口转发/开放防火墙。
#查看防火墙规则
firewall-cmd --list-all
#查询端口是否开放
firewall-cmd --query-port=8080/tcp
#开放80端口
firewall-cmd --permanent --add-port=80/tcp
#移除端口
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
端口成功添加
安装依赖
仪表板可以看端口情况
版权归原作者 丶冒泡 所有, 如有侵权,请联系我们删除。