我有一个网络,如 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
谢谢你们!