为内网设备搭建FRP内网穿透
一、前因
虽说IP6可以满足需求,可cloudflare的ddns时不时会掉线,这也没什么,等个十几分钟就好了。
惨的是老家的网络还没有IP6地址,这就不得不考虑下整个备用穿透了。
以前使用zerotier挺不错的,如果从电脑访问自然不用管,但换成手机我得把zerotier的软件开起来,终归不是太方便。
网海网罗,最终敲定用FRP。
二、准备
一台小鸡,你需要外网访问的设备,传输速度取决你鸡的速度,我又不上传下载大文件,鸡速无所谓,能访问即可。
三、原理
访问你小鸡的公网IP,借由小鸡FRP中配置的地址与端口,串通到你的内网设备(树莓派、NAS等)。
四、服务端安装
老规矩用docker compose安装。
小鸡上安装服务端FRPS。
找个目录新建FRPS配置文件、docker-compose文件,复制下文内容
frps.ini
[common]
# 监听端口
bind_port = 7000
# 面板端口
dashboard_port = 7500
# 登录面板账号设置
dashboard_user = admin
dashboard_pwd = admin
# 身份验证
token = test
docker-compose.yml
version: '3.3'
services:
frps:
restart: always
network_mode: host
volumes:
- ${PWD}/frps.ini:/etc/frp/frps.ini
container_name: frps
image: snowdreamtech/frps
自行修改该修改的,然后docker-compose up -d
跑起来。
访问IP+7500查看页面。
五、客户端安装
在你要访问的内网设备中安装客户端(什么!不能安装?爱莫能助)。
找个目录新建FRPC配置文件、docker-compose文件,复制下文内容。
frpc.ini
[common]
# FRPS服务器IP地址
server_addr = 23.94.255.150
# 服务端监听端口,bind_port
server_port = 7000
# 身份验证
token = test
# [self] 服务名称,
# type 连接类型
# local_ip 本地IP
# local_port 本地端口
# remote_port 远程端口
[ssh]
type = tcp
local_ip = 192.168.68.232
local_port = 22
remote_port = 80
# 多个名称下面加
docker-compose.yml
version: '3.3'
services:
frpc:
restart: always
network_mode: host
volumes:
- ${PWD}/frpc.ini:/etc/frp/frpc.ini
container_name: frpc
image: snowdreamtech/frpc
自行修改该修改的,然后docker-compose up -d
跑起来。
访问上面的页面即可看到有连接了。
六、访问
通过小鸡IP加上你配置的remote_port,访问目标网页,搞定。
七、总结
备用手段罢了,IP6挺好的,不依赖任何东西,只要访问端有IP6即可。