samba文件共享服务因445端口被禁不能访问修改映射端口
依靠samba服务挂载的远程文件夹忽然不能访问了,怀疑是端口被禁,
查看samba服务使用的端口:
sudo netstat -tlnp |grep smb
显示当前使用的是默认的139和445(win10通过ip访问时似乎都是默认走445)
Samba服务所使用的端口和协议:
1)Port 137 (UDP) - NetBIOS 名字服务 ; nmbd
2)Port 138 (UDP) - NetBIOS 数据报服务
3)Port 139 (TCP) - 文件和打印共享 ; smbd (基于SMB(Server Message Block)协议,主要在局域网中使用,文件共享协议)
4)Port 389 (TCP) - 用于 LDAP (Active Directory Mode)
5)Port 445 (TCP) - NetBIOS服务在windos 2000及以后版本使用此端口, (Common Internet File System,CIFS,它是SMB协议扩展到Internet后,实现Internet文件共享)
6)Port 901 (TCP) - 用于 SWAT,用于网页管理Samba
在windows客户端ping一下看是否是端口问题:
telnet SERVER_IP 139
telnet SERVER_IP 445
ping不通,说明是端口被网管禁用,需要自定义一个新的端口号
sudo vim /etc/samba/smb.conf
在samba配置文件的Global中添加,其他保持原样
[global]
smb ports = 1399
[homes]
comment = Home Directories
browseable = no
read only = no
create mask = 0755
directory mask = 0755
valid users = %S
*这里设置了home文件夹共享,需要将服务器用户通过以下命令添加入samba用户,且设置samba密码,windows访问时需要用该密码登陆,browseable = no即每个用户用自己的用户登陆后只能看到自己的home目录
sudo smbpasswd -a username
关闭保存后重启samba
sudo service smb restart
注意查看服务是否重启成功
systemctl status smb
再次检查samba使用的端口
sudo netstat -tlnp |grep smb
tcp 0 0 0.0.0.0:1399 0.0.0.0:* LISTEN 985177/smbd
tcp6 0 0 :::1399 ::: * LISTEN 985177/smbd
已显示为1399,在win端ping端口测试:
telnet SERVER_IP 1399
显示可连通,由于windows访问远程文件夹时使用默认455端口,无法指定自定义端口(没查到),
因此还需要在win端通过“映射该服务器的1399端口到本地455端口”的方式实现访问
netsh interface portproxy add v4tov4 listenport=445 listenaddress=127.0.0.1 connectport=1399 connectaddress=SERVER_IP
(如需删除该映射,将该命令中的add改为delete即可)
添加后可检查映射列表是否已存在
netsh interface portproxy show all
在控制面板-程序功能-启用或关闭windows功能开启客户端,关闭服务器(否则可能通过127.0.0.1访问到的是本地的samba共享目录)
可能需要重启windows
然后在运行(win+r)中输入\\127.0.0.1,可以正常挂载了。
本文来自博客园,作者:海_纳百川,转载请注明原文链接:https://www.cnblogs.com/chentiao/p/16696051.html,如有侵权联系删除