使用专用子网连接所有路由器/防火墙?

使用专用子网连接所有路由器/防火墙?

我的网络上有几个有状态的路由器/防火墙盒(pfSense、TMG 2010、ISA 2006)。目前,它们都与大多数最终用户设备和服务器在同一子网上有一个接口。我将进行一些更改,并将一些服务器放在这些防火墙后面的自己的子网上,所以我想知道我是否应该为路由器设置一个专用子网,以便通过该子网将数据包路由到彼此。没有路由协议,只有静态路由。

我试图避免异步路由,因为异步路由对于状态防火墙来说可能是一个问题,因为流量以不同的路径流入和流出网络。如果流量通过不同的路径回流,并且该路径上的防火墙在状态表中没有记录,那么流量可能会被阻止。

我的基本问题是:这是解决这个问题的理想方法吗?为什么或为什么不?我找不到很多最佳实践,但这种方法会在每个子网上只留下一个路由器,这样我就可以避免不同机器具有不同默认网关的当前情况。

当前的

Router 1              Router 2              Router 3
192.168.1.1/24 ------ 192.168.1.2/24 ------ 192.168.1.3/24 ------ All other devices
       |                     |                      |
       V                     V                      V
10.10.10.1/24         10.20.20.1/24         10.30.30.1/24

建议的

Router 1              Router 2              Router 3
192.168.1.1/24                                              ------ All other devices
10.200.200.1/24 ----- 10.200.200.2/24 ----- 10.200.200.3/24 ------ Routers/Firewalls only
       |                     |                      |
       V                     V                      V
10.10.10.1/24         10.20.20.1/24         10.30.30.1/24    

答案1

根据我的评论,类似这样的内容

      +----------+    +----------+   +----------+
      | Router 1 |    | Router 2 |   | Router 3 |
      +-------+--+    +----+-----+   +--+-------+
              |            |            |
              |            |            |10.200.200.0/24
              |            |            |
           +--v------------v------------v-+
           |           Router A           +-------------+
           +-+---------+---------------+--+             |
             |         |               |                |
             |         |               |                |
             |         |               |                |
+------------v-+ +-----v-------+ +-----v-------+ +------v------+
|192.168.1.0/24| |10.10.10.0/24| |10.20.20.0/24| |10.30.30.0/24|
+--------------+ +-------------+ +-------------+ +-------------+

路由器 1 = 10.200.200.1

路由器 2 = 10.200.200.2

路由器 3 = 10.200.200.3

路由器 A = 10.200.200.254

这样,底层的每个网络只有 1 个路由器,因此只有 1 个默认路由。边缘路由器只需要 1 个内部路由即可访问内部子网。

内部路由器确实变得更加复杂,因为它需要了解多个上游路由器,并跟踪连接以避免异步路由。我相信这样做的好处是值得的:所有复杂性都包含在该路由器中,其余部分保持简单。而且您可以完全控制该主机上的多个连接。例如,您可以将所有 3 个连接的流量 NAT 到同一个内部服务器,但服务器不需要知道任何这些,内部服务器将跟踪每个连接并适当地路由流量以避免异步。

这与我工作中的设置非常相似,只是我们只有 2 个上游连接。路由器 A 是一对在 H/A 中运行的 Linux 机器。使用基于策略的路由跟踪连接。我发现的关于 PBR 的最佳指南是:http://www.cyber.com.au/~twb/doc/dual-uplink.txt

答案2

我想说你正在引入额外的复杂程度(从字面上讲)。

我假设您的异步路由问题来自以下情况:例如,192.168.1.55将数据包发送到10.20.20.55,但没有路由,192.168.1.2因此通过其默认方式发送,然后192.168.1.1将其重定向到192.168.1.2。然后,回复数据包直接从192.168.1.2原始源发往原始源,因此192.168.1.1只能看到客户端到服务器的数据包,而看不到服务器到客户端的数据包。

在我的环境中,我通过添加允许反弹路由的规则来避免异步路由的防火墙问题(任何进出同一接口 == 同一层 2 == 允许)。您不会引入任何安全问题,因为数据包的源和目标位于同一层 2 上,并且无论如何都可以直接相互通信,您只是通过次优路由“鼓励”性能问题。

相关内容