如何使用 3 个 NIC 设置自定义路由

如何使用 3 个 NIC 设置自定义路由

这是我的网络拓扑:

在此处输入图片描述

我希望每个数据代理传入请求都eth0通过回复eth0,并且eth1也会回复传入的数据eth1......

活动路线:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.110.1   0.0.0.0         UG    15     0        0 eth2
192.168.110.96  *               255.255.255.248 U     0      0        0 eth2
192.168.200.0   *               255.255.255.248 U     0      0        0 eth0
192.168.200.96  *               255.255.255.248 U     0      0        0 eth1

我尝试了这些命令,但是没有作用... :(

ip route flush table 2002
ip route flush table 2001

ip route add 10.10.8.0/22     dev eth0 src 192.168.200.2   table 2002
ip route add 192.168.100.0/24 dev eth0 src 192.168.200.2   table 2002
ip route add default via 192.168.200.1 table 2002

ip route add 10.10.8.0/22     dev eth1 src 192.168.200.101 table 2001
ip route add 192.168.100.0/24 dev eth1 src 192.168.200.101 table 2001
ip route add default via 192.168.200.100 table 2001

ip rule add from 192.168.200.2   table 2002
ip rule add from 192.168.200.101 table 2001

我该如何继续?

答案1

现在我知道我为什么不明白了……路由是在网络级别而不是端口级别完成的。您需要将网络细分为 3 个独立网络,并将每个网络绑定到每个网卡,然后让路由器将数据包路由到正确的以太网端口。

由于每个网卡都有自己的网络地址,因此任何具有特定地址的传入数据包也将通过该网络返回。

例如:

  • eth0:192.168.100.0/24 局域网
  • eth1:192.168.101.0/24 接入点
  • Eth3:默认网关/24:ADSL 调制解调器

然后,所有不属于 192.168.0.0/16 的流量都将流向互联网,并且所有本地流量将保持本地。

要进行端口转发,您有两个选择:

  1. 如果你添加额外的硬件就像 Big-IP在路由器和服务器之间,将能够检查数据包,并根据端口通过动态更改 IP 地址将内容发送到 Eth0 和 Eth1,然后服务器将再次将其发送到正确的接口,然后 BigIP 会将其转换回原来的状态...

  2. 你也可以完全放弃路由器,使用服务器作为路由器来完成同样的事情,然后你只需iptables检查数据包并对其进行路由。

但是您尝试做的事情是不可能的(仅在服务器中使用硬件路由器和软件路由),因为没有“HTTP / FTP”的概念,因为它处于端口级别...... :-(

相关内容