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

一、环境

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

二、云服务器frps配置

  1. 云服务器用的是腾讯云的,直接用wget去GitHub下载比较慢,最后还卡住了。​可以先下载下来拷到服务器上。
    wget https://github.com/fatedier/frp/releases
    群晖安装frp实现内网穿透(2022最新版frp)插图

    下载下来的文件解压,直接传到/usr/local里。
    当然命令行解压也可以,解压到指定目录,解压后记得重命名文件夹名称,可以重命名为frp,和下面的ExecStart里的地址要对的上
    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版本的。如果遇到搜不到的问题,可以试试在【注册表】中【设置】里【新增】,新增随便一个源,再【使用】,再切回【使用】原来的源,再回去搜索就能搜到最新的了。
    群晖安装frp实现内网穿透(2022最新版frp)插图1
  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
    群晖安装frp实现内网穿透(2022最新版frp)插图2
  3. 【网络】里【使用与 Docker Host 相同的网络】打勾
  4. 启动容器,便可以在刚才配置的控制台dashboard里按刚配置HTTP或者TCP选项里看到此客户端,至此利用frp实现内网穿透。
    群晖安装frp实现内网穿透(2022最新版frp)插图3

参考

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

上一篇
下一篇