写在前面的话
由于使用过程中, 发现如果 Samba 只用于内网访问, 同事在外面甚至其它不是一个网段的同事就无法访问了. 这显然不符合我们最终的需求, 最后没法, 只能把访问部署到云服务器上面去, 此时问题来了, 不知道你还是否记得某个表情包:
没错, 之前的勒索病毒攻击, 就是利用 445 端口, 所以公网目前是封了这个端口的, 哦豁~
所以我们得想办法绕开这个 445, 换成其它端口, 但是问题同样出来了, Windows 使用 smb 默认就是 445 端口!
那还能怎么办, 本地端口转发呗~
不知道 Samba 怎么搭建得查看我上一篇文档:
https://www.cnblogs.com/Dy1an/p/11265676.html
配置 Samba
既然要使用其它端口, 意味着我们服务的端口就不能再是 445, 所以我们修改 Samba 主配置文件:/etc/samba/smb.conf
- ##############################################################################
- # 全局配置
- ##############################################################################
- [global]
- workgroup = WORKGROUP
- server string = Samba Server Version %v
- netbios name = Samba
- log file = /var/log/samba/samba_log.%m
- max log size = 50
- security = user
- passdb backend = tdbsam
- smb ports = 6727
- include = /etc/samba/user/%U.smb.conf
通过 smb ports 将 Samba 的端口更改为: 6727, 然后重启服务即可!
配置 Windows
Windows 比较麻烦, 因为 smb 服务本身就是主要针对 Windows 的, 所以 445 端口被安排的明明白白.
1. 以管理员身份运行 cmd 控制台: 这里以 Windows 10 为例, Windows 7 一个意思
2. 执行如下命令:
- sc config LanmanServer start=disabled
- net stop LanmanServer
- sc config iphlpsvc start=auto
netsh interface portproxy add v4tov4 listenport=445 connectaddress = 公网 IP connectport=6727
我们先停止 445 端口的访问, 启动本机的端口转发, 配置转发规则.
3. 重启电脑, 据说不重启不生效, 我反正重启了.
4. 访问测试:
\\127.0.0.1
现在地址变成了这个:
输入用户名密码访问即可!
配置 Mac book
Mac 就更简单了, 因为它方式本身就和 Windows 不一样, 也不存在默认一定使用 445 的情况, 所以可以直接访问:
1. 打开 Finder:
2. 输入访问地址:
smb:// 用户名: 密码 @公网 IP:6727
这样直接就行, 我这里把账户密码写到这里是为了方便切换用户, 如果你用户是固定的, 可以直接去掉: 用户名: 密码 @
小结
至于 Linux 版本这里就不做描述了, 说实话, 那个没啥需求, 网上也很多.
来源: https://www.cnblogs.com/Dy1an/p/11325272.html