我继承了防火墙/网关服务器的管理职责,并且试图了解 rc.local 中特定静态路由设置的含义:
...
route add 123.123.123.123/30 10.10.3.14
route add 123.123.123.123/32 10.10.3.13
...
显然,IP 地址已被更改,以保护无辜者。
这是什么意思?为什么要这样路由?
答案1
这意味着发往 123.123.123.120-122 的数据包将经由 10.10.3.14 发送,而发往 123.123.123.123 的数据包将经由 10.10.3.13 发送。
自 CIDR 出现以来,网络掩码就表示前缀的长度 - 从技术上讲,可以使用网络中的任何 IP,但按照惯例,非掩码位设置为 0,这就是为什么“网络地址”总是偶数。
最具体的获胜 - /32 比 /30 更具体(更长),因此优先于 /30。
答案2
第一行:123.123.123.123/30
发往 的主机的数据包通过 路由10.10.3.14
,但(第二行)发往 的主机的数据包除外123.123.123.123/32
,这些数据包通过 路由10.10.3.13
。
但是,我怀疑是匿名化错误,如果你真的定义了一个 /30 网络,第一个地址(相同的 ip/32)是“网络”地址,它实际上并没有收到数据包。也可能是,有人试图以不同的方式将一个切片从更大的子网中路由出来,但这很奇怪……
答案3
您正在调试的设置中的“123.123.123.123”地址是否真的完全相同 - 或者它们略有不同?
假设它们是不同的 - 第一行意味着 123.123.123.123/30 定义的网络中的任何东西都应该转发到 10.10.3.14。第二行意味着特定的 IP 地址 123.123.123.123 应该转发到 10.10.3.13。
至于原因——我们需要更多的背景信息。
- 您能具体告诉我最后一个八位字节(最后一个 .123)吗 - 在您的情形下它到底是什么。两个相同的八位字节有两个不同的网络掩码,这有点奇怪,可能意味着几件不同的事情......