15.samba共享文件夹初探
1 什么是samba?
samba
是基于smb
传输协议的数据共享软件,通常用于提供跨平台跨主机的文件共享服务。
2 主控端(服务端)安装samba
2.1 准备工作
一台安装好docker
的linux
主机.不知道安装可以参考官方文档
2.2 启动服务
docker run -it -p 139:139 -p 62727:445 \
-p 137:137/udp -p 138:138/udp \
-v /www/wwwroot/:/share/ \
--name smb \
-d dperson/samba -p \
-u "example1;badpass" \
-s "public;/share/public" \
-s "example1;/share/example1;no;no;no;example1"
以上是把本地目录挂载的容器中去,并基于挂载的目录上再创建共享的目录,分别创建2个目录
public
和example1
目录,一个是公开的,但不能写,一个是要账号密码的,并配置可以进行读写。更多的配置参数参数可以参考镜像的说明。
warning
2017 5月比特币勒索病毒事件导致445
端口至今还被网络运营商品封住,这里使用62727
端口来替代。
2.3 开放端口
在linux
如果你是iptables
防火墙则IO
策略为:
sudo iptables -I INPUT -p tcp --dport 139 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 62727 -j ACCEPT
sudo iptables -I INPUT -p udp --dport 137 -j ACCEPT
sudo iptables -I INPUT -p udp --dport 138 -j ACCEPT
如果是其它的防火墙,请查阅相关的资料。
最终的效果是让外网能访问到这4个端口,测试可以是telnet
工具测试tcp
的端口139
和62727
格式为telnet <IP> <port>
能连接上则表明端口已经正常了。建议是用nmap
的端口扫描工具来,格式为nmap <IP>
最终能访问的端口都会显示出来。
warning
一定要在用户机子上进行测试为准。
3 在windows
下连接
由于网民的445
端口出方向被封了。需要访问的数据转发到能访问的62727
端口上,流程大致为:
3.1 配置用户端端口转发
打开cmd
,以管理员身份打开(如果不是则ctrl+R
,然后Ctrl+Shift+Enter
切换).
netsh interface portproxy add v4tov4 listenport=445 connectaddress=远程ip connectport=62727
查看是否生效可以再输入:netsh interface portproxy show all
来查询已经生效的端口转发
Microsoft Windows [Version 10.0.18362.592]
(c) 2019 Microsoft Corporation. All rights reserved.
C:\Windows\system32>netsh interface portproxy show all
Listen on ipv4: Connect to ipv4:
Address Port Address Port
--------------- ---------- --------------- ----------
* 445 120.132.11. 62727
C:\Windows\system32>
如果要删除则netsh interface portproxy delete v4tov4 listenaddress=欲删除项目的监听IP listenport=欲删除项目的监听端口
最后Ctrl-R
然后输入\\127.0.0.1
就可以访问了不用密码的公开目录,而\\127.0.0.1\example1
输入下密码就能访问账号下的目录了。需要添加快捷方式则在文件管理器中配置下网络位置方便下次使用.
本文资料参考于:
端口转发内容部分: https://www.zhihu.com/question/59814912
cmd
管理员部分: https://blog.csdn.net/zyw_anquan/article/details/7756499
镜像内容部分: https://hub.docker.com/r/dperson/samba
本地转发部分: https://blog.csdn.net/cxwithyxy/article/details/83864824
docker
案例部分: https://blog.joefom.com/archives/164
相关资料: smbclient使用说明: https://blog.csdn.net/yexiangcsdn/article/details/82867469