如何将 HTTP(S) 流量重定向到另一个网关?

如何将 HTTP(S) 流量重定向到另一个网关?

我有一个网络,如 192.168.0.0/15,默认网关设置为 192.168.0.1。网络中的所有工作站都使用此网关进行各种 Internet 访问。现在,我正在测试与另一家提供商的新 Internet 连接,为此,我在同一子网上使用第二个网关,其 IP 地址为 192.168.0.2。我想仅将 HTTP 和 HTTPS 流量重定向到第二个网关,同时保持每个工作站内设置的默认网关地址不变。我该如何完成这项任务?我必须在第一个网关的防火墙配置或路由中更改什么?我尝试使用 DNAT,如下所示:

DNAT    loc:192.168.0.1       loc:192.168.0.2    tcp    80

但什么都没起作用。我使用 Shorewall 是为了简化配置,但我可以理解甚至理论上的答案,我会尝试将其应用于我的情况。

答案1

好的,我自己使用数据包标记解决了这个问题 :-) 我在 /etc/shorewall 中创建了两个文件,分别称为 tcrules 和 provider。以下是这两个文件的内容:

提供商

#NAME   NUMBER  MARK    DUPLICATE       INTERFACE       GATEWAY         OPTIONS
Provider1   1       202     -               eth1         192.168.0.2     loose

特克鲁莱斯

#MARK    SOURCE              DEST        PROTO    DEST
#                                                 PORT(S)
202:P    eth1:!192.168.0.2  0.0.0.0/0   tcp      80
202:P    eth1:!192.168.0.2  0.0.0.0/0   tcp      443

通过此配置,我现在可以将所有传入的 HTTP(S) 连接(LAN 端)从我的第一个网关重定向到第二个网关,这样我就可以测试我的新 Internet 服务提供商 :-P

谢谢你们!

相关内容