tumbleweed 配置 smb
这篇文章是 deepseek 生成的,没有经过严格审查,不保证内容完全准确。
双机直连 + SMB 共享 + 开发调试 笔记
- IPv4 核心常识
IP 地址:网络中每台主机的门牌号,IPv4 由4个0~255的数字组成,如 192.168.2.10。
子网掩码:用来判断两个IP是否在同一广播域。255.255.255.0 表示前三位相同的IP可以直接通信(无需网关)。
私有地址段:192.168.x.x、10.x.x.x、172.16-31.x.x,用于内部网络,不会出现在公网。
0.0.0.0:服务监听此地址表示接受来自所有网络接口的连接;127.0.0.1(回环)只能本机自连。
- 物理直连配置流程
目标:将两台电脑放在同一网段。
Windows:网络设置中手动指定 IPv4:
192.168.2.10 / 255.255.255.0 (网关、DNS 留空)
openSUSE:手动指定不同 IP 的同网段地址:
192.168.2.20 / 255.255.255.0 (网关、DNS 留空)
验证:终端执行 ping <对方IP>,通则下一步。
- openSUSE 搭建 Samba 服务器
安装:
sudo zypper install samba samba-client wsdd
配置:编辑 /etc/samba/smb.conf
[global] 中确保 server min protocol = SMB2_02,并可添加:
ini interfaces = 192.168.2.20/24 bind interfaces only = yes
添加共享段,如 [public],指定 path、read only = no、guest ok 等。
创建 Samba 用户(需已存在系统用户):
sudo smbpasswd -a 用户名
测试配置:
testparm
启动服务:
sudo systemctl enable --now smb nmb
如 nmb 卡住,检查 IP 是否存在,或添加上面 interface 配置。
防火墙:
sudo firewall-cmd --permanent --add-service=samba
sudo firewall-cmd --permanent --add-service=wsdd
sudo firewall-cmd --reload
- Windows 访问共享
直接访问:文件资源管理器地址栏输入 \\192.168.2.20
映射网络驱动器:右键“此电脑”→“映射网络驱动器”输入 \\192.168.2.20\共享名
- 防火墙放行其它开发端口
当你在两台机器上跑前后端时,需临时放行非标准端口:
openSUSE 示例(放行 Windows 的访问):
sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.2.10" accept'
或放行特定端口:
sudo firewall-cmd --add-port=3000/tcp
Windows:在“防火墙”中新建入站规则,放行指定端口或来自 192.168.2.20 的流量。
开发完毕后及时清理临时规则(重启防火墙即可丢弃未持久化的规则)。
- 跨机调试关键点
后端服务必须监听 0.0.0.0,否则远程无法访问。
微信开发者工具:勾选“不校验合法域名”,即可用 http://192.168.2.20:端口 调用 API。
手机真机:需将手机连入同一局域网(如添加小路由,或将一台电脑开启热点)。
跨域:小程序的 wx.request 不受浏览器同源策略限制,开发时无需处理 CORS。
核心思想:两台直连主机的 IP 必须在同一个“小区”(子网掩码决定),服务监听在所有接口上(0.0.0.0),防火墙仅对必要的服务/来源开放。搞定这三层,网络调试就跟本机一样顺畅。