2017-02-17 37 views
-1

我在本地網絡上綁定了DNS服務器以獲取* .home分辨率,併爲每個其他域分配了轉發器部分。我還有一個本地網絡服務器,它從外部爲* .mydomain.com的一些子域提供服務,我的ISP盒子將端口80/443重定向到它。本地DNS覆蓋隨機使用綁定

但是,從我的本地網絡中的任何計算機,如果我嘗試訪問任何* .mydomain.com地址,返回的IP地址是我的公共IP地址,並且ISP框不會將請求重定向到我的服務器。我使用了一種解決方法,將子域* .mydomain.com與服務器的本地IP地址添加到每臺本地計算機上的/ etc/hosts中,但這並不完美,因爲如果將計算機移動到另一個網絡,則必須更改該子域。我無法在我的無根Android設備上執行此操作。

完美的解決方案是讓我的本地DNS將* .mydomain.com的DNS條目與本地IP而非公共名稱相沖突。我爲此嘗試了一些Bind9配置,一些使用「響應策略」指令,一些沒有它,但是在任何情況下,我都會獲得外部IP約50%的時間,我無法弄清楚原因。這發生在我使用的每臺計算機上(一些在Ubuntu上,一些在Windows上),也在我的Android手機上。

使用dig @mydns subdomain.mydomain.com返回本地IP,因此我假定綁定配置正常,但dig subdomain.mydomain.com(或ping)並不總是返回正確的IP。我也嘗試禁用代理像這樣子域:

zone "mydomain.com" { 
    type master; 
    file "/etc/bind/db.mydomain"; 
    forwarders {}; 
}; 

我刷新我的電腦的DNS緩存並有我的網絡上沒有其他DNS服務器,所以我不明白怎麼會發生這種情況。我也嘗試在綁定服務器上記錄請求,並且沒有看到返回外部IP地址的請求(只有那些具有內部地址的請求)。那麼這些請求經過哪裏?

回答

1

我終於發現問題所在:我的自定義DHCP/DNS服務器僅配置爲IPv4,但我的ISP盒也提供IPv6功能,因此所有來自網絡上通過這兩種協議發送的設備的DNS請求並且有一半時間,請求由ISP框而不是我的自定義DNS來回答。

我現在禁用了IPv6,問題沒有了。稍後我會爲我的自定義服務器配置它。