web-dev-qa-db-ja.com

ルーターOSDNSサーバー上の外部DNSサーバーの順序

Mikrotik(RouterOS 6.36)にDNSサーバーがあります。

[admin@xxx] /ip dns> print 
                servers: 10.0.10.3,8.8.8.8
        dynamic-servers: 
  allow-remote-requests: yes
    max-udp-packet-size: 4096
   query-server-timeout: 2s
    query-total-timeout: 10s
             cache-size: 10240KiB
          cache-max-ttl: 1w
             cache-used: 243KiB
[admin@xxx] /ip dns> 

尋ねるべきDNSサーバーのリストがあります。レコードが見つからない場合は、8.8.8.8に尋ねるよりも、最初に10.0.10.3に尋ねると思いますか?

問題は、10.0.10.3がいくつかのローカルアドレスを持つ内部DNSサーバーであるということです。これらは8.8.8.8では使用できません

両方のサーバーをリストすると、アドレスのnslookupが失敗します。グーグルのもの(8.8.8.8)を削除し、内部のみを残すと機能します。

RouterOSでサーバーの順序が尊重されないのはなぜですか?

10.0.10.3,8.8.8.8または8.8.8.8、10.0.10.3を注文しようとしましたが、問題ありません。

何か案は?ありがとう

1
pagep

解決する必要のある内部名がある場合は、外部DNSサーバーを定義しないでください。 HA用の2番目の内部DNSサーバーを作成し、それを他の内部サーバーと一緒にリストし、それら2つを内部ルーター構成にリストします。

7
MDMarra

ネームサーバーのリストがある場合、それはあなたが思っているようには機能しません。2番目のリストは、最初のサーバーがまったく応答しなかった場合にのみ照会されます。最初のネームサーバーがレコードが見つからない、別名NXDOMAINと応答した場合、検索はここで停止し、それ以降のネームサーバーは使用されません。

一般に、内部のプライベートネームサーバーとパブリックネームサーバーを混在させないようにアドバイスします。これにより、奇妙な相互作用が確実に発生します。

3
Patrick Mevzek

ローカルホスト名がほんの一握りしかない場合は、それらをMikrotikの静的エントリとして追加し、内部DNSサーバーをMikrotikに完全に置き換えることができます。クライアントがDNSクエリをMikrotikに送信すると、ルーターは最初に静的エントリをチェックし、ヒットしなかった場合は、構成された外部DNSサーバーに問い合わせます。

静的エントリを追加するには:

/ip dns static add name="laptop2.local" address=192.168.1.10 ttl=1d
/ip dns static add name="desktop1.local" address=192.168.1.11 ttl=1d
/ip dns static add name="server8.local" address=192.168.1.20 ttl=1d

正規表現を使用することもできます。たとえば、複数の仮想wwwホストを持つ単一の内部Webサーバーがある場合:

/ip dns static add regexp="\w*\.webserver\.local" address=192.168.1.21 ttl=1d
0
bcs78