目次
1. Install BIND (named)
2. Configure the Main BIND File (named.conf)
3. Create Forward Zone (example: example.com)
a. Add the zone in /etc/named.conf
b. Create the zone file
4. Create Reverse Zone (Optional, for PTR records)
a. Add reverse zone in /etc/named.conf
b. Create reverse zone file
5. Set Proper Permissions and SELinux Context
6. Enable and Start the DNS Service
7. Configure Firewall
8. Test the DNS Server
a. Check zone file syntax
b. Check main config
c. Use dig to test
9. Point Clients to Your DNS Server
Final Notes
ホームページ 運用・保守 CentOS CENTOS 7にDNSサーバーを設定する方法

CENTOS 7にDNSサーバーを設定する方法

Aug 07, 2025 pm 04:16 PM
DNSサーバー centos 7

安装BIND软件包;2. 配置named.conf文件以允许查询和递归;3. 创建正向区域文件并定义A记录;4. (可选)创建反向区域文件以支持PTR记录;5. 设置正确的文件权限和SELinux上下文;6. 启用并启动named服务;7. 配置防火墙允许DNS流量;8. 使用named-checkzone、named-checkconf和dig测试配置;9. 将客户端DNS指向该服务器;每次修改区域文件需递增序列号,生产环境建议配置从DNS服务器并禁用公共递归以确保安全,所有步骤完成后DNS服务器即可正常运行。

How to set up a DNS server on CentOS 7

Setting up a DNS server on CentOS 7 involves installing and configuring BIND (Berkeley Internet Name Domain), which is the most widely used DNS server on Unix-like systems. Below is a step-by-step guide to help you set up a basic authoritative DNS server for a domain.

How to set up a DNS server on CentOS 7

1. Install BIND (named)

First, install the BIND package using yum:

sudo yum install bind bind-utils -y
  • bind: The DNS server daemon (named).
  • bind-utils: Includes tools like dig, nslookup, and host for testing DNS.

2. Configure the Main BIND File (named.conf)

Edit the main configuration file:

How to set up a DNS server on CentOS 7
sudo vi /etc/named.conf

Make sure the following options are set (especially for allowing queries and zone transfers):

options {
    listen-on port 53 { any; };
    directory       "/var/named";
    dump-file       "/var/named/data/cache_dump.db";
    statistics-file "/var/named/data/named_stats.txt";
    memstatistics-file "/var/named/data/named_mem_stats.txt";

    // Allow queries from your network
    allow-query     { localhost; 192.168.1.0/24; };  // Adjust to your network

    // Enable recursion only if needed (for internal DNS)
    recursion yes;

    // Optional: Restrict recursion to internal clients
    allow-recursion { localhost; 192.168.1.0/24; };

    dnssec-validation no;  // Disable if not using DNSSEC (simpler for beginners)
};

Also, ensure zone files are loaded by confirming this line exists:

How to set up a DNS server on CentOS 7
include "/etc/named.rfc1912.zones";

3. Create Forward Zone (example: example.com)

a. Add the zone in /etc/named.conf

Add the following to the end of /etc/named.conf or in /etc/named.rfc1912.zones:

zone "example.com" IN {
    type master;
    file "example.com.zone";
    allow-update { none; };
};

Replace example.com with your actual domain.

b. Create the zone file

Create the forward zone file:

sudo vi /var/named/example.com.zone

Add content like this:

$TTL 86400
@       IN  SOA     ns1.example.com. admin.example.com. (
                    2024040101  ; Serial (YYMMDDNN)
                    3600        ; Refresh
                    1800        ; Retry
                    604800      ; Expire
                    86400 )     ; Minimum TTL

; Name Servers
@       IN  NS      ns1.example.com.
@       IN  NS      ns2.example.com.

; A Records
ns1     IN  A       192.168.1.10
ns2     IN  A       192.168.1.11
www     IN  A       192.168.1.20
mail    IN  A       192.168.1.25
@       IN  A       192.168.1.20  ; example.com

Replace IPs and names with your actual values.


4. Create Reverse Zone (Optional, for PTR records)

a. Add reverse zone in /etc/named.conf

For network 192.168.1.0/24:

zone "1.168.192.in-addr.arpa" IN {
    type master;
    file "192.168.1.rev";
    allow-update { none; };
};

b. Create reverse zone file

sudo vi /var/named/192.168.1.rev

Content:

$TTL 86400
@       IN  SOA     ns1.example.com. admin.example.com. (
                    2024040101
                    3600
                    1800
                    604800
                    86400 )

; Name Servers
@       IN  NS      ns1.example.com.
@       IN  NS      ns2.example.com.

