Categories: linuxOS

自宅でDNSサーバーを構築!Rocky Linux 8.8でグローバルIPを使った設定ガイド

インターネットサービスを運営するうえで欠かせないDNSサーバー。今回は、自宅に設置したサーバーで、Rocky Linux 8.8を使ってDNSサーバーを構築する手順を詳しく解説します。グローバルIPアドレスを活用し、契約した独自ドメインを用いることで、自宅サーバーから外部へ安定した名前解決サービスを提供できます。初心者でも実践しやすいよう、各ステップを丁寧に説明しています。


1. DNSサーバーとは?基本の仕組みを理解しよう

DNS(Domain Name System)は、ドメイン名とIPアドレスを紐づける役割を果たします。例えば「example.com」を「192.168.1.100」に変換することで、ブラウザでのアクセスを可能にします。自宅でDNSサーバーを構築することで、独自のネットワーク内サービスや、パブリックなWebサービスの提供が可能になります。

2. 事前準備:必要なものを確認

DNSサーバー構築を始める前に、以下を準備しましょう。

  • Rocky Linux 8.8をインストールしたサーバー(自宅設置)
  • グローバルIPアドレス(ISPから取得)
  • 契約済みのドメイン名(お名前.com、ムームードメインなど)
  • ルーターの設定アクセス権限(ポートフォワーディング設定用)
  • ターミナル接続環境(SSHクライアント)

3. Rocky Linux 8.8の初期設定

まず、サーバーの基本設定を行います。

  1. システムの更新
sudo dnf update -y
  1. 必要なパッケージのインストール
sudo dnf install bind bind-utils -y
  1. 固定IPアドレスの設定(例:192.168.1.100
nmcli con mod eth0 ipv4.addresses 192.168.1.100/24
nmcli con mod eth0 ipv4.gateway 192.168.1.1
nmcli con mod eth0 ipv4.dns 8.8.8.8
nmcli con mod eth0 ipv4.method manual
nmcli con up eth0

4. BIND(DNSサーバー)の設定

BIND(Berkeley Internet Name Domain)を設定します。

  1. 設定ファイルを編集
sudo vi /etc/named.conf

以下の内容を修正します:

listen-on port 53 { 127.0.0.1; 192.168.1.100; };  # ローカルIPを指定
allow-query { any; }; # 外部からの問い合わせを許可
  1. ゾーンファイルの作成
    以下のディレクトリにゾーンファイルを作成します:
sudo vi /var/named/example.com.zone

記入例:

$TTL 86400
@ IN SOA ns1.example.com. admin.example.com. (
2024021601 ; シリアル番号
3600 ; リフレッシュ
1800 ; リトライ
604800 ; 有効期限
86400 ) ; 最小TTL
;
@ IN NS ns1.example.com.
@ IN A 123.45.67.89 ; グローバルIP
ns1 IN A 123.45.67.89
www IN A 123.45.67.89
  1. 権限設定
sudo chown named:named /var/named/example.com.zone
  1. BINDサービスの起動
sudo systemctl enable named
sudo systemctl start named

5. ルーターの設定:ポートフォワーディング

DNSサーバーを外部に公開するために、ルーターの管理画面にアクセスし、以下を設定します:

  • **ポート53(TCP/UDP)**を自宅サーバーのローカルIP(例:192.168.1.100)に転送
  • ファイアウォールで外部からのDNSアクセスを許可

6. 動作確認

以下のコマンドでDNS動作を確認します:

bashコピーする編集するdig @192.168.1.100 example.com
dig @192.168.1.100 www.example.com

正しくIPアドレスが返ってくれば成功です。

7. セキュリティ対策

  • ファイアウォール設定
sudo firewall-cmd --add-service=dns --permanent
sudo firewall-cmd --reload
  • BIND設定の見直し(外部ゾーン転送の制限など)

8. DNSレコードの種類と活用例

DNSには複数のレコードタイプがあります:

  • Aレコード:ドメインとIPv4アドレスの紐付け
  • AAAAレコード:ドメインとIPv6アドレスの紐付け
  • MXレコード:メールサーバーの指定
  • CNAMEレコード:別名(エイリアス)の設定

まとめ
本記事では、Rocky Linux 8.8を使って自宅にDNSサーバーを構築する手順を解説しました。グローバルIPアドレスと契約したドメインを活用することで、外部向けのサービス提供が可能になります。セキュリティを意識した設定を忘れずに行い、安定した運用を目指しましょう。

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。