我们已经在我们的网络上建立了一个Vyatta 6.1网关,它有三个接口:
eth0 - 1.1.1.1 -公共网关/路由器IP (至公用上游路由器)eth1 - 2.2.2.1/24 -公共子网(连接到第二个防火墙2.2.2.2)eth2 - 10.10.0.1/24 -私有子网我们的ISP为我们提供了作为网关使用的1.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,但是如果我这样做,它似乎不会路由任何东西。
我想我只是错过了一些简单的东西。有什么想法吗?
发布于 2010-12-16 20:33:53
这种行为的配置方式是合理的。你在用“其他”防火墙做什么?这可能就像通过第二个防火墙路由您的流量一样容易,但它回避了一个问题:“为什么有两个防火墙?”按照配置,来自10.10.0.1/24的任何通信量在另一侧将被转换为1.1.1.1。(使用端口地址转换)如果您需要防火墙后面的系统为自己“声明”一个公共If,您还需要设置静态NAT。
看起来会是这样的:
(从这里获取更详细的参考。)
设置服务nat规则1
编辑服务nat规则1
设置类型目标
集平移式静态
设置入站接口eth0
设置所有协议
设置源网络0.0.0.0/0
设置目标地址PUBLIC_IP
设置内部地址INSIDE_IP
设置服务nat规则2
编辑服务nat规则2
集型源
集平移式静态
设置出站接口eth0
设置所有协议
设置源地址INSIDE_IP
设置目标网络0.0.0.0/0
设置外部地址PUBLIC_IP
发布于 2012-02-19 19:00:33
不要使用伪装,使用DNAT或SNAT (我总是忘记是哪一个)-然后您可以指定公共NAT的地址。
伪装基本上是用于动态地址(即使用者adsl),其中由于静态地址的变化,无法指定静态地址。
https://serverfault.com/questions/189130
复制相似问题