docker部署frps实现内网穿透的一些tips
因为nas有一些需求,要实现内网穿透,之前一直用nps,但是最新的版本有bug,始终无法正常部署,于是转向frps。不同于nps,frps没有web设置界面,需要些配置文件来进行设置,查阅了一些资料,不同程度的有些错误,所以记录一下。
服务器端操作系统为Ubuntu 20.04.6 LTS,已部署docker环境。
1、拉取镜像,写文章时最新版本是0.64.0,但是居然没有last标签,必须写明版本号
docker pull fatedier/frps:v0.64.0
2、服务器端配置文件。查资料的时候,这个配置文件命名五花八门,有.toml的,有.ini的,内容也是各有不同,关键是参数名各家都不同,经过查阅官网资料以及尝试,给出可正常使用的版本如下:
# 服务器的公网IP,这里不要动
bindAddr = "0.0.0.0"
# 与客户端建立连接的端口,根据自己的需要改
bindPort = 8848# 服务端控制面板,通过web可以查看连接信息,不需要可以不设置
webServer.addr = "0.0.0.0"
# 访问控制面板的端口号,可以根据需要自己改
webServer.port = 23608
# 控制面板的用户名和密码,暴露在公网的服务请使用严谨一些的用户名密码,自己修改
webServer.user = "xxxxxxxx"
webServer.password = "xxxxxxxxxxxxxxx"# 配置服务端的鉴权,这里使用Token进行鉴权,客户端必须用指定的Token才可以与服务端建立连接,防止滥用。
auth.method = "token"
auth.token = "E]Pc+pMdfy&$;akMhc48e=FMv"# 配置服务端只打印warn级别的日志,并将日志输出到指定目录(注意这个目录指向的是容器内的目录)
log.level = "warn"
log.to = "/opt/frps/frps.log"
以上内容保存为docker/frps/frps.toml。
3、运行
docker run --restart=always --network host -d -v /docker/frps/frps.toml:/conf/frps.toml --name frps fatedier/frps:v0.64.0 -c /conf/frps.toml
至于客户端fpc(NAS环境)的部署,就和服务器端大同小异,主要是配置文件的内容,本人使用的如下:
# 与服务端建立连接,这里是服务器真实公网ip,端口要与服务器端相同
serverAddr = "xxxxxxxxxxxxxxxxxx"
serverPort = 8848# 配置Token鉴权,要与服务端一致
auth.method = "token"
auth.token = "E]Pc+pMdfy&$;akMhc48e=FMv"# 配置日志信息
log.level = "warn"
log.to = "/conf/frpc.log"# 第一条穿透起名为QHDSM,,基于TCP协议将本机的5001端口映射到公网的8901。如果需要,可以用annotations="xxxxx"来写一些简单的备注
[[proxies]]
name = "QHDSM"
type = "tcp"
localIP = "192.168.0.88"
localPort = 5001
remotePort = 8901#第二条穿透
[[proxies]]
name = "NASTools"
type = "tcp"
localIP = "192.168.0.88"
localPort = 3000
remotePort = 8903
更多推荐


所有评论(0)