tumbleweed 配置 smb

注意

这篇文章是 deepseek 生成的,没有经过严格审查,不保证内容完全准确。

双机直连 + SMB 共享 + 开发调试 笔记

  1. IPv4 核心常识

IP 地址:网络中每台主机的门牌号,IPv4 由4个0~255的数字组成,如 192.168.2.10
子网掩码:用来判断两个IP是否在同一广播域。255.255.255.0 表示前三位相同的IP可以直接通信(无需网关)。
私有地址段:192.168.x.x10.x.x.x172.16-31.x.x,用于内部网络,不会出现在公网。
0.0.0.0:服务监听此地址表示接受来自所有网络接口的连接;127.0.0.1(回环)只能本机自连。

  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>,通则下一步。

  1. 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],指定 pathread only = noguest 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
  1. Windows 访问共享

直接访问:文件资源管理器地址栏输入 \\192.168.2.20
映射网络驱动器:右键“此电脑”→“映射网络驱动器”输入 \\192.168.2.20\共享名

  1. 防火墙放行其它开发端口

当你在两台机器上跑前后端时,需临时放行非标准端口:
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 的流量。
开发完毕后及时清理临时规则(重启防火墙即可丢弃未持久化的规则)。

  1. 跨机调试关键点

后端服务必须监听 0.0.0.0,否则远程无法访问。
微信开发者工具:勾选“不校验合法域名”,即可用 http://192.168.2.20:端口 调用 API。
手机真机:需将手机连入同一局域网(如添加小路由,或将一台电脑开启热点)。
跨域:小程序的 wx.request 不受浏览器同源策略限制,开发时无需处理 CORS。


核心思想:两台直连主机的 IP 必须在同一个“小区”(子网掩码决定),服务监听在所有接口上(0.0.0.0),防火墙仅对必要的服务/来源开放。搞定这三层,网络调试就跟本机一样顺畅。