web-dev-qa-db-ja.com

EdgerouterDNSmasqはBINDに更新を送信します

TL; DR:DNSmasqまたはDHCPdを実行するUbiquiti EdgeRouter、およびNSupdateを構成して、DHCPリースを中央のBINDに送信する方法サーバー?


私はいくつかのシステムで構成されています biquiti EdgeRouter X すべてローカルサブネットのDHCPおよびDNSサーバーとして機能します。 ERX間のサブネット間ルーティングは、コアルーターによって処理されます。私がやりたいのは、DHCPリースを更新するたびに、BINDを実行しているマスターDNSサーバーを更新するようにERXゲートウェイを構成することです。

次の図を参照してください。各ERXがローカルサブネットのDHCPとDNSを提供しているため、クライアントはローカルERXの背後にある他のクライアントのDNS名のみを解決できます。ただし、DHCPリースの更新が発生するたびに各ERXがレコードをdns-masterに送信し、各クライアントがDNSサーバーとしてdns-masterを使用した場合、どのクライアントも他のクライアントの名前を解決できます。これは私が達成しようとしていることです。

ルーターコア
/|\
/dns-master\
/\ 
 erx-1 erx-2 
 | | 
 | -client-1a | -client-2a 
 | -client-1b | -client-2b 

これまでに行ったこと:

  • BINDは 更新を受け入れるように構成されていますnsupdateを介しており、ローカルワークステーションから動作することを確認しました
  • Debianリポジトリのアクティブ化 の後にAptを使用してERXにdnsutilsをインストールしました
  • Dnsmasq構成ファイル (そのオプションのより良い説明 マニュアルページ )、からdhcp-scriptオプションを調べました。 )しかし、スクリプトを実行できません
    • EdgeRouterのDnsmasqは/etc/dnsmasq.conf/etc/dnsmasq.d/dnsmasq-dhcp-config.confの両方を使用しているようですが、前者にdhcp-scriptオプションを追加しても効果がなく、後者に追加すると構成構文エラーが発生しました
    • Dnsmasq構成ファイルを直接変更することと、ERX構成のset service dhcp-server global-parametersでオプションを設定することの両方を試しましたが、どちらも機能していないようです(ただし、正しく行ったかどうかもわかりません)。

[編集]:EdgerouterはDHCPサーバーとしてのDhcpdの使用もサポートしているので、ERでDHCPdを構成する方法を説明する回答を受け入れますこれも;私はDNSmasqの使用と結婚していません

3
enpaul

@Tomからの提案で、BINDサーバーを使用せずにこれを行う方法を考え出しました。

解決策は、各ERXをローカルサブネットの権限のあるDNSサーバーとして構成し、各サブドメインのコアルーターにサーバー委任を作成してから、すべてのクライアントをコアルーターに向けることです。 Edgerouter固有の構成ディレクティブを以下に示します。sub1.localを適切なDNSサブドメインに置き換え、192.168.100.5をERXのIPアドレスに置き換えます。

core-router(LAN IP 192.168.100.1):

[。 DNS転送オプション "server = /。sub1.local/192.168.100.5" 

各ERXで(例、WAN IP 192.168.100.5):

[。サーバー共有ネットワーク名[サーバー]サブネット[サブネット] dns-server 192.168.100.1 

クライアントがDNSクエリをrouter-coreに送信すると、次の3つのいずれかが発生します。

  • router-coreがそれを解決できる場合、それは解決します
  • リクエストがサブドメインと一致する場合、リクエストはサブドメインに指定されたERXに転送されます
  • 要求が一致しない場合、上流のDNSサーバーに渡されます。
1
enpaul