Linux で高可用性 DNS クラスターを構成する方法
はじめに:
インターネットの急速な発展に伴い、DNS (ドメイン ネーム システム) は重要なネットワーク インフラストラクチャの 1 つとして役割を果たします。ドメイン名の主要な役割を IP アドレスに変換します。トラフィックの多いネットワーク環境では、DNS サーバーの高可用性が重要になります。この記事では、Linux システム上で高可用性 DNS クラスターを構成する方法について説明し、いくつかのコード例を示します。
sudo apt-get update sudo apt-get install bind9
/etc/bind/named.conf.local
を開き、次の内容を追加します。 zone "example.com" { type master; file "/etc/bind/db.example.com"; allow-transfer { IP_ADDRESS_OF_SECONDARY_DNS_SERVER; }; };
example.com
を に置き換えることに注意してください。独自のドメイン名を入力し、IP_ADDRESS_OF_SECONDARY_DNS_SERVER
をセカンダリ DNS サーバーの IP アドレスに置き換えます。
次に、ドメイン名解決ファイル /etc/bind/db.example.com
を作成し、次の内容を追加します。
; ; BIND data file for example.com ; $TTL 604800 @ IN SOA ns1.example.com. admin.example.com. ( 3 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns1.example.com. @ IN A IP_ADDRESS_OF_PRIMARY_DNS_SERVER ns1 IN A IP_ADDRESS_OF_PRIMARY_DNS_SERVER www IN CNAME example.com.
必ず を追加してください。 example.com
を独自のドメイン名に置き換え、IP_ADDRESS_OF_PRIMARY_DNS_SERVER
をプライマリ DNS サーバーの IP アドレスに置き換えます。
/etc/bind/named.conf.local
を開き、次の内容を追加します: zone "example.com" { type slave; file "/etc/bind/db.example.com"; masters { IP_ADDRESS_OF_PRIMARY_DNS_SERVER; }; };
同様に、example.com
を置き換えます #独自のドメイン名と IP_ADDRESS_OF_PRIMARY_DNS_SERVER
をプライマリ DNS サーバーの IP アドレスに置き換えます。
sudo systemctl start bind9 sudo systemctl enable bind9
まず、Keepalived と HAProxy をインストールします。
sudo apt-get install keepalived sudo apt-get install haproxy
次に、プライマリ DNS サーバーとセカンダリ DNS サーバーでそれぞれを構成します。
メイン DNS サーバーで、Keepalived 構成ファイル /etc/keepalived/keepalived.conf
を編集し、次の内容を追加します:
global_defs { router_id LVS_DEVEL } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 virtual_ipaddress { IP_ADDRESS_OF_DNS_CLUSTER } }
Change IP_ADDRESS_OF_DNS_CLUSTER
負荷分散に使用される仮想 IP アドレスに置き換えます。
セカンダリ DNS サーバーで、Keepalived 構成ファイル /etc/keepalived/keepalived.conf
を編集し、次の内容を追加します。
global_defs { router_id LVS_DEVEL } vrrp_instance VI_1 { state BACKUP interface eth0 virtual_router_id 51 priority 99 virtual_ipaddress { IP_ADDRESS_OF_DNS_CLUSTER } }
同様に、 を変更します。 IP_ADDRESS_OF_DNS_CLUSTER
負荷分散に使用される仮想 IP アドレスに置き換えられます。
最後に、プライマリ DNS サーバーとセカンダリ DNS サーバーでそれぞれ HAProxy 構成ファイル /etc/haproxy/haproxy.cfg
を編集します。次の例を参照してください:
frontend dns_cluster bind IP_ADDRESS_OF_DNS_CLUSTER:53 mode tcp default_backend dns_servers backend dns_servers mode tcp balance roundrobin server primary_dns IP_ADDRESS_OF_PRIMARY_DNS_SERVER:53 check server secondary_dns IP_ADDRESS_OF_SECONDARY_DNS_SERVER:53 check
必ず IP_ADDRESS_OF_DNS_CLUSTER
をロード バランシングに使用される仮想 IP アドレスに置き換え、IP_ADDRESS_OF_PRIMARY_DNS_SERVER
と IP_ADDRESS_OF_SECONDARY_DNS_SERVER
をプライマリおよびセカンダリ DNS サーバーの IP アドレスに置き換えます。
sudo systemctl start keepalived sudo systemctl start haproxy
次に、ドメイン名解決ツール (dig
など) を使用して、 DNS サービスは正常に動作しています。たとえば、次のコマンドを実行します。
dig example.com @IP_ADDRESS_OF_DNS_CLUSTER
IP_ADDRESS_OF_DNS_CLUSTER
を、ロード バランシングに使用される仮想 IP アドレスに必ず置き換えてください。
結論:
この記事の概要とコード例を通じて、Linux システム上で高可用性 DNS クラスターを構成する方法を学習しました。ロード バランシングとフェイルオーバー テクノロジを通じて、DNS サーバーの可用性とパフォーマンスを向上させ、ネットワーク サービスの安定性を確保できます。高可用性 DNS クラスターの構成が成功することを祈っています。
以上がLinux 上で高可用性 DNS クラスターを構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。