赞
踩
目前有个pc(win10)同步文件到ipad的需求,代替使用微信带来的数据空间占用问题。
初始阶段的方案是pc端共享文件夹,ipad使用“文件”app接入,每到次日这个同步就会失效ipad无法连接到共享目录。起初以为是重启导致共享延迟等,进而改变方案,在linux端搭建smb服务,pc、ipad作为客户端接入。起初不算顺利,因为在端口(445)都畅通的情况下,仅有linux互通linux是通畅的,但是与pc、ipad、android,连接不通,百思不得解。稍后猛然忆起早年间爆出过445端口漏洞问题,进而想到是否是网关屏蔽了445的原因,遂将手机连接4G网络,顺利联通;而后通过修改SMB服务端端口,顺利联通各端,在此记录下过程及遇到的问题。
yum install -y samba
/etc/samba/smb.conf
useradd -m username
passwd username
smbpasswd username
- mkdir /share
- chmod 777 /share
- chown -R username:username /share
- systemctl restart smb.service
- systemctl restart nmb.service
- systemctl status smb.service
- systemctl status nmb.service
ss -anp|grep smb
开启SMB支持
设置网络驱动器
成功后会在此电脑,网络位置中出现图标;
如果点击确认后过一阵“输入网络凭证弹框”依然弹出或者提示“网络错误”或提示“ 找不到网络路径”,说明网络、端口不通,需要检查;
如果确认按钮上方出黄色异常信息,说明网络是通畅的,按照异常调整就好
图中是三星手机演示,在我的文件-网络存储中
打开“文件”App
左上角三个点-连接服务器
输入服务地址:smb://ip/share
选择注册用户,输入用户名、密码
- /etc/samba/smb.conf
- global下增加smb ports = 1234 (注意有空格)
-
- smb服务修改为1234
- 重启
- systemctl restart smb.service
- systemctl restart nmb.service
- 修改防火墙
- 修改云服务安全组
- 外部测试端口连通性 telnet ip 1234
映射网络驱动器无法连接非标端口的SMB服务,但是可以使用端口转发达到间接访问的目的
查看端口占用情况
netstat -ano | findstr 445
如果有返回信息,说明被占用
避免445端口被占用。关闭Server服务,并禁用,服务名:LanmanServer
重启
再次查看端口占用情况
若无信息返回则说明没有占用
配置端口转发
netsh interface portproxy add v4tov4 listenaddress=127.0.0.1 listenport=445 connectaddress=SMB服务地址 connectport=SMB服务端口
查看端口转发
netsh interface portproxy show all
如下图即为配置成功
其他
清除所有端口转发规则
netsh interface portproxy reset
其他配置相同,区别在地址
访问流程
本地访问\\127.0.0.1\share ——> 系统本地检索samba服务 ——> 根据端口转发将445端口的请求自动转发到设定的IP地址和端口 ——> 访问成功
更改端口号为1234,其他配置相同
不能使用“文件”App连接非标端口的SMB服务,需要下载“ES文件浏览器”,打开后点击左侧SMB按提示操作即可连接。注:文件变化需要手动刷新
参考连接
https://blog.csdn.net/weixin_43726881/article/details/129491719#comments_25689047
https://blog.csdn.net/zsdt345a780rfajwet/article/details/107845859
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。