一、环境
- 云服务器CentOS 8(轻量应用服务器)
- 黑群晖DSM 6.2-23739
- frp版本0.38.0
二、云服务器frps配置
- 云服务器用的是腾讯云的,直接用wget去GitHub下载比较慢,最后还卡住了。可以先下载下来拷到服务器上。
wget https://github.com/fatedier/frp/releases
下载下来的文件解压,直接传到/usr/local
里。
当然命令行解压也可以,解压到指定目录,解压后记得重命名文件夹名称,可以重命名为frp,和下面的ExecStart里的地址要对的上。
tar -xvf frp_0.38.0_linux_amd64.tar.gz -C /usr/local
- 配置服务文件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[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[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改成对应的文件地址。
-
把文件frp.service放到指定位置
/usr/lib/systemd/system/frp.service
-
重新加载服务的配置文件
systemctl daemon-reload
-
启动/停止/重启,查看状态,设置开机自启/关闭开机自启
systemctl start frp systemctl stop frp systemctl restart frp systemctl status frp systemctl enable frp systemctl disable frpsystemctl start frp systemctl stop frp systemctl restart frp systemctl status frp systemctl enable frp systemctl disable frpsystemctl start frp systemctl stop frp systemctl restart frp systemctl status frp systemctl enable frp systemctl disable frp
- 服务端 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 # 记录日志天数[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 # 记录日志天数[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
- docker【注册表】搜frp,之前的教程基本用的是oldiy那个,已经很久没更新了,这个是最新0.38.0版本的。如果遇到搜不到的问题,可以试试在【注册表】中【设置】里【新增】,新增随便一个源,再【使用】,再切回【使用】原来的源,再回去搜索就能搜到最新的了。
- 配置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访问[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访问[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访问
- 为了更好理解配置两个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访问[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访问[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访问
- 去【映像】里启动,勾上【使用高权限执行容器】,进入【高级设置】。
- 【存储空间】里【添加文件】,选中刚配置好的frpc.ini,装载路径按图中配置
/etc/frp/frpc.ini
。
- 【网络】里【使用与 Docker Host 相同的网络】打勾
- 启动容器,便可以在刚才配置的控制台dashboard里按刚配置HTTP或者TCP选项里看到此客户端,至此利用frp实现内网穿透。
参考
https://gofrp.org/
https://zhuanlan.zhihu.com/p/129076009
https://post.smzdm.com/p/aoowo2kn/
原文链接:https://blog.csdn.net/iduzy/article/details/122632819
© 版权声明
声明📢本站内容均来自互联网,归原创作者所有,如有侵权必删除。
本站文章皆由CC-4.0协议发布,如无来源则为原创,转载请注明出处。
THE END