好吧,一图胜千言。 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 网络。