Vyatta 和 DNS 重写(又称发夹或修改)

Vyatta 和 DNS 重写(又称发夹或修改)

我正在尝试使我的公共 IP 也可以从 LAN 内部访问。

我知道最好拆分 DNS 以便拥有一个可以解决具有内部 IP 的主机的内部区域,但是由于很多原因,这并不适用于我的环境。

我有一个“简单”的配置,一个服务器和几个 NAT 端口:

set nat destination rule 4002 description 'NAT inbound'
set nat destination rule 4002 destination address 'x.y.z.k'
set nat destination rule 4002 destination port '80,443,10050,10051,11051'
set nat destination rule 4002 inbound-interface 'bond1'
set nat destination rule 4002 protocol 'tcp'
set nat destination rule 4002 translation address '10.0.0.190'

set nat source rule 4002 description 'NAT outbound'
set nat source rule 4002 outbound-interface 'bond1'
set nat source rule 4002 source address '10.0.0.190'
set nat source rule 4002 translation address 'x.y.z.k'

当我尝试从内部网络访问公共 IP 时,我无法访问它。这是一个类似于如何实现Nat环回/反射?

我在这里找到了一个解决方案:http://onebadpixel.com/blog/2014/01/22/part-5-nat-translation/

因此我尝试将其添加到配置中:

set nat source rule 1000 description 'NAT hairpin'
set nat source rule 1000 destination address '10.0.0.128/24'
set nat source rule 1000 outbound-interface 'bond0'
set nat source rule 1000 source address '10.0.0.128/24'
set nat source rule 1000 translation address 'masquerade'

但它仍然不起作用。

关于如何更改我的配置以使用 DNS 发夹,有什么建议吗?

我不是 Vyatta 专家,我来自 Cisco ASA 世界,那里很容易...只需在 NAT 规则上添加“dns”即可;)

谢谢 Fabio

答案1

您可以在此处查看示例(SteveP 的回答):

http://forum.vyos.net/showthread.php?tid=6554

(VyOs 是 Vyatta 的一个开源分支,这应该适用)

请注意,发夹是通过 nat 目标规则完成的,而不是 nat 源。

NAT 目标更改目标 IP 地址(在这种情况下正是您所需要的)并在路由决策之前执行,而 NAT 源重写源 IP 地址是在路由决策之后处理的。

另外,您的配置中的“10.0.0.128/24”也很奇怪。您应该为网络使用 10.0.0.0/24,或为主机使用 10.0.0.128。

相关内容