Linux 路由器用于 2 个公共子网,其中一个子网和一个本地子网 - 不进行负载平衡;)

Linux 路由器用于 2 个公共子网,其中一个子网和一个本地子网 - 不进行负载平衡;)

我在 Linux 上进行路由时遇到了问题。

我的 ISP 为我提供了 2 个公共地址范围,例如:
192.168.11.0/30(4 个地址)- 路由器
192.168.33.0/29(8 个地址)- 服务器

另外我在路由器(192.168.11.2)上有第二个接口 eth1,位于 NAT 后面 - LAN 10.0.0.0/8

网络 192.168.11.0/30 具有网络地址 (192.168.11.0)、出口地址 (192.168.11.1)、主机地址 (192.168.11.2) 和广播地址 (192.168.11.3)。网络 192.168.33.0/29 具有网络地址 (192.168.33.0)、6 个主机地址 (192.168.33.1-6) 和广播地址 (192.168.33.7) – 无出口地址。

来自网络 192.168.11.0/30 - 192.168.11.2 的主机是我的某种路由器,用于本地网络 10.0.0.0/8 并为 192.168.33.0/29 路由流量。

从互联网上的某些软件到网络 192.168.33.0/29 中的任意地址的跟踪路由都指向主机 192.168.11.2(而不是主机 192.168.11.1)。

我的配置:
192.168.11.2

$ route -n

Destination     Gateway         Genmask          Flags Metric Ref    Use Iface
0.0.0.0         192.168.11.1    0.0.0.0          UG    0      0        0 eth0
192.168.11.0    0.0.0.0         255.255.255.252  U     0      0        0 eth0
10.0.0.0        0.0.0.0         255.0.0.0        U     0      0        0 eth1
192.168.33.0    0.0.0.0         255.255.255.248  U     0      0        0 eth0

例如 192.168.33.6

$ route -n

Destination     Gateway         Genmask          Flags Metric Ref    Use Iface
0.0.0.0         192.168.11.2    0.0.0.0          UG    0      0        0 eth0
192.168.11.0    0.0.0.0         255.255.255.252  U     0      0        0 eth0
192.168.33.0    0.0.0.0         255.255.255.248  U     0      0        0 eth0

在 192.168.11.2 上,iptables 中没有关于此流量的条目,只有类似这样的内容:

iptables -A FORWARD -i eth0 -o eth0 -s 192.168.33.0/29 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth0 -d 192.168.33.0/29 -j ACCEPT

ISP 说我应该将 192.168.33.0/29 流量路由到 192.168.11.2(主机),并且这是可行的,但我的问题是,例如,到达 192.168.33.6 的所有流量,在 192.168.33.6 上的 iptables 中,主机源始终来自第一个网络 – 192.168.11.2(作为网络 192.168.33.0/29 的 gw 的主机),而不是流量的原始源 IP。

这会产生问题,因为我想在防火墙中的主机(例如 192.168.33.6)上仅允许来自路由器 LAN(10.0.0.1,其中 gw 为 192.168.33.2)和我的家(假设为 192.168.231.15)的 ssh。最后,所有流量都被允许,因为 iptables 显示的源地址是 192.168.33.2...

我知道我可以将 192.168.33.6 上的防火墙留空,并过滤路由器 192.168.11.2 上的流量,但由于一些原因,我无法以这种方式做到这一点。

相关内容