问题:
云服务器部署samba服务无法访问
原因:
因为永恒之蓝的攻击,现在运营商将445端口拦截了。445端口是Samba使用的端口,通过修改Samba的端口映射实现Windows和Linux共享目录。所以在云服务器上配置samba服务不能直接使用!
解决方法
修改服务器侧samba端口配置。
客户端如果是ubuntu 可以使用smbclient 增加-p参数指定端口连接。
客户端如果是windows,应为windows默认samba端口为445,所以需要将445的端口数据转发到服务端修改的端口上。
1.服务端配置
服务端配置
/etc/samba/smb.conf,在global中加入下面这两句
[global]
smb ports = 38496 #改变samba端口,建议使用5000-65535
server min protocol = LANMAN1
server min protocol = LANMAN1 不加客户端可能会连接失败,这句跟445被运营商禁用无关 不加这句可能会报这个错 protocol negotiation failed: NT_STATUS_INVALID_NETWORK_RESPONSE
配置完重启samba服务,记得切换的samba端口要在安全组防火墙放行端口
/etc/init.d/smbd restart
执行netstat -lntp
看到smbd对应的端口是修改后的端口即可
2.客户端配置
2.1 Ubuntu客户端
可以使用smbclient访问samba目录,增加-p参数指定端口 -U参数后面跟用户名
smbclient //123.239.12.223/axs -U axs -p 38496
2.2windows客户端
配置445端口转发38496 需要在管理员权限打开cmd增加映射关系
下面是配置映射关系的常用指令
### 查看映射列表
netsh interface portproxy show all
### 增加映射关系 发给127.0.0.1 445端口的数据都会转到 123.239.12.223 38496端口发出
netsh interface portproxy add v4tov4 listenport=445 listenaddress=127.0.0.1 connectport=38496 connectaddress=123.239.12.223
### 删除映射关系
netsh interface portproxy delete v4tov4 listenport=445 listenaddress=127.0.0.1
查看是否生效 指令如下
netstat -ano | findstr 445
LISTENING不能为 4,下图LISTENING不为4 即为成功
如果LISTENING为4,则需要修改下面的配置并重启
右键此电脑-管理-服务和应用程序-服务,找到Server的服务,禁用server服务,并重启 。
配置完成重启后,即可通过windows访问samba了,访问路径需要使用\\127.0.0.1\axs
然后输入用户名密码即可登录了