Vyatta NAT 后面的邮件服务器,带有两个 WAN 连接

网络工程 路由 纳特 维亚塔
2022-02-12 05:56:17

我有一个带有 eth0 和 eth1 的 Vyatta 路由器在同一个网段前。99.99.99.0/24,其中 eth0 为 .1,eth1 为 .2,这是 wan 网段。

到默认网关的流量通过 eth0。

还有一个内部网络ex。1.1.1.0/24,上面有电子邮件服务器 0.10。

我想要实现的是通过 eth0 进行 NAT 的所有内部流量,除了我想通过 eth1 的邮件流量。

在此处输入图像描述

1个回答

可以使用基于策略的路由 (PBR)。

但是,您在同一网络中有 2 个接口这一事实使其变得困难,因为您无法选择路由器用于到达下一跳的巫婆接口,并且您只能在 Vyatta PBR 中通过 IP(而不是接口)指定它。

为什么你在同一个局域网中有两个接口?会引起很多问题。

至少您可以在 99.99.99.0/24 网络中拥有一个 IP 接口,而在 1.1.1.0/24 网络中拥有另一个 IP 接口。

即使两者实际上都在同一个网段中,这将大大简化配置......

编辑 :

OK 误解了 1.1.1.0/24 的放置位置。问题仍然存在……为什么?

这不是一个好的设置。无论在同一个 IP 网络中拥有 2 个接口的原因是什么,都应该有更好的解决方案。

在此配置中,我看不到如何实现您想要的。

如果您在 Vyatta eth1 和您的网关之间设置另一个网络(例如 /30),那么您可以这样做。

在最后一条评论之后编辑 2:

如果您想让您的电子邮件服务器 NAT 到不同的 IP,以避免被列入黑名单,那么无需使用 2 个接口即可轻松完成。您甚至不必在接口上设置 IP,它仅适用于 nat 规则。

1 - 删除 eth1 上的配置

2 - 设置您的 nat 源规则,如:

规则 10 {

 description "Mail server"
 outbound-interface eth0
 source
     address 1.1.1.10/32
 translation {
     address 99.99.99.2
 }

规则 20 {

 description "all other machines"
 outbound-interface eth0
 source
     address 1.1.1.0/24
 translation {
     address 99.99.99.1
 }

您甚至可以在规则 10 中仅指定 TCP 端口 25(添加“协议 tcp”和“源端口 25”)

当然,这里的关键是让邮件服务器的 NAT 规则具有比更通用的网络 NAT 更低的编号。

3 - 设置一个 nat 目标规则,例如:

规则 10 {

 description "Mail server"
 inboud-interface eth0
 destination
     address 99.99.99.2
     port 25  #add 80/443/110/143 if needed
 protocol tcp
 translation {
     address 1.1.1.10