如何测试是否为设备设置了子网掩码和默认网关?

网络工程 子网 IP地址 默认网关
2022-02-27 19:29:10

我了解子网掩码如何机械地工作以及如何从掩码转换为 CIDR 位表示法,并且我了解默认网关的概念。我不明白在设备上设置子网掩码或默认网关的作用和/或它如何影响连接到设备的能力。

对于更多上下文,我正在开发一个网络设备,并且我要求设备的 IP 地址、子网掩码和默认网关需要可配置。我已经学会了如何在 Linux 中设置所有这些东西,但我不知道如何测试它们是否正常工作。

对于 IP 地址,我可以:

  1. 成功连接到当前 IP 地址上的设备。
  2. 设置不同的(静态)IP 地址。
  3. 断开。
  4. 无法连接旧地址。
  5. 在新地址上成功连接。

这些步骤验证了我更改 IP 地址的过程是否有效。

对于子网掩码和默认网关,我可以设置它们,我的机器告诉我它们已设置,但现在我想验证这些设置是否正常工作。

我可以执行哪些基本测试来验证子网掩码和默认网关是否正在更改?

1个回答

每个 IP 数据包都需要路由 - 不仅是路由器/网关,而且也是源节点。为此,节点需要将目标 IP 地址与其本地路由表条目相匹配。最佳匹配决定了采取的路线。

在最基本的场景中,主机有一个带有 IP 地址和网络掩码(确定本地子网)和默认网关(用于任何非本地)的接口。

在你真正绑定一个新的 IP 地址之前,你应该检查它是否已经被使用(通过 ARPing 它)。要验证新设置,只需尝试 ping 默认网关即可。网关可能有效但不响应 ping,因此您还需要检查它是否已正确 ARP。如果这也失败了,则设置有缺陷。

测试网关 IP 是否真的有效并非易事。您可以尝试对已知(或任何)目的地运行简短的跟踪路由,并查看“网关”如何反应。

您还可以使用特定服务检查是否到达其他主机,但这需要您定位它们,例如通过 DNS。

当然还有DHCP,您的设备由网络动态配置(这几乎是标准)。