一、前言
在生产环境中,网络设备默认封禁 tcp 445 端口(smb协议),导致默认samba共享无法挂载。常规445端口挂载会出现网络连通但端口不通的诡异问题。
环境说明:
- 服务端(共享端):ubuntu 20.04,ip:10.2.2.114
- 客户端(挂载端):ubuntu 20.04
- 核心问题:工业/供电内网封禁默认445端口,samba常规挂载超时、无法连接
- 服务端(共享端):ubuntu 20.04,ip:10.2.2.114
- 客户端(挂载端):ubuntu 20.04
- 问题1:内网封禁445端口,默认samba挂载超时
二、原始问题:默认445端口samba挂载失败
1. 故障现象
客户端可以正常 ping 通服务端,但是无法连接445端口:
- ping 10.2.2.114 正常丢包0%
- nc -zv 10.2.2.114 445 无响应、超时
- 挂载报错:
mount error(115): could not connect to 10.2.2.114 unable to find suitable address.
2. 排查确认
服务端samba服务正常运行、端口监听正常:
systemctl status smbd ss -tulpn | grep smbd nc -zv 127.0.0.1 445
结论:服务端服务、端口、防火墙均无问题,上层交换机/安全设备封禁445端口,必须修改samba端口绕过限制。
三、samba服务端修改端口(445→1445)完整配置
1. 修改samba主配置文件
nano /etc/samba/smb.conf
在 [global] 全局段添加自定义监听端口,替换默认445:
[global]
smb ports = 1445 139
说明:放弃默认445,改用1445端口提供smb服务,139端口保留兼容。
2. 校验配置并重启服务
# 校验配置语法 testparm # 重启samba服务 systemctl restart smbd
3. 放行新端口防火墙
ufw allow 1445/tcp ufw reload
4. 验证端口监听
ss -tulpn | grep smbd
正常输出:服务监听 0.0.0.0:1445,代表端口修改生效。
5. 配置samba共享目录
本次共享目录:/data02/data-xianchang,配置片段:
[vlcshare]
path = /data02/data-xianchang
browseable = yes
writable = yes
valid users = smbuser
create mask = 0644
directory mask = 0755
四、samba专用账号创建(安全隔离,不使用root)
禁止root账号用于samba共享(系统默认拦截、高危),新建专用共享账号。
1. 创建系统用户(禁止ssh登录,仅用于共享)
useradd -m -s /usr/sbin/nologin smbuser
- -m:不创建家目录
- -s /usr/sbin/nologin:禁止ssh登陆,仅samba使用
2. 设置samba独立密码
samba密码与系统密码独立,必须单独设置:
smbpasswd -a smbuser
3. 目录权限适配(root目录授权普通用户读写)
# 安装acl权限工具 apt install acl -y # 递归授权读写 + 子目录继承权限 setfacl -r -m u:smbuser:rwx /data02/data-xianchang setfacl -dr -m u:smbuser:rwx /data02/data-xianchang
五、客户端挂载命令(指定1445端口,最终可用版)
规避旧命令错误:删除重复 vers 参数、新增 port=1445、编码权限优化
1. 客户端前置依赖
apt install cifs-utils -y mkdir -p ./share
2. 最终挂载命令
sudo mount -t cifs "//10.2.2.114/vlcshare" ./share -o username=smbuser,password=smbuser@2026,vers=2.1,iocharset=utf8,file_mode=0777,dir_mode=0777,port=1445
3. 挂载验证与卸载
# 查看挂载 df -h # 卸载共享 umount ./share
六、关键排错总结(高频坑点)
- 445端口不通但服务正常:内网安全设备封禁默认smb端口,必须修改samba端口,无法通过放行本机防火墙解决。
- 挂载命令报错:禁止重复 vers 参数,非445端口挂载必须手动指定 port= 端口参数,否则默认连接445端口导致失败。
- root目录无法写入:共享目录为root权限时,需通过acl授权普通samba用户读写,不改动原有文件属主,兼顾安全与权限。
- 禁止root做samba账号:samba默认拦截root账号登录,且高危生产环境绝对不允许使用root共享。
- samba密码失效:samba密码独立于系统密码,创建用户后必须单独设置smb密码,仅创建系统用户无法挂载。
七、备选方案(端口修改无效时)
若内网为协议特征拦截(改端口仍拦截smb),直接改用nfs共享,linux跨机传输最稳定,2049端口内网极少封禁。
以上就是ubuntu samba修改端口绕过445封禁挂载的详细内容,更多关于ubuntu samba修改端口绕过445的资料请关注代码网其它相关文章!
发表评论