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

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 likedig
,nslookup
, andhost
for testing DNS.
2. Configure the Main BIND File (named.conf
)
Edit the main configuration file:

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:

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 サイトの他の関連記事を参照してください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

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

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

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

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

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

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

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

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

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

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を使用する場合

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