Windows Server 2019 配置Frp教程(防坑篇)


2019/10/17更新内容,好久都没有玩FRP了,今天重新弄了一下,写了4000字的配置文章比一下内容更加详细。

如果有无法解决的问题,可以在博客下方留言,我们一起解决,助人为乐,是我的梦想


记得点赞收藏哟!

今天我配置frp,实在是被“坑”到了,下载的压缩包居然没有frpc.exe文件,傻乎乎的把frps.exe当成了客户端,实在是太坑爹了,哎。

记得点赞收藏哟!

一定要注意!!!!,在下载frp客户端的时候一定要把杀毒软件关了,比如360.

记得点赞收藏哟!

今天在装frp的时候,frpc.exe客户端程序偷偷被360杀了,电脑也没经过,我啥也没发现,真的是气。害我搞了几个小时才发现问题。

记得点赞收藏哟!

各位一定要注意一下。。。。

frpc是客户端,frps是服务器!!!!

好了,感觉文章太少了,多增加一点文字,介绍配置Frp的方式方法。

首先,安装frp服务器,有几个方法。
1.通过AppNode 自带的图像化界面安装,AppNode里面frp的图形化客户端和服务器,比较适合小白,而且有非常详细的官方使用说明。
2.手动安装,也很简单,简单的配置一下就可以让服务器运行。百度上一大堆教程,但是配置文件却很少有说的详细的。安装方法就几个步骤,不详说了。分享一下配置文件。

[common]
# 服务端控制面板访问账号和密码,不设置则默认admin
#注意以及几个是我随便填写的,请根据自己的实际情况,自行修改。
dashboard_user = user
dashboard_pwd = password
# 客户端连接令牌
token = access_token         //连接密码
# 路由地址
subdomain_host = frp.x.com   //改成你服务器的IP地址!!!  

###########下列配置默认即可,无需改动###############
#穿透监听端口与地址(0.0.0.0表示允许任何地址)   //以下链接默认就好,不用配置
bind_addr = 0.0.0.0
bind_port = 7000
# udp协议监听端口
bind_udp_port = 7001
#udp协议支持kcp模式。kcp的运行端口,不设置表示禁用。可以与'bind_port'端口一致
kcp_bind_port = 7000
#虚拟主机穿透监听端口(指http与https的访问端口)
vhost_http_port = 80
vhost_https_port = 443
#服务端控制面板访问端口
dashboard_addr = 0.0.0.0
dashboard_port = 7500
# frp日志记录路径
log_file = ./frps.log
# 日志记录级别(trace, debug, info, warn, error)
log_level = info
# 日志记录滚动天数
log_max_days = 3
# 客户端与服务端连接心跳检测
heartbeat_timeout = 90
# 允许客户端使用的穿透端口,不设置则全部允许
#allow_ports = 1000-100000
# 穿透服务允许的连接数
max_pool_count = 5
# 单个客户端允许建立的穿透服务,0为不限制
max_ports_per_client = 0
# 连接超时
authentication_timeout = 900
# tcp流多路复用(可以理解为优化传输) 
tcp_mux = true

2019/10/17修改 这个配置文件有些复杂,复杂到我自己都难以配置了

[common]
<font color="#ff0000">server_addr = freenat.bid</font>
#frps服务端地址
<font color="#ff0000">server_port = 7000</font>
#frps服务端通讯端口,客户端连接到服务端内网穿透传输数据的端口
<font color="#ff0000">privilege_token = frp888</font>
#特权模式密钥,客户端连接到FRPS服务端的验证密钥
log_file = frpc.log
#日志存放路径
log_level = info
#日志记录类别,可选:trace, debug, info, warn, error
log_max_days = 7
#日志保存天数
login_fail_exit = false
#设置为false,frpc连接frps失败后重连,默认为true不重连
protocol = kcp
#KCP协议在弱网环境下传输效率提升明显,但是对frps会有一些额外的流量消耗。服务端须先设置kcp_bind_port = 7000,freenat.bid服务端已设置支持