; PTR Records
10      IN  PTR     ns1.example.com.
11      IN  PTR     ns2.example.com.
20      IN  PTR     www.example.com.
25      IN  PTR     mail.example.com.

5. Set Proper Permissions and SELinux Context

Ensure the zone files are readable by named:

sudo chown root:named /var/named/*.zone /var/named/*.rev
sudo chmod 640 /var/named/*.zone /var/named/*.rev

Fix SELinux context (if enabled):

sudo restorecon -R /var/named

6. Enable and Start the DNS Service

sudo systemctl enable named
sudo systemctl start named

Check status:

sudo systemctl status named

7. Configure Firewall

Allow DNS traffic:

sudo firewall-cmd --permanent --add-service=dns
sudo firewall-cmd --reload

8. Test the DNS Server

a. Check zone file syntax

sudo named-checkzone example.com /var/named/example.com.zone
sudo named-checkzone 1.168.192.in-addr.arpa /var/named/192.168.1.rev

b. Check main config

sudo named-checkconf

c. Use dig to test

On the server or a client:

dig @localhost example.com
dig @192.168.1.10 www.example.com
dig -x 192.168.1.20  ; Reverse lookup

You should see the correct A or PTR records in the answer section.


9. Point Clients to Your DNS Server

On client machines, set their DNS to use:

192.168.1.10   # Your DNS server IP

Edit /etc/resolv.conf:

nameserver 192.168.1.10

Final Notes

  • Increment the Serial number each time you update a zone file.
  • Use rndc reload to reload zones without restarting:
    sudo rndc reload example.com
  • For production, consider setting up a slave (secondary) DNS server for redundancy.
  • Secure your DNS server: disable recursion for public access if it's authoritative only.

  • Setting up a DNS server on CentOS 7 with BIND isn't complex once you understand the zone structure and configuration layout. Just double-check file permissions, syntax, and firewall settings—most issues come from those areas.

    Basically, get the config right, test thoroughly, and keep it secure.

    以上がCENTOS 7にDNSサーバーを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ホットトピック

CentOS 7 での 82599 ネットワーク カード ドライバーのインストール、および Dell PowerEdge 2288H V5 サーバーでの CentOS 7 のインストール CentOS 7 での 82599 ネットワーク カード ドライバーのインストール、および Dell PowerEdge 2288H V5 サーバーでの CentOS 7 のインストール Feb 14, 2024 pm 03:03 PM

LINUX は、サーバーや組み込み機器で広く使用されているオープン ソース オペレーティング システムです。サーバー分野では、CentOS が非常に人気のある LINUX ディストリビューションであり、82599 は一般的な高性能ネットワーク カードです。この記事では、82599 をインストールする方法を紹介します。 CentOS7 でのネットワーク カード ドライバーについて説明し、DellPowerEdge2288HV5 サーバーに CentOS7 をインストールする手順と注意事項を詳しく説明します。 CentOS7 での 82599 ネットワーク カード ドライバーのインストール 1. CentOS7 システムが正しくインストールされ、最新の状態であることを確認します。次のコマンドを使用して、システム バージョンと更新ステータスを確認できます: ```cat/etc/redhat-リリース

DNSコンピュータサーバーが応答しない場合の対処方法 DNSコンピュータサーバーが応答しない場合の対処方法 Dec 20, 2023 pm 04:35 PM

DNS コンピュータ サーバーが応答しない場合の解決策: 1. ネットワーク接続の問題、2. DNS サーバーの障害、3. DNS 構成の問題、4. DNS キャッシュの問題、5. DNS セキュリティの問題、6. オペレーティング システムとドライバーの更新、7.パブリック DNS サーバー; 8. ルーターとスイッチを再起動します; 9. ファイアウォール設定を確認します; 10. サービスプロバイダーに連絡します。詳細な紹介: 1. ネットワーク接続に問題がある場合、まずネットワーク接続が正常かどうかを確認してください。コンピュータがインターネットに接続できない場合、DNS サーバーは当然応答できなくなります。

DNSサーバーが応答しない問題を解決する方法 DNSサーバーが応答しない問題を解決する方法 Sep 06, 2023 am 10:41 AM

DNS サーバーが応答しない場合の解決策には、ネットワーク接続の確認、ローカル DNS キャッシュのクリア、DNS サーバーの変更、ファイアウォールとセキュリティ設定の確認、他のデバイスまたはネットワークの使用、ネットワーク サービス プロバイダーへの連絡などが含まれます。詳細な紹介: 1. ネットワーク接続をチェックして、ネットワーク接続が正常であることを確認します。他の Web ページを開いたり、他のデバイスを使用してアクセスしたりして、他の Web ページに正常にアクセスできるかどうかを判断できます。 、DNS サーバーの問題である可能性があります 2、ローカル DNS キャッシュなどをクリアします。

DNS サーバーのアドレスはどれくらいの長さに設定すればよいですか? DNS サーバーのアドレスはどれくらいの長さに設定すればよいですか? Feb 18, 2024 pm 11:53 PM

DNS のサーバーアドレスは何に設定されていますか? DNS (DomainNameSystem) は、インターネット上でドメイン名を IP アドレスに解決するために使用されるシステムです。ユーザーが入力したドメイン名を対応する IP アドレスに変換することで、ユーザーは Web サイトやサービスにアクセスできるようになります。 DNS サーバー アドレスを設定する場合、通常 2 つのオプションがあります。ISP (インターネット サービス プロバイダー) によって提供されるデフォルトの DNS サーバー アドレスを使用するか、カスタム DNS サーバー アドレスを手動で設定します。

DNSサーバーアドレスとは何ですか? DNSサーバーアドレスとは何ですか? Jan 11, 2024 am 09:30 AM

DNS サーバーのアドレスは、ユーザーが使用するネットワーク プロバイダーによって決定されます。通常、ルーターまたはネットワーク設定は、DNS サーバー アドレスを自動的に取得して構成します。DNS サーバー アドレスを手動で設定する手順は次のとおりです。 1. ネットワーク設定を開きます。コンピュータまたはコントロール パネル上; 2. ネットワーク接続オプションを見つけて、対応する設定を開きます; 3. ネットワーク設定で、TCP/IP 設定または IPv4 設定を見つけます; 4. TCP/IP または IPv4 設定で、 IP アドレスの手動構成; 5. 優先 DNS サーバー アドレスを入力します。

/etc/resolv.confでDNSサーバーを変更する方法は? /etc/resolv.confでDNSサーバーを変更する方法は? Jun 26, 2025 am 12:09 AM

/etc/resolv.confのDNS構成を変更する鍵は、ステップと予防策をマスターすることです。システムは、ドメイン名の解像度にデフォルトで指定されたDNSを使用するため、ファイルを変更する必要があります。より安定したまたはプライバシー保護されたDNS(8.8.8.8、1.1.1など)を変更する場合、手動で編集する必要があります。 NanoまたはVIMを使用して、ファイルを開き、名前サーバーエントリを変更できます。保存して終了した後、一部のシステムは、効果を発揮するためにネットワークサービスを再起動する必要があります。ただし、システムがシステムを使用して構成を自動的に取得する場合、直接変更が上書きされる場合があることに注意する必要があります。対応する構成は、ファイルをロックするか、サービスを再起動する前に調整する必要があります。さらに、最大2つまたは3つのDNSアドレスを追加でき、順序は影響します

IFCFGファイルを使用してCENTOS 7で静的IPアドレスを構成する方法は? IFCFGファイルを使用してCENTOS 7で静的IPアドレスを構成する方法は? Jul 02, 2025 am 12:22 AM

CENTOS7静的IPアドレスを構成するには、対応するネットワークカードのIFCFGファイルを編集する必要があります。 1.最初に、IplinkshowまたはLS/SYS/Class/Netを介してENS33などのネットワークカード名を確認します。 2。/etc/sysconfig/network-scripts/ifcfg-ens33ファイルを編集して、bootproto = staticを設定し、iPaddr、netmask、ゲートウェイ、その他のパラメーターに入力します。 3.保存後、ネットワークサービスを再起動して構成を有効にします。 4. iPaddrshowおよびpingコマンドを使用して、構成が成功したかどうかを確認します。 IPの競合を回避し、変更後にネットワークサービスを再起動するように注意してください。 networkmを使用する場合

Centos 7に失われたルートパスワードをリセットする方法は? Centos 7に失われたルートパスワードをリセットする方法は? Jun 30, 2025 am 12:09 AM

CentOS7のルートパスワードをリセットするには、Grubメニューに移動して、シングルユーザーモードを開始します。 1.起動時に矢印キーを繰り返し押して、起動プロセスを中断してGRUBメニューを入力します。 2.カーネルを選択し、「E」を押して、起動パラメーターを編集します。 3. Linuxの16行目の終わりにRd.Breakを追加してから、開始します。 4. initramfsshellを入力した後、ルートファイルシステムを再マウントして読み取りモードを書き留めます。 5. chrootを使用して実際のルート環境に切り替え、passwdrootを使用してパスワードを変更します。 6. .autorelabelファイルを作成して、selinuxが正しく相手であることを確認します。 7.出口を出て、システムを再起動します。この方法には物理またはコンソールアクセスが必要であり、リモートサーバーには

See all articles