如果我将两个树莓派节点连接到两个交换机,多个树莓派节点如何相互通信?

如果我将两个树莓派节点连接到两个交换机,多个树莓派节点如何相互通信?

他们如何获得IP地址?假设我是否启用了 dhcp。我知道他们可以通过路由器获取地址。但是开关呢?我必须手动分配地址吗?

答案1

如果您没有分配地址的 DHCP 服务器,则必须为两个 Paspberry Pi 分配静态地址。地址必须从同一子网分配,即网络部分的地址必须相同。

如果两个RP都自动配置了IPv4链路本地地址,则它们可以使用这些地址相互通信。链路本地地址可以通过从前缀中选择来识别169.254.0.0/16。如果分配了其他地址,则接口通常不会配置为使用这些地址,即使没有其他地址可用,也不总是如此。 (这取决于 Linux 发行版。) IPv4 链路本地地址的另一个问题是它们是动态的,即不能保证它们在重新启动后保持不变。

最后,您可以使用 IPv6 链路本地地址,以fe80:. IPv6 链路本地地址是静态的并且始终分配(除非您禁用了 IPv6),但它们存在的问题是很长且难以记住。这可以通过在 中添加它们的条目来解决/etc/hosts。如果主机上有多个网络接口,IPv6 链路本地地址也会出现一些问题,因为目标链路本地地址不包含可通过哪个接口访问远程主机的信息。这意味着连接时除了 IP 地址之外,您通常还必须指定接口。

答案2

交换机没有 IP 地址 - 它只是将数据包发送到与其连接的设备,而不修改 IP 级别的任何内容。

答案3

恕我直言,上面的所有答案都是正确的,但他们错过了一两件事。

交换机通常不会分配 IP 地址(DHCP 服务器),但是,具有交换机的路由器或连接到启用了 DHCP 服务器的交换机的路由器将为连接到交换机的所有设备分配 IP 地址。由于我不知道你的网络拓扑,所以无法准确判断。

你通常可以配置路由器为你的树莓派分配静态IP地址,这就是我所做的,你所需要的只是硬件地址(又名MAC地址,与果味公司无关)......你可以得到通过sudo ifconfig在 pi 上发布 MAC 地址,它还列出了它们的 IPv4 和 IPv6 地址。 (IPv4 就像192.168.1.123,IPv6 2a01:e34:ee38:....[这些是我拥有的地址,您可能还有其他],链接本地 IPv6 地址 [您网络的本地] 以fe80::[如果配置了 IPv6,我们都有这样的链接本地地址])

我的 DSL 路由器配置为分配 1-200 范围内的 IP 地址,200 以上的 IP 地址是“服务器”,是需要静态 IP 地址的系统 - 我将它们用于静态 IP 地址。

我使用 MAC 地址将路由器配置为将特定地址分配给特定的“服务器”设备,这样我不需要配置设备,我可以从轨道上删除操作系统,安装另一个,但它仍然相同IP地址。

我很幸运,我的 DSL 路由器列出了网络上的所有设备,因此我可以很容易地识别 pi。

相关内容