[http_dsm]
#穿透服务名称,不能和其他已建立的相同,使用公共服务器的建议修改成复杂一点的名称,避免与其他人冲突,很多路由器内置frpc的默认服务名称为[web],很容易很其他人冲突
type = http
#穿透协议类型,可选:tcp,udp,http,https,stcp,xtcp,这个设置之前必须自行搞清楚应该是什么
local_ip = 192.168.1.2
#本地监听IP,可以是本机IP,也可以是本地的局域网内某IP,例如你的局域网是互通的,你可以在路由器上安装frpc,然后local_ip填的群晖的ip,这样也可以把群晖穿透出去
local_port = 5000
#本地监听端口,通常有ssh端口22,远程桌面3389等等
use_compression = true
#对传输内容进行压缩,可以有效减小 frpc 与 frps 之间的网络流量,加快流量转发速度,但是会额外消耗一些 cpu 资源
use_encryption = true
#将 frpc 与 frps 之间的通信内容加密传输
custom_domains = dsm.freenat.bid
#自定义域名访问穿透服务,一般域名设置了二级域名泛解析以后,这里填*.freenat.bid即可,*自定义,如果不想用域名或者自行搭建frps没有域名,则穿透协议类型选择tcp,见以下tcp部分详解
#通过app访问群晖的注意,DS file,DS video,DS audio,DS finder里地址栏默认都是5000端口,穿透后地址栏须填写为【穿透域名:80】,DS photo由于本地local_port为80,穿透后也为80的话直接写域名地址即可

[https_dsm]
type = https
local_ip = 192.168.1.2
local_port = 5001
use_compression = true
use_encryption = true
custom_domains = dsm.freenat.bid
#以上https配置同http,群晖注意开启https(默认5001端口),证书在客户端即群晖端配置,无证书的注意浏览器访问时添加信任

[http_transmission]
type = http
local_ip = 192.168.1.2
local_port = 9091
use_compression = true
use_encryption = true
custom_domains = tr.freenat.bid
#transmission下载客户端

[http_rutorrent]
type = http
local_ip = 192.168.1.2
local_port = 80
use_compression = true
use_encryption = true
custom_domains = rt.freenat.bid
#rutorrent下载客户端,用Download Station的类似,注意端口


[http_blog]
type = http
local_ip = 192.168.1.2
local_port = 80
use_compression = true
use_encryption = true
custom_domains = blog.freenat.bid
#群晖里的web搭建的博客,怎么搭建百度去

[http_plex]
type = http
local_ip = 192.168.1.2
local_port = 32400
use_compression = true
use_encryption = true
custom_domains = plex.freenat.bid
#plex视频服务器,外面直接通过plex看群晖内视频

[https_feixun]
privilege_mode = true
type = http
local_ip = 192.168.1.1
#路由器ip
local_port = 80
use_compression = true
use_encryption = true
authentication_timeout = 0
custom_domains = feixun.freenat.bid
#穿透路由器


[tcp_ssh]
#群晖ssh连接
type = tcp
local_ip = 192.168.1.2
local_port = 22
use_compression = true
use_encryption = true
remote_port = 3463
#远程端口,一般tcp和udp需要设置,不需要设置custom_domain,访问时为【frps服务器地址+远程端口】,没有域名的用这种方式通过【frps服务器地址+远程端口】即可实现访问

[udp]
type = udp
local_ip = 192.168.1.2
local_port = 53
use_compression = true
use_encryption = true
remote_port = 3453
访问时为【frps服务器地址+远程端口】
2、frps服务端

