×

frp内网穿透使用教程-新版

Legend Legend 发表于2023-11-21 12:48:27 浏览773 评论0

抢沙发发表评论

(linux通用)frp内网穿透使用教程-新版

*从0.52版本开始支持 TOML、YAML 和 JSON 进行配置。请注意,INI 已弃用,并将在未来版本中删除。正因为这样,我再一次重新制作新版教程

Mvscode的Github一键搭建:https://github.com/MvsCode/frps-onekey(之前找不到,现在又放出来了,有需要可以使用)
Fatedier的Github手动搭建:https://github.com/fatedier/frp/releases
新版本 frp 参考配置分享(杜老师说):https://dusays.com/636/
Jrohy一键安装最新版golang:https://github.com/Jrohy/go-install


golang(go)一键安装

安装/更新最新版golang

source <(curl -L https://go-install.netlify.app/install.sh)

查看安装的版本

go version

服务器手动搭建(linux)
注意:以下教程仅适用于v0.52或以上版本

1、在服务器用wget命令把压缩包下来并解压
*release找到后缀为linux-amd64的压缩包,复制下载直链

wget https://github.com/fatedier/frp/releases/download/v0.52.3/frp_0.52.3_linux_amd64.tar.gz

2、解压并删除压缩包

tar -zxvf frp_0.52.3_linux_amd64.tar.gz

rm frp_0.52.3_linux_amd64.tar.gz

3、重命名为frp并移动到 /etc 文件夹

mv frp_0.52.3_linux_amd64 frp

mv ./frp /etc

4、编辑 frps.toml 文件

nano /etc/frp/frps.toml
bindPort = 7000kcpBindPort = 7000
auth.token = "123456789"transport.tcpMux = true
webServer.addr = "0.0.0.0"
webServer.port = 8000
webServer.user = "admin"
webServer.password = "admin"

bindPort:tcp服务器代理端口(此项必须,其他可选)
kcpBindPort:kcp服务器代理端口(可以跟bindport共存端口)
auth.token:与客户端进行校验的令牌(需一致
transport.tcpMux:tcp流多路复用(优化传输,需一致)
webServer.addr:web面板的ip地址/域名
webServer.port:web面板的端口
webServer.user:web面板的用户名
webServer.password:web面板的密码

5、启动frp服务端(单次运行)

/etc/frp/frps -c /etc/frp/frps.toml

6、添加systemd自启动参数
(具体就不细说了,此前已说过systemd的用法,代码如下)

nano /etc/systemd/system/frps.service
[Unit]
Description=frps
StartLimitIntervalSec=0

[Service]
Type=simple
Restart=always
RestartSec=1
User=root
WorkingDirectory=/etc/frp
ExecStart=/usr/bin/env./frps -c ./frps.toml

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable frps
systemctl status frps
reboot

客户端配置win远程桌面(仅供参考)
*远程nas或者openart等软路由系统亦可,以此类推

1、release下载带Windows_amd64字样压缩包并解压

2、编辑 frpc.toml 文件配置以下参数

serverAddr = "1.2.3.4"
serverPort = 7000transport.protocol = "kcp"auth.token = "123456789"transport.tcpMux = true[[proxies]]
name = "test-tcp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 3389
remotePort = 6000

serverAddr:服务器ip地址/域名
serverPort:服务端连接端口
transport.protocol:传输协议选择(除tcp以外的协议要填)
auth.token:与服务端校验的令牌(需一致
transport.tcpMux:tcp流多路复用(优化传输,需一致)
name:设备命名,不能同名运行
type:连接类型
localIP:本地回环地址(默认)
localPort:本机映射端口
remotePort:远程映射端口

若启用tcp+udp远程传输,如下方所示:

serverAddr = "1.2.3.4"
serverPort = 7000transport.protocol = "kcp"auth.token = "123456789"transport.tcpMux = true[[proxies]]
name = "test-tcp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 3389
remotePort = 6000

[[proxies]]
name = "test-udp"
type = "udp"
localIP = "127.0.0.1"
localPort = 3389
remotePort = 6000

3、win徽标键+r一起按,输入cmd回车调出命令提示符
*默认路径为c盘用户名,管理员运行为system32

盘符:
cd 绝对路径
frpc.exe -c frpc.toml

#如果客户端放在非c盘的地方(例如放d盘),则需要运行一次盘符+冒号,把路径引导到目标盘(D:)