samba 445端口被运营商禁用解决方法

问题:
云服务器部署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然后输入用户名密码即可登录了
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_38721267/article/details/127839970