1.网络包出了网关之后,就有了一种漂泊的悲凉感
2.之前的场景是比较简单的场景,但是在实际生产环境下,出了网关,会面临着很多路由器,有很多条道路可以选。
3、如何配置路由?
路由表的设计
java
1.路由器就是一台网络设备,它有多张网卡。
2.当网络包发送到路由器的时候,它会根据一个本地的转发信息库,来决定如何正确地转发流量
3.这个转发信息库通常被称为路由表
路由规则has:
java
1.一张路由表中会有多条路由规则。
2.每一条规则至少包含这三项信息
(1)目的网络:这个包想去哪儿?
(2)出口设备:将包从哪个口扔出去?
(3)下一跳网关:下一个路由器的地址.
查询和配置路由规则:
java
1.通过 route 命令和 ip route 命令都可以进行查询或者配置。
2.核心思想是:根据目的 IP 地址来配置路由。
//举例说明:
我们设置 ip route add 10.176.48.0/20 via 10.173.32.1 dev eth0,就说明要去 10.176.48.0/20这个目标网络,要从 eth0 端口出去,经过10.173.32.1。
如何配置策略路由?
在真实复杂的网络环境中,除了可以根据目的 ip 地址配置路由外,还可以根据多个参数来配置路由,这就称为策略路由。
java
1.可以配置多个路由表,可以根据源 IP 地址、入口设备、TOS 等选择路由表,然后在路由表中查找路由。
//这样可以使得来自不同来源的包走不同的路由。
例如,我们设置:
java
//表示从 192.168.1.10/24 这个网段来的,使用 table 10 中的路由表
ip rule add from 192.168.1.0/24 table 10
//从 192.168.2.0/24 网段来的,使用 table20 的路由表。
ip rule add from 192.168.2.0/24 table 20
在一条路由规则中,也可以走多条路径
java
ip route add default scope global nexthop via 100.100.100.1 weight 1 nexthop via 200.200.200.1 weight 2
//下一跳有两个地方,分别是 100.100.100.1 和 200.200.200.1,权重分别为 1 比 2
使用场景: