流程:使用sakurafrp提供的内网穿透,使用docker部署到铁威马nas
1、拥有一个一台铁威马以及sakurafrp账号
2、开启铁威马的远程ssh
3、启动一条穿透隧道
4、为铁威马部署docker
拥有一个SakuraFRP(樱花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 | # 默认 DockerHub 源,国内可能较慢: |
对于低性能服务器器,可以使用:
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。