Fac*_*ceb 8 networking routing
路由表包含什么,仅包含下一跳的目标 LAN 地址?但是这个下一跳是什么意思,因为看这个例子
我没有看到如何定义下一跳的一般规则。(对于网络目标 10.0.0.0、11.0.0.0、13.0.0.0 我理解,但不是其他的)
我还使用命令 'ip route add <> src <> via <> ,<> 中应该包含什么?我在 virtualbox 中使用 Linux Ubuntu 作为虚拟机
我的猜测是“rtnetlink 回复:无效参数”错误是因为 IP 地址、掩码和网关不属于同一类(A 类或 B 类或 C 类);或者因为“静态”地址与某些 DHCP 地址范围冲突。
架构中的 R8 表不是路由表,而是描述了 R8 将如何处理地址。例如 10.0.0.0,应该理解为 10.0.0.0/24 网段,而不是 IP 地址。
对于无法从 R8 直接访问的子网,例如 16.0.0.0/24,路由表会将消息定向到距离目标网络最近的路由器,然后该路由器将根据自己的路由表。在这种情况下,发往 16.0.0.X 的消息将传递到网关 10.0.0.2,这是 R7 的地址,它将转发给正确的收件人。
在 R8 中执行的路由命令应该类似于:
ip route add 16.0.0.0/24 via 10.0.0.2 src 10.0.0.1
Run Code Online (Sandbox Code Playgroud)
在向多宿主主机添加路由时使用 src 参数,以控制主机发送的源 IP 地址。简单情况下可以省略。这将在这里确保返回消息将通过 10.0.0.0/24 子网返回,但如果出于某种原因我们更喜欢 R7,不通过该子网返回消息,则可以使用其他值。
请注意,您提供的 src 只会影响源自您的流量。如果正在路由一个外部数据包,它显然已经有一个源 IP 地址,所以它通常会原封不动地传递(除非使用 NAT,这也可以被覆盖)。
我注意到通常不需要为每个目的地提供路线。就像计算机可以在其路由表中指定默认网关一样,该网关是一个通用地址,可以接收到它不知道的地址的所有消息,路由器也有自己的路由表,其中可以包含网关。路由器的网关地址由默认路由表示0.0.0.0。
请注意,甚至可以在网络中设置网关电路,例如:
R1 ? R4 ? R8 ? R7 ? R6 ? R2 ? R1。
这里没有优化跳数,但是消息仍然会从每个子网到达每个其他子网。良好的网络设计通常包括一个或多个集中式路由器,以尽量减少跳数。
| 归档时间: |
|
| 查看次数: |
29726 次 |
| 最近记录: |