- RHEL 9/Rocky 9/Alma 9 に安全なローカル リゾルバーを設定しますか?
- 前提条件と初期インストール
- ベースファイルのチェックと構成の検証
- キャッシュリゾルバの推奨構成(基本)
- RNDCキー生成とリモート管理
- ファイアウォールとSELinux
- さらなるセキュリティ:制限、監視、不正使用の防止
- 監視、ログ記録、トラブルシューティング
- 高度なシナリオ: ビュー、スプリットホライズン、分散サーバー
- さまざまなアプリケーションのための実用的なヒント
- 完全な概要構成例(簡単な例)
- 最終的なヒントとベストプラクティス
- このサービスをプロバイダーのクラウド インフラストラクチャに実装する理由は何ですか?
- よくある質問
RHEL 9/Rocky 9/Alma 9 に安全なローカル リゾルバーを設定しますか?
このガイドでは、 リゾルバ(ローカルリゾルバ) に基づく バインド に基づく分布について RHEL 9 のように ロッキー Linux 9 そして アルマ・リナックス9 検討中です。目標は、社内ネットワーク、クラウドサーバー、ワークロードクラスターで使用できる、安全で監視可能かつ最適化されたリゾルバーを提供することです。これは、レイテンシの削減とDNS解決の安定性向上を求めるウェブマスター、DevOps、トレーダー、ゲーマー、AIチームにとって最適なソリューションです。.
前提条件と初期インストール
前提条件
- サーバ RHEL 9/ロッキー Linux 9/アルマ・リナックス9 root または sudo アクセスを使用します。.
- ルートヒント/フォワーダーを更新およびダウンロードするにはインターネット アクセスが必要です。.
- パッケージ バインド そして バインドユーティリティ.
初期インストール
BIND を更新およびインストールするには、次のコマンドを使用します。
sudo dnf update -y
sudo dnf install -y bind bind-utils
sudo systemctl enable --now named
sudo systemctl status namedベースファイルのチェックと構成の検証
重要なファイルとパス:
- /etc/named.conf — メイン設定
- /var/named — デフォルトのゾーンディレクトリ
- /etc/rndc.key (rndc-confgen -a 後)
- /var/named/data — ログとキャッシュダンプ
構成をすばやく確認するには、次のツールを使用します。
sudo named-checkconf
sudo named-checkzone example.com /var/named/example.com.zoneキャッシュリゾルバの推奨構成(基本)
で /etc/named.conf セクション オプション 以下のように編集してください。これは、クエリ制約とフォワーダーを備えたローカルリゾルバーの動作例です。
options {
directory "/var/named";
listen-on port 53 { 127.0.0.1; 10.10.10.5; };
listen-on-v6 { none; };
allow-query { localhost; localnets; 10.10.10.0/24; };
recursion yes;
forwarders { 1.1.1.1; 8.8.8.8; };
dnssec-validation auto;
managed-keys-directory "/var/named/dynamic";
minimal-responses yes;
max-cache-ttl 86400;
max-ncache-ttl 3600;
rate-limit {
responses-per-second 10;
window 5;
};
auth-nxdomain no;
};実用的なヒント:
- フォワーダー 会社の Anycast リゾルバまたは Cloudflare/Google に割り当てることができます。レイテンシを削減するには、最も近い場所を使用することをお勧めします。.
- 最小限の応答 また、適切な TTL によりトラフィックが削減され、パフォーマンスが向上します。.
RNDCキー生成とリモート管理
RNDCを使用してBINDを安全に管理します。まずキーを生成し、サービスを再起動します。
sudo rndc-confgen -a
sudo systemctl restart named
sudo rndc statusファイアウォールとSELinux
firewalldでポートを開く
sudo firewall-cmd --permanent --add-port=53/udp
sudo firewall-cmd --permanent --add-port=53/tcp
sudo firewall-cmd --reloadSELinux設定
SELinux を使用している場合は、次のコマンドを使用してコンテキストと権限を設定します。
sudo restorecon -Rv /var/named
sudo setsebool -P named_write_master_zones on
sudo semanage port -a -t dns_port_t -p tcp 53
sudo semanage port -a -t dns_port_t -p udp 53さらなるセキュリティ:制限、監視、不正使用の防止
不正複製の禁止(ゾーン転送)
権限ゾーンにおける不正なAXFRのアクセスを防ぐには、TSIGキーを使用します。次の例は、キーの定義と転送許可の制限を示しています。
key "xfr-key" {
algorithm hmac-sha256;
secret "BASE64-SECRET";
};
zone "example.com" IN {
type master;
file "example.com.zone";
allow-transfer { key "xfr-key"; };
};DDoSおよびレート制限ソリューション
- から レート制限 オプションで使用します。.
- の使用 RPZ(レスポンスポリシーゾーン) 悪意のあるドメインをブロックします。.
- ネットワーク レベルでは、Anti-DDoS および Anycast/BGP ソリューションを活用して悪意のあるトラフィックを分散します。.
DNSSECと検証
活性化することで dnssec検証自動リゾルバはDNSSEC署名をチェックし、悪意のある応答を拒否します。managed-keysが存在することを確認してください。
sudo ls /var/named/dynamic監視、ログ記録、トラブルシューティング
ログと回転
BIND はデフォルトでログに記録します。 /var/named/data/ ファイルを管理するには ログローテート ログを syslog/journal に使用またはリダイレクトします。.
機能コマンド
dig @10.10.10.5 example.com +stats
dig @10.10.10.5 google.com +short
sudo rndc flush
sudo named-checkconf
sudo named-checkzone example.com /var/named/example.com.zone
sudo systemctl status named
sudo journalctl -u named -f高度なシナリオ: ビュー、スプリットホライズン、分散サーバー
スプリットホライズンのビュー
社内と社外のクライアントに異なる対応をするために ビュー 使用例:
acl "internal" { 10.10.10.0/24; localhost; };
view "internal" {
match-clients { "internal"; };
recursion yes;
zone "example.com" {
type master;
file "zones/db.example.internal";
};
};
view "external" {
match-clients { any; };
recursion no;
zone "example.com" {
type master;
file "zones/db.example.public";
};
};地理的分散とエニーキャスト
低レイテンシが求められるサービス(トレーダー、ゲーマーなど)の場合、リゾルバを複数の場所に分散させ、Anycast/BGPを利用することで最良の結果が得られます。このソリューションを提供している企業は、 世界85か所 また、分散リゾルバ、DDoS 保護、BGP 接続を展開するための Anycast および CDN インフラストラクチャも用意されています。.
さまざまなアプリケーションのための実用的なヒント
ウェブサイトおよびWordPress管理者向け
- クラウド サーバー上の内部リゾルバ キャッシュを使用して、DNS ルックアップを削減します。.
- 設定 最小限の応答 TTL を合理化してページの読み込み速度を向上させます。.
- レイテンシを削減し、可用性を高めるには、CDN と DNS を組み合わせることをお勧めします。.
DevOpsおよびAI/レンダリングクラスター向け
- 各ノードでローカル リゾルバを実行するか、大容量の中央リゾルバを実行して、レジストリとリソースへのアクセスを高速化します。.
- CI/CD ジョブとパッケージのダウンロードで DNS キャッシュを使用します。.
- 大規模な環境では、スプリット ホライズンを使用して内部サービスと外部サービスを分離します。.
トレーダーとゲーマー向け
- リゾルバを地理的に最も近い場所に配置する 85か所 ping を減らすことをお勧めします。.
- エニーキャスト リゾルバと Anti-DDoS サーバーを使用して、安定性を高め、攻撃から保護します。.
完全な概要構成例(簡単な例)
重要な部分 /etc/named.conf:
options {
directory "/var/named";
listen-on port 53 { 127.0.0.1; 10.10.10.5; };
allow-query { localhost; localnets; 10.10.10.0/24; };
recursion yes;
forwarders { 1.1.1.1; 8.8.8.8; };
dnssec-validation auto;
minimal-responses yes;
rate-limit { responses-per-second 10; window 5; };
};最終的なヒントとベストプラクティス
- いつも 再起動する前に、named-checkconf と named-checkzone を実行してください。.
- サブネットに制限されたアクセスを指定します。リゾルバをすべてのユーザーに公開したままにしないでください。.
- ゾーン転送にはTSIGキーを使用し、
rndc-confgen -a安全な管理に使用します。. - ログを監視し、トラフィックの増加やエラーに対するアラートしきい値を定義します。.
- 一般向けにサービスを提供する場合は、Anti-DDoS インフラストラクチャと地理的分散を活用します。.
このサービスをプロバイダーのクラウド インフラストラクチャに実装する理由は何ですか?
利点:
- 異なる地理的な場所にリゾルバを展開して、ping を減らし、応答を高速化します。.
- Anti-DDoS とネットワーク ファイアウォールによる高度な保護。.
- CDN および分散ネットワークとの統合により、可用性が向上し、レイテンシが短縮されます。.
- マネージドプラン(マネージド DNS)と、GitLab、データベース、AI インフラストラクチャをホストする機能。.









