FRP内网穿透搭建教程
官网
下载文件
我们来到Releases · fatedier/frp下载对应系统的客户端和服务端
服务端配置安装
下载后将服务端上传到服务器并解压,解压后可以看到如下文件,其中frpc
是客户端
的,frps
才是服务端
,所以frpc
我们可以删除掉,只保留frps服务端
。
配置
我们先给frps
添加权限
chmod +x /opt/frp_0.61.1_linux_amd64/frpschmod +x /opt/frp_0.61.1_linux_amd64/frpschmod +x /opt/frp_0.61.1_linux_amd64/frps
我们编辑服务端的frps.toml
配置文件,根据你的配置填写好后写入到frps.toml
中:
# frps 服务器绑定的地址,0.0.0.0 表示监听所有网络接口bindAddr = "0.0.0.0"# frps 服务器的监听端口,客户端 (frpc) 需要连接到此端口bindPort = 7000# kcpBindPort 用于 KCP 传输协议的端口,加速传输kcpBindPort = 7100# Web 管理页面的监听地址,0.0.0.0 表示所有 IP 可访问webServer.addr = "0.0.0.0"# Web 管理页面的端口号webServer.port = 7500# Web 管理页面的用户名webServer.user = "user"# Web 管理页面的密码webServer.password = "password"# 日志文件路径log.to = "/frpslog/frps.log"# 日志级别(可选值:trace, debug, info, warn, error)log.level = "info"# 日志保存的天数,超过 3 天的日志会被删除log.maxDays = 3# 认证方式,使用 token 进行身份验证auth.method = "token"# 认证的 token,frpc 客户端需要使用相同的 token 进行连接auth.token = "testtoken"# 允许的端口范围,客户端只能映射该范围内的端口allowPorts = [{ start = 6000, end = 7000},]# frps 服务器绑定的地址,0.0.0.0 表示监听所有网络接口 bindAddr = "0.0.0.0" # frps 服务器的监听端口,客户端 (frpc) 需要连接到此端口 bindPort = 7000 # kcpBindPort 用于 KCP 传输协议的端口,加速传输 kcpBindPort = 7100 # Web 管理页面的监听地址,0.0.0.0 表示所有 IP 可访问 webServer.addr = "0.0.0.0" # Web 管理页面的端口号 webServer.port = 7500 # Web 管理页面的用户名 webServer.user = "user" # Web 管理页面的密码 webServer.password = "password" # 日志文件路径 log.to = "/frpslog/frps.log" # 日志级别(可选值:trace, debug, info, warn, error) log.level = "info" # 日志保存的天数,超过 3 天的日志会被删除 log.maxDays = 3 # 认证方式,使用 token 进行身份验证 auth.method = "token" # 认证的 token,frpc 客户端需要使用相同的 token 进行连接 auth.token = "testtoken" # 允许的端口范围,客户端只能映射该范围内的端口 allowPorts = [ { start = 6000, end = 7000}, ]# frps 服务器绑定的地址,0.0.0.0 表示监听所有网络接口 bindAddr = "0.0.0.0" # frps 服务器的监听端口,客户端 (frpc) 需要连接到此端口 bindPort = 7000 # kcpBindPort 用于 KCP 传输协议的端口,加速传输 kcpBindPort = 7100 # Web 管理页面的监听地址,0.0.0.0 表示所有 IP 可访问 webServer.addr = "0.0.0.0" # Web 管理页面的端口号 webServer.port = 7500 # Web 管理页面的用户名 webServer.user = "user" # Web 管理页面的密码 webServer.password = "password" # 日志文件路径 log.to = "/frpslog/frps.log" # 日志级别(可选值:trace, debug, info, warn, error) log.level = "info" # 日志保存的天数,超过 3 天的日志会被删除 log.maxDays = 3 # 认证方式,使用 token 进行身份验证 auth.method = "token" # 认证的 token,frpc 客户端需要使用相同的 token 进行连接 auth.token = "testtoken" # 允许的端口范围,客户端只能映射该范围内的端口 allowPorts = [ { start = 6000, end = 7000}, ]
创建 systemd 服务文件
运行以下命令创建 frps
服务:
sudo nano /etc/systemd/system/frps.servicesudo nano /etc/systemd/system/frps.servicesudo nano /etc/systemd/system/frps.service
然后在文件中添加以下内容并保存:
[Unit]Description=FRP Server ServiceAfter=network.target[Service]Type=simpleExecStart=/opt/frp_0.61.1_linux_amd64/frps -c /opt/frp_0.61.1_linux_amd64/frps.tomlRestart=on-failureUser=rootWorkingDirectory=/opt/frp_0.61.1_linux_amd64LimitNOFILE=1048576[Install]WantedBy=multi-user.target[Unit] Description=FRP Server Service After=network.target [Service] Type=simple ExecStart=/opt/frp_0.61.1_linux_amd64/frps -c /opt/frp_0.61.1_linux_amd64/frps.toml Restart=on-failure User=root WorkingDirectory=/opt/frp_0.61.1_linux_amd64 LimitNOFILE=1048576 [Install] WantedBy=multi-user.target[Unit] Description=FRP Server Service After=network.target [Service] Type=simple ExecStart=/opt/frp_0.61.1_linux_amd64/frps -c /opt/frp_0.61.1_linux_amd64/frps.toml Restart=on-failure User=root WorkingDirectory=/opt/frp_0.61.1_linux_amd64 LimitNOFILE=1048576 [Install] WantedBy=multi-user.target
重新加载 systemd 并启用 frps
sudo systemctl daemon-reloadsudo systemctl enable frps --nowsudo systemctl daemon-reload sudo systemctl enable frps --nowsudo systemctl daemon-reload sudo systemctl enable frps --now
检查状态
sudo systemctl status frpssudo systemctl status frpssudo systemctl status frps
然后我们可以通过http://ip:7500
进行访问Web页面,用户名密码就是前边配置里设置的。
客户端配置安装
配置
解压我们下载的windows客户端文件,里边的文件和服务端一样都是有frps(服务端)
和frpc(客户端)
,我们现在是客户端,那么可以把frps(服务端)
文件删掉。
我们现在编辑frpc.toml
配置文件,你可以根据注释进行自定义配置:
# 远程 FRP 服务器的地址(frps 服务器地址)serverAddr = "127.0.0.1"# 远程 FRP 服务器的端口(frps 监听的 bindPort)serverPort = 7000# 日志文件路径log.to = "./frpc.log"# 日志级别(可选值:trace, debug, info, warn, error)log.level = "info"# 日志保留天数(超过 3 天的日志会被删除)log.maxDays = 3# 认证方式,必须与 frps 保持一致auth.method = "token"# 认证的 token,必须与 frps 的 token 一致auth.token = "testtoken"# 配置代理(支持多个代理,使用 [[proxies]] 进行定义)[[proxies]]# 代理名称(可自定义,但要唯一)name = "ad-tcp"# 代理类型(tcp/udp/http/https/stcp/xtcp)type = "tcp"# 本地服务的 IP(frpc 连接的本地服务)localIP = "127.0.0.1"# 本地服务的端口(frpc 连接的本地服务端口)localPort = 3000# 远程映射端口(外部访问时使用的端口)remotePort = 6100# 远程 FRP 服务器的地址(frps 服务器地址) serverAddr = "127.0.0.1" # 远程 FRP 服务器的端口(frps 监听的 bindPort) serverPort = 7000 # 日志文件路径 log.to = "./frpc.log" # 日志级别(可选值:trace, debug, info, warn, error) log.level = "info" # 日志保留天数(超过 3 天的日志会被删除) log.maxDays = 3 # 认证方式,必须与 frps 保持一致 auth.method = "token" # 认证的 token,必须与 frps 的 token 一致 auth.token = "testtoken" # 配置代理(支持多个代理,使用 [[proxies]] 进行定义) [[proxies]] # 代理名称(可自定义,但要唯一) name = "ad-tcp" # 代理类型(tcp/udp/http/https/stcp/xtcp) type = "tcp" # 本地服务的 IP(frpc 连接的本地服务) localIP = "127.0.0.1" # 本地服务的端口(frpc 连接的本地服务端口) localPort = 3000 # 远程映射端口(外部访问时使用的端口) remotePort = 6100# 远程 FRP 服务器的地址(frps 服务器地址) serverAddr = "127.0.0.1" # 远程 FRP 服务器的端口(frps 监听的 bindPort) serverPort = 7000 # 日志文件路径 log.to = "./frpc.log" # 日志级别(可选值:trace, debug, info, warn, error) log.level = "info" # 日志保留天数(超过 3 天的日志会被删除) log.maxDays = 3 # 认证方式,必须与 frps 保持一致 auth.method = "token" # 认证的 token,必须与 frps 的 token 一致 auth.token = "testtoken" # 配置代理(支持多个代理,使用 [[proxies]] 进行定义) [[proxies]] # 代理名称(可自定义,但要唯一) name = "ad-tcp" # 代理类型(tcp/udp/http/https/stcp/xtcp) type = "tcp" # 本地服务的 IP(frpc 连接的本地服务) localIP = "127.0.0.1" # 本地服务的端口(frpc 连接的本地服务端口) localPort = 3000 # 远程映射端口(外部访问时使用的端口) remotePort = 6100
启动
我们在文件夹里的空白处右键,选择【在终端中打开】
在终端中输入.\frpc.exe -c .\frpc.toml
启动服务。
然后就可以通过http://ip:6100
访问本地的3000
端口的服务了。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容