Domain-Name-System

Vyatta 和 DNS 重寫(又名髮夾或篡改)

  • August 4, 2015

我正在嘗試使我的公共 IP 也可以從 LAN 內部訪問。

我知道為了有一個內部區域來解決具有內部 IP 的主機,最好使用溢出 DNS,但由於很多原因,這不適用於我的環境。

我有一個“簡單”的配置、一個伺服器和幾個 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”;)

謝謝法比奧

您可以在此處查看範例(來自 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 作為主機。

引用自:https://serverfault.com/questions/710505