Vyatta 伪装桥接接口

Vyatta 伪装桥接接口

我们在网络上设置了一个 Vyatta Core 6.1 网关,它有三个接口:

  • eth0- 1.1.1.1- 公共网关/路由器 IP(到公共上游路由器)
  • eth1--2.2.2.1/24公共子网(连接到第二个防火墙2.2.2.2
  • eth2- 10.10.0.1/24- 私有子网

我们的 ISP1.1.1.1为我们提供了用作网关的地址。该2.2.2.1地址是为了让其他防火墙 ( 2.2.2.2) 能够与此网关通信,然后网关会通过eth0接口路由流量。

这是我们当前的配置:

interfaces {
    bridge br100 {
        address 2.2.2.1/24
    }
    ethernet eth0 {
        address 1.1.1.1/30
        vif 100 {
            bridge-group {
                bridge br100
            }
        }
    }
    ethernet eth1 {
        bridge-group {
            bridge br100
        }
    }
    ethernet eth2 {
        address 10.10.0.1/24
    }
    loopback lo {
    }
}
service {
    nat {
        rule 100 {
            outbound-interface eth0
            source {
                address 10.10.0.1/24
            }
            type masquerade
        }
    }
}

使用此配置,它会路由所有内容,但伪装后的源地址是1.1.1.1,这是正确的,因为这是它绑定到的接口。但由于我们这里的一些要求,我们需要它从地址获取源2.2.2.1(如果我们唯一可以从网关发送的地址是我们的网关,那么支付 C 类公共子网的费用有什么意义呢?)。

我尝试过绑定到br100而不是eth0,但如果我这样做,它似乎不会路由任何东西。

我想我只是错过了一些简单的东西。有什么想法吗?

答案1

这种行为的配置方式是合理的。你对“另一个”防火墙做了什么?这可能就像通过第二个防火墙路由你的流量一样简单,但它引出了一个问题,“为什么有 2 个防火墙?”根据配置,任何来自 10.10.0.1/24 的流量都将在另一端转换为 1.1.1.1。(使用端口地址转换)如果你需要防火墙后面的系统为自己“声明”你的一个公共 IP,你还需要设置静态 NAT。

它看起来像这样:

(取自这里以获取更详细的参考。

设置服务 nat 规则 1

编辑服务 nat 规则 1

设置类型目的地

设置翻译类型静态

设置入站接口 eth0

设置所有协议

设置源网络 0.0.0.0/0

设置目标地址公共 IP

设置内部地址内部 IP

设置服务 nat 规则 2

编辑服务 nat 规则 2

设置类型源

设置翻译类型静态

设置出站接口 eth0

设置所有协议

设置源地址内部 IP

设置目标网络 0.0.0.0/0

设置外部地址公共 IP

答案2

不要使用伪装,使用 DNAT 或 SNAT(我总是忘记哪一个) - 然后您可以指定公共 NAT 地址。

伪装基本上适用于动态地址(即消费者 adsl),其中静态地址由于会发生变化而无法指定。

相关内容