我在三台计算机之间设置了wireguard vpn 网络。
转发似乎工作正常,因为:
我认为问题在于我的 smb.conf 或 smbd.service 如何绑定到我在 smb.conf 中指定的接口,因为:
这是我的 smb.conf 文件的样子:
#### 联网 #### # 要绑定到的特定接口/网络集 # 这可以是接口名称或 IP 地址/网络掩码; # 接口名称通常是首选 ; 接口 = 127.0.0.0/8 eth0 接口 = lo eth0 wg-buero-隧道 # 仅绑定到指定的接口和/或网络;你必须使用 # 上面的“interfaces”选项可以使用它。 # 如果您的 Samba 机器是,建议您启用此功能 # 不受防火墙保护或者本身就是防火墙。然而,这 # 选项无法正确处理动态或非广播接口。 ; 仅绑定接口 = 是 仅绑定接口 = 是
这是的输出netstat -tulpen | grep smbd
tcp 0 0 127.0.0.1:139 0.0.0.0:* 监听 0 17353 1023/smbd tcp 0 0 192.168.124.177:139 0.0.0.0:* 监听 0 17349 1023/smbd tcp 0 0 127.0.0.1:445 0.0.0.0:* 监听 0 17352 1023/smbd tcp 0 0 192.168.124.177:445 0.0.0.0:* 监听 0 17348 1023/smbd
这里的 IP 应与我在 smb.conf 中指定的设备相对应,但仍然缺少一个 IP/设备。
洛127.0.0.1
eth0 192.168.124.177
wg-buero-tunnel 线卫 IP 完全丢失
我真的没有想法了。
如果未显式指定接口地址/掩码,但如果接口受 和 限制,Samba 将不会侦听 Wireguardinterfaces = ...接口bind interfaces only = yes。
解决方案是指定 Wireguard 接口的 IP 地址/掩码。例如
interfaces = lo eth0 10.8.0.0/24
Run Code Online (Sandbox Code Playgroud)
Samba 文档 smb.conf也清楚地表明了这一点:接口
...默认情况下,Samba 将查询内核以获取所有活动接口的列表,并使用除 127.0.0.1 之外的具有广播功能的任何接口。...
...“掩码”参数可以是位长度(例如,C 类网络为 24),也可以是点分十进制形式的完整网络掩码。
众所周知,Wireguard 不支持广播,为什么不支持。这些是 Samba 的后果:不可能使用其他三种替代方法来指定其中描述的接口,例如 2) 接口名称或 3) 仅 IP 地址或 4) 广播地址/掩码,因为 Wireguard 不支持广播。
也可以通过ip link命令验证:
eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> ...
link/ether ...
wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> ... # without "BROADCAST"
link/none
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6592 次 |
| 最近记录: |