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
これまでに行ったこと:
nsupdate
を介しており、ローカルワークステーションから動作することを確認しましたdnsutils
をインストールしましたdhcp-script
オプションを調べました。 )しかし、スクリプトを実行できません/etc/dnsmasq.conf
と/etc/dnsmasq.d/dnsmasq-dhcp-config.conf
の両方を使用しているようですが、前者にdhcp-script
オプションを追加しても効果がなく、後者に追加すると構成構文エラーが発生しましたset service dhcp-server global-parameters
でオプションを設定することの両方を試しましたが、どちらも機能していないようです(ただし、正しく行ったかどうかもわかりません)。[編集]:EdgerouterはDHCPサーバーとしてのDhcpdの使用もサポートしているので、ERでDHCPdを構成する方法を説明する回答を受け入れますこれも;私はDNSmasqの使用と結婚していません
@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
がそれを解決できる場合、それは解決します