不属于 LAN 段的源地址的风险/预防?

网络工程 路由器 ip
2022-02-16 14:48:18

假设您有一个连接了两个子网的路由器:

192.168.100/24 192.168.200/24

我将我的 PC 插入 192.168.100/24 网络,但我将我的 IP 地址静态设置为在 192.168.200/24 或任何其他 IP 子网外...

假设情况正确(或者我以其他方式强制流量到默认网关),我测试过的所有路由器都接受来自已知为“192.168.100.xxx”的接口的流量,尽管 IP 地址不在该接口范围。

是否有一个简单的设置来防止流量“离开接口”在已知子网范围内没有源地址?我只是好奇,但也觉得可以以某种方式恶意利用。或者也许这是必需的,我没有考虑所有情况。

2个回答

对于思科 (IOS):ip verify unicast reverse-path

对于 Linux:将net.ipv4.conf.all.rp_filter设置为 1(“all”可以是一个接口)

基本上有两种方法。

一种是防火墙方法。您可以创建明确的规则来限制流量,例如在 Linux 路由器上,您将使用 iptables 创建规则。

另一种是 RFC3704 中讨论的反向路径过滤方法。这谈到了三种过滤模式。严格、宽松、可行。

  • 严格模式仅在其输入接口与其源地址的最佳路径匹配时才接受数据包。
  • 可行模式仅在其输入接口是可行路径时才接受数据包。
  • 松散模式仅在有一些路由可用于其源地址时才接受数据包。

严格模式适用于所有路由都是对称的树状网络,每个目的地都可以通过一条路由到达,但对于更复杂的网络来说过于严格。

松散模式对于在无默认路由器上丢弃私有 IP 流量很有用,但对其他欺骗提供的保护很少,并且在没有默认无默认的系统上非常无用。

可行模式为更复杂的网络提供了一些有效的过滤,同时降低了阻止合法流量的风险。但是实施起来比较麻烦。路由器(硬件和软件)旨在快速确定 IP 是否可达,以及如果可以,则最佳路径是什么。确定路径是否可行需要不同类型的表。

系统可能对不同的接口使用不同的模式,因此简单用户网络的接口可以是严格模式,而核心接口和对等、上游和大客户的链路可以是可行或松散模式。

我的印象是对可行模式的支持仅限于高端路由器。