在 Ubuntu 服务器上安装配置 Samba,并通过 Windows + ZeroTier 跨网络访问共享文件夹。
1. 安装 Samba
首先,更新软件源并安装 Samba:
sudo apt update
sudo apt install samba
2. 配置共享目录
编辑 Samba 配置文件 /etc/samba/smb.conf,添加共享配置,例如:
[share]
path = /home/user2
available = yes
valid users = user2, root, zheng, ruser
read only = no
browsable = yes
public = yes
writable = yes
3. 添加 Samba 用户
为指定用户设置 Samba 密码:
sudo smbpasswd -a user2
4. 重启 Samba 服务
sudo systemctl restart smbd
此时,局域网内其他电脑可以通过以下方式访问共享文件夹:
\\server-ip\share
5. Windows + ZeroTier 跨网络访问
如果服务器在 WSL2 上,并且想通过 Windows + ZeroTier 跨网络访问,需要配置端口代理。
5.1 删除旧代理(如果存在)
netsh interface portproxy delete v4tov4 listenaddress=172.26.168.189 listenport=445
5.2 添加新的端口代理
netsh interface portproxy add v4tov4 listenaddress=172.26.168.189 listenport=445 connectaddress=10.241.246.33 connectport=445
netsh interface portproxy add v4tov4 listenaddress=172.22.246.33 listenport=445 connectaddress=172.26.168.189 connectport=445
netsh interface portproxy add v4tov4 listenaddress=172.22.246.33 listenport=139 connectaddress=172.26.168.189 connectport=139
参数说明:
listenaddress:Windows 主机 ZeroTier IP
listenport:Windows 监听端口(Samba 端口)
connectaddress:WSL2 IP(Samba 服务器)
connectport:WSL2 上 Samba 监听端口
5.3 配置 Windows 防火墙允许 SMB
New-NetFirewallRule -DisplayName "Allow SMB on ZeroTier 445" -Direction Inbound -LocalPort 445 -Protocol TCP -Action Allow
New-NetFirewallRule -DisplayName "Allow SMB on ZeroTier 139" -Direction Inbound -LocalPort 139 -Protocol TCP -Action Allow
6. 访问共享文件夹
配置完成后,Windows 端通过 ZeroTier IP 即可访问:
\\10.241.246.33\share