我正在尝试将 3 个不同 NIC 上的 3 个子网连接在一起。
在下面的示意图中,我尝试显示连接图。我将通过 USB 将 Android 手机连接到 RPi4,并通过此连接绑定其 4G/5G 连接。
在 RPi4 上运行连接到以太网端口的网络的 DHCP 服务器(范围192.168.5.0/24)。
我还将通过 USB 网络共享连接另一部 Android 手机,但不连接数据连接。
由于 Android USB 网络共享运行其自己的 DHCP 服务等,因此无法直接桥接所有连接。(我认为)
我可以引导来自192.168.5.0/24通过网络共享连接将网络接入互联网。
所以我现在的问题是,是否可以这样设置 Pi,使得两部 Android 手机都可以直接连接到192.168.5.0/24子网? 不受不同 DHCP 服务器干扰?
我不想使用 Wlan,因为我会在公共场所使用此设置,我不确定无线干扰,如果没有必要,我不想广播这个网络。
┌───────────────────┐
│ Android Phone 1 │
│ USB Tether │ USB
│ 4G/5G │◄───────────────────────┐
│ │ │
│ 192.168.216.1 │ │
└───────────────────┘ │
▼
┌───────────────────┐ ┌───────────────────────┐
│ Android Phone 2 │ │ RPi 4 │
│ USB Tether │ USB │ │
│ No Connection │◄─────────────────────►│ Usb0: 192.168.216.21 │
│ │ │ Usb1: 192.168.42.15 │
│ 192.168.42.1 │ │ Eth0: 192.168.5.1 │
└───────────────────┘ │ DHCP: 192.168.5.1 │
│ │
┌───────────────────┐ └───────────────────────┘
│ Ethernet Switch │ Ethernet ▲
│ │◄───────────────────────┘
│ 192.168.5.0/24 │
└───────────────────┘
▲ ▲ ▲ ▲
│ │ │ │
│ │ │ │Ethernet
│ │ │ │
▼ ▼ ▼ ▼
┌─────────────────┐
│ PC 1 │
│ │
│ 192.168.5.100 │
│ │
└─────────────────┘
如果您需要更多信息,请随时询问!
提前致谢!
劳伦斯
答案1
所以我现在的问题是,是否可以这样设置 Pi,使两部 Android 手机都能直接连接到 192.168.5.0/24 子网上的设备?不受不同 DHCP 服务器干扰?
可能不是。Pi 唯一能够与普通设备配合使用的通告路由(面向 Android 子网)的机制是 DHCP。但由于两部手机都充当这些接口上的 DHCP 服务器,这意味着它们不是充当 DHCP 客户端,因此不会以这种方式从 Pi 提取任何路由(既不是“默认网关”,也不是“无类静态路由”)。它们的路由表不会通过 USB 接口指向除其本地子网之外的任何目的地。
最接近的做法可能是在 Pi 上设置 DNAT iptables 规则(又称“端口转发”),这样 Android 手机就可以连接到 Pi(它们确实有路由)它会将连接转换为您的一个摄像头。 (例如,电话 #1 连接到 192.168.216.21 端口 20554,而 Pi DNAT 将其连接到 192.168.5.100 端口 554 或类似的端口。)
(如有必要,你可以在 Pi 上设置额外的 192.168.216.x IP 地址,以便进行 DNAT全部端口到特定的 192.168.5.x 设备。