自行搭建服务端配置参考(必须有公网ip)
[common]
bind_addr = 0.0.0.0
#服务器IP,0.0.0.0为服务器全局所有IP可用,假如你的服务器有多个IP则可以这样做,或者填写为指定其中的一个服务器IP,支持IPV6
bind_port = 7000
#通讯端口,用于和客户端内网穿透传输数据的端口,可自定义
bind_udp_port = 7001
#UDP通讯端口,用于点对点内网穿透
kcp_bind_port = 7000
#用于KCP协议UDP通讯端口,在弱网环境下传输效率提升明显,但是会有一些额外的流量消耗。设置后frpc客户端须设置protocol = kcp
vhost_http_port = 80
#http监听端口,注意可能和服务器上其他服务用的80冲突,比如centos有些默认有Apache,可自定义
vhost_https_port = 443
#https监听端口,可自定义
dashboard_port = 7500
#通过浏览器查看 frp 的状态以及代理统计信息展示端口,可自定义
dashboard_user = admin
#信息展示面板用户名
dashboard_pwd = admin
#信息展示面板密码
log_max_days = 7
#最多保存多少天日志
privilege_token = frp888
#特权模式认证密钥
privilege_allow_ports = 1-65535
#端口白名单,为了防止端口被滥用,可以手动指定允许哪些端口被使用
max_pool_count = 100
#每个内网穿透服务限制最大连接池上限,避免大量资源占用,可自定义
authentication_timeout = 0
#frpc 所在机器和 frps 所在机器的时间相差不能超过 15 分钟,因为时间戳会被用于加密验证中,防止报文被劫持后被其他人利用,单位为秒,默认值为 900,即 15 分钟。如果修改为 0,则 frps 将不对身份验证报文的时间戳进行超时校验。国外服务器由于时区的不同,时间会相差非常大,这里需要注意同步时间或者设置此值为0
log_file = frps.log
log_level = info

缺啥复制粘贴啥。好好配置,尽量让服务器能运行。

好了,下面介绍第三种配置方法。

当然是一键脚本啦!!!

我今天偶然在魔微部落习得的,一分钟搭建好!!!!

wget -N --no-check-certificate git.io/f.sh && chmod +x f.sh && bash f.sh install

非常傻瓜化,一键配置,而且我试过,完美运行。

介绍完了服务端,下面介绍客户端

首先,在Frp官网上下载客户端+服务端文件。

https://github.com/fatedier/frp/releases

记得点赞收藏哟!

然后配置frpc.ini文件

# 绑定你的 frps 服务器:
# 1.服务器IP地址或域名 2.密钥 3.端口
# 如网络卡慢,可删除最后一行注释标签“#”开启kcp传输

[common]
server_addr = 101.205.89.245
token = 12345678
server_port = 7000
# protocol = kcp

# http 端口转发设置
# custom_domains 可以是域名或者服务器 IP
# 如需开启密码访问,删除最后两行注释标签“#”即可
[http_001]
type = http
local_port = 80
custom_domains = www.520iloveyou.vip
# http_user = admin
# http_pwd = admin
# https 端口转发,需要使用时删除掉每行注释标签“#”即可

# [https_001]
# type = https
# local_port = 443
# custom_domains = www.520iloveyou.vip(如果去掉#注释,这里也需要修改,如果没有则不需要)
# 开启本机文件共享

[share_file]
type = tcp
remote_port = 8080
plugin = static_file
# 要对外暴露的文件目录
plugin_local_path = D:\
plugin_strip_prefix = static
plugin_http_user = admin
plugin_http_passwd = admin
# 修改链接内为自己的服务器IP,通过浏览器访问 http://520iloveyou.vip:8080/static/
# 来查看位于 C:\ 目录下的文件,会要求输入已设置好的用户名和密码(如不需要可以注释掉)
# 提示:此功能可以用于搭建静态博客

# 远程桌面,无需修改。如不需要此项可在每行前加“#”号注释掉
# 默认远程桌面连接端口为:3389

[remote_desktop]
type = tcp
local_port = 3389
remote_port = 3389

最后运行CMD在文件夹下运行就好了

分享一下官方说明文档:https://github.com/fatedier/frp/blob/master/README_zh.md

Last modification:October 17th, 2019 at 08:43 pm
如果觉得我的文章对你有用,请随意赞赏

Leave a Comment