如何配置从两个子网到防火墙的静态路由

如何配置从两个子网到防火墙的静态路由

好吧,一图胜千言。 3 个私有子网:

                                                  +-----+    +-----+
                                                  | PC2 |    | PC3 |
                                       Linux      | .2  |    | .3  |
  __                                +----------+  +-----+    +-----+
 i  \                               |        .1|     |          |
 n   )     +-----+                  |    ------|-----+----------+-----
 t  (      |     |  192.168.0.0/24  |.1/     / |eth1  192.168.1.0/24
 e   > ----|FW .2|------------------| < LR  X  |
 r  (      |     |              eth0|  \     \ |eth2  192.168.2.0/24
 n   )     +-----+                  |    ------|-----+----------+-----
 e__/                               |        .1|     |          |
                                    +----------+  +-----+    +-----+
                                       Router     | .4  |    | .5  |
                                                  | PC4 |    | PC5 |
                                                  +-----+    +-----+

Linux路由器:

ifcace eth0 inet static
    address 192.168.0.1/24
    gateway 192.168.0.2
    dns-nameservers 8.8.8.8

ifcace eth1 inet static
    address 192.168.1.1/24

ifcace eth2 inet static
    address 192.168.2.1/24

PCx (..1.x):

ifcace eth0 inet static
    address 192.168.1.x/24
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8

PCx (..2.x):

ifcace eth0 inet static
    address 192.168.2.x/24
    gateway 192.168.2.1
    dns-nameservers 8.8.8.8

LR

# echo "1" > /proc/sys/net/ipv4/ip_forward
# ip route list
default via 192.168.0.2 dev eth0 onlink 
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.1 
192.168.1.0/24 dev eth1  proto kernel  scope link  src 192.168.1.1 
192.168.2.0/24 dev eth2  proto kernel  scope link  src 192.168.2.1 

Linux路由器可以轻松地ping到FW并与公共互联网进行通信。 LR 也可以 ping 所有 PC。 PCx 可以 ping 到192.168.0.1地址,但无法 ping 到 FW 192.168.0.2(主机无法访问)

它不打算在192.168.1.0/24和之间路由192.168.2.0/24,但人们非常期望通过 FW 到达公共互联网。我知道,可以使用 iptables NAT 做一些事情,这意味着串联配置两个防火墙,但这不是我们需要的。优先选择简单静态路由。

我用谷歌搜索了一条注释,它可能有助于设置“ip 规则”,但不明白如何设置。

拜托,你能让我知道什么该死的配置可以设置预期的路由吗?

ip route可能是强大的工具,但一些带有示例的清晰教程应该非常有用。

答案1

网络地址转换 (NAT) 并不特别关心本地 LAN IP 是什么。它只知道从外部接口转发到互联网的任何流量都必须在 IP 数据包中携带与外部接口上的公共 IP 相匹配的“发件人”地址。固件。所以你的图表没有理由不起作用外向的交通。

但是当流量返回时,再次携带“To”IP 地址固件的外部接口,NAT 将尽职地转换“To”地址以匹配 NAT 表中记录的原始 192.168.X.0/24 地址。这就是问题开始的地方。如果原来的地址是192.168.0.x/24,没问题,因为固件在该网络上有一个接口,因此知道如何直接到达这些主机。

但如果原始IP是192.168.1.x或192.168.2.x,那么固件不知道这些IP在哪里。它在这两个网络上都没有接口,因此无法直接访问它们;和固件不知道(除非你告诉它)这些IP应该被路由回LR以便LR可以转发它们。

解决这个问题的方法是在上面设置静态路由固件告诉它将网络 192.168.1.0/24 和 192.168.2.0/24 的流量路由到哪里,即将这两个网络路由到 192.168.0.1。

鉴于您的评论说您可以使用 NAT 功能固件但您无法更改其路由表,最简单的配置就是更改LR从充当路由器,到充当桥梁。回想一下,网桥连接同一网络广播域上的多个主机(通过学习每个桥接接口上存在的 MAC 地址),这与网络交换机的方式非常相似。

如果重新配置路由器LR作为桥梁(桥接eth0、eth1和eth2),全程使用192.168.0.x/24 IP,并将192.168.0.2设置为所有主机的默认网关,然后固件不仅会转发 NAT 流量,而且当流量返回时,它能够毫无问题地将其传回 192.168.0.X 网络。

相关内容