我有一台交换机,上面连接了 4 个调制解调器/路由器和 2 台服务器。每台服务器都有 2 个进程在运行,并且连接了 2 个网卡。我想要的是,每个进程都从其中一个网卡路由出去,但具有不同的默认网关,这样每个进程的流量都会流向不同的路由器。
更新 1:
本质上我想要做的是:在进程级别上控制流量从哪个 NIC 传出。
更新2:
我知道使用“网络命名空间”,我可以将来自进程的流量从特定 NIC 发送出去。我的问题是两个 NIC 应该位于同一子网中。同时,来自 NIC-1 的流量应定向到 ROUTER-1,来自 NIC-2 的流量应定向到 ROUTER-2
更新 3:
我是从 Linux 的角度问这个问题的。
答案1
由于您的问题不是针对任何操作系统的,因此我也会以一般的方式回答。
可以通过两种方式实现:
- 传统方式:通过进程运行的 uid 来区分进程,并为每个特定的 uid 安装特定的数据包过滤规则,以便根据需要转发流量。例如,转发到不同的网关。
- 现代方式:您将每个进程绑定到特定的路由表,然后系统根据路由表将数据包路由。
更新:你们两次更新后,我的答案仍然有效。:P
对于 Linux 来说仍然可行:拉拉训练中心是一个很好的起点。首先,创建多个路由表;其次,创建规则以将特定类型的流量分配给这些路由表。