0
点赞
收藏
分享

微信扫一扫

群晖安装frp实现内网穿透(2022)

全栈学习笔记 2022-01-22 阅读 214

一、环境

  1. 云服务器(轻量应用服务器)
  2. 黑群晖DSM 6.2-23739
  3. frp版本0.38.0

二、云服务器frps配置

  1. 云服务器用的是腾讯云的,直接用wget去GitHub下载比较慢,最后还卡住了。​先下载下来拷到服务器上,此处推荐用FinalShell,自带文件管理,对新手太友好了,传文件非常方便(当然用WinSCP也可以但要再开一个软件),再也不用vi/vim啥的了,自己电脑上编辑好,拉进去,或者直接在软件里改就行。
    wget https://github.com/fatedier/frp/releases

    下载下来的文件解压,直接传到/usr/local里。
    当然命令行解压也可以,解压到指定目录
    tar -xvf frp_0.38.0_linux_amd64.tar.gz -C /usr/local
  2. 配置服务文件frp.service
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=simple
ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
StandardOutput=syslog
StandardError=inherit

[Install]
WantedBy=multi-user.target

其中ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini改成对应的文件地址。

  1. 把文件frp.service放到指定位置
    /usr/lib/systemd/system/frp.service

  2. 重新加载服务的配置文件
    systemctl daemon-reload

  3. 启动/停止/重启,查看状态,设置开机自启/关闭开机自启

systemctl start frp
systemctl stop frp
systemctl restart frp
systemctl status frp
systemctl enable frp
systemctl disable frp
  1. 服务端 frps.ini配置
[common]
bind_port = 10001 # 监听端口,客户端配置对应端口
vhost_http_port = 8080 # 当客户端配置type为http时使用这个端口访问
vhost_https_port = 8080 # 当客户端配置type为https时使用这个端口访问
token = csdn # 认证token,客户端配置对应token

dashboard_port = 10000 # frp控制台,看起来更直观,建议开起来
dashboard_user = csdn
dashboard_pwd = csdn # dashboard的用户名、密码
log_file = ./frps.log # 日志文件记录位置
log_level = info # 日志级别
log_max_days = 3 # 记录日志天数

三、群晖docker配置frpc

  1. docker注册表搜frp,之前的教程基本用的是oldiy那个,已经很久没更新了,红框这个是最新0.38.0版本的
    在这里插入图片描述
  2. 配置frpc.ini,这里放的路径是我自己新建的文件夹docker/frp
[common]
server_addr = 124.1.1.1 #腾讯云服务器的外网
server_port = 10001 #服务器配置的监听端口
token = csdn
[nas]
type = http #http方式,下面会介绍一种tcp方式
local_ip = 192.168.199.199 #群晖在内网使用的ip
local_port = 5000 #本地端口

custom_domains = 124.1.1.1 #域名,无域名配置服务器ip

# 此种配置方式与frps.ini中配置的vhost_http_port相关联,访问时使用124.1.1.1:8080访问
  1. 为了更好理解配置两个ini文件,下面示例另一种WEB访问方式,使用tcp
[common]
server_addr = 124.1.1.1 #腾讯云服务器的外网
server_port = 10001 #服务器配置的监听端口
token = csdn
[nas]
type = tcp #tcp方式
local_ip = 192.168.199.199 #群晖在内网使用的ip
local_port = 5000 #本地端口
remote_port = 9991 #远程端口,也是是外网访问端口

custom_domains = 124.1.1.1 #域名,无域名配置服务器ip

# 此种配置方式与frps.ini中配置的vhost_http_port无关,访问时使用124.1.1.1:9991访问
  1. 去【映像】里启动,勾上【使用高权限执行容器】,进入【高级设置】。
  2. 【存储空间】里【添加文件】,选中刚配置好的frpc.ini,装载路径按图中配置/etc/frp/frpc.ini
    在这里插入图片描述
  3. 【网络】里【使用与 Docker Host 相同的网络】打勾
  4. 启动容器,便可以在刚才配置的控制台dashboard里按刚配置HTTP或者TCP选项里看到此客户端,至此利用frp实现内网穿透。
    在这里插入图片描述

参考

https://gofrp.org/
https://zhuanlan.zhihu.com/p/129076009
https://post.smzdm.com/p/aoowo2kn/
举报

相关推荐

0 条评论