抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >
image

流程:使用sakurafrp提供的内网穿透,使用docker部署到铁威马nas

1、拥有一个一台铁威马以及sakurafrp账号
2、开启铁威马的远程ssh
3、启动一条穿透隧道
4、为铁威马部署docker

拥有一个SakuraFRP(樱花FRP)账号。

樱花FRP:免费穿,轻松透

相对来说,樱花的免费带宽不算高,但是相对其他家来说很良心了。
重要:务必阅读帮助文档来少走不必要的弯路。
要使用映射功能,通常需要实名制。自己视情况斟酌。

在隧道列表中,点击+创建隧道 来创建一条隧道。

我需要使用ssh,并使用docker的桥接(bridge)模式,因此隧道类型选择tcp隧道,并填入使用的本地IP为172.17.0.1 。如果不确定自己的docker本地地址是多少,可以使用ip命令查询。
铁威马的默认docker网址默认ssh端口为9222,因此本地端口栏填入9222。其余留空。

创建隧道完成后,注意到配置文件中含有一条-f开头+空格+小写字母与数字的序列号+冒号+数字结尾的参数,稍后会用到。

启用铁威马的ssh/telnet功能

在铁威马的控制面板>终端与SNMP>Telnet/SSH中选中“允许SSH访问”,并取消选中“仅允许本地网络内的Telnet/SSH访问”,并点击应用。否则,外网ssh将无法访问ssh。

在铁威马部署sakurafrp的docker镜像。

只需要在终端执行:

1
2
3
4
5
6
7
8
# 默认 DockerHub 源,国内可能较慢:
docker run \
-d \ # 后台运行
--restart=always \ # 自动启动
--pull=always \ # 自动更新
--name=sakura1 \ # 为容器设定一个名字
natfrp/frpc \
-f <启动参数> --remote_control <远程控制密码>

对于低性能服务器器,可以使用:

1
docker run -d --name=sakura1 natfrp/frpc -f <启动参数> 

其中,–pull=always不是必要的。<启动参数>填写隧道列表页面配置文件中-f开头+空格+小写字母与数字的序列号+冒号+数字结尾的那行参数。<远程控制密码>同样是这行参数,只是要删掉多余部分,仅填入中间小写字母与数字的序列号的部分。

最后一行的示范:
-f a1b2c3d4e5f6g7h8i9j0:114514 --remote_control

收尾

如果一切正常,那么docker只会输出一串hash值,意味着容器已经启动。
输入docker stop <容器名称|容器ID>来停止容器。
输入docker rm <容器名称|容器ID>来删除容器。
输入docker logs <容器名称|容器ID>来查看容器的输出。可以在这里找到对应映射的域名/ip与端口。

现在,可以通过putty,julicessh等ssh软件通过SakuraFRP提供的映射地址来连接ssh。
同样的地址可以用于连接sftp。

评论