Linux搭建DNS服务器记录

##1、安装后named -v查看版本号,方便查找相应教程

##2、编辑/etc/named.conf

这里写图片描述

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// See the BIND Administrator's Reference Manual (ARM) for details about the
// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html

options {
	listen-on port 53 { any; };
	listen-on-v6 port 53 { ::1; };
	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-query     { any; };

	/* 
	 - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
	 - If you are building a RECURSIVE (caching) DNS server, you need to enable 
	   recursion. 
	 - If your recursive DNS server has a public IP address, you MUST enable access 
	   control to limit queries to your legitimate users. Failing to do so will
	   cause your server to become part of large scale DNS amplification 
	   attacks. Implementing BCP38 within your network would greatly
	   reduce such attack surface 
	*/
	recursion yes;

	dnssec-enable yes;
	dnssec-validation yes;
	dnssec-lookaside auto;

	/* Path to ISC DLV key */
	bindkeys-file "/etc/named.iscdlv.key";

	managed-keys-directory "/var/named/dynamic";

	pid-file "/run/named/named.pid";
	session-keyfile "/run/named/session.key";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
	type hint;
	file "named.ca";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

##3、修改/etc/named.rfc1912.zones
增加一个正向和反向解析
这里写图片描述

// named.rfc1912.zones:
//
// Provided by Red Hat caching-nameserver package 
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
// and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt
// (c)2007 R W Franks
// 
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

zone "localhost.localdomain" IN {
	type master;
	file "named.localhost";
	allow-update { none; };
};

zone "localhost" IN {
	type master;
	file "named.localhost";
	allow-update { none; };
};

zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
	type master;
	file "named.loopback";
	allow-update { none; };
};

zone "1.0.0.127.in-addr.arpa" IN {
	type master;
	file "named.loopback";
	allow-update { none; };
};

zone "0.in-addr.arpa" IN {
	type master;
	file "named.empty";
	allow-update { none; };
};

zone "carlpc.comcn" IN {
	type master;
	file "named.carlpc.comcn";
	allow-update { none; };
};

zone "197.168.192.in-addr.arpa" IN {
	type master;
	file "named.197.168.192.zone";
	allow-update { none; };
};




##4、在/var/named下增加两个配置文件named.carlpc.comcn和named.197.168.192.zone
分别为

$TTL 1D
@	IN SOA	@ rname.invalid. (
					0	; serial
					1D	; refresh
					1H	; retry
					1W	; expire
					3H )	; minimum
	IN	NS	live.carlpc.comcn.
live.carlpc.comcn.	IN	A	10.8.227.122

$TTL 1D
@	IN SOA	@ rname.invalid. (
					0	; serial
					1D	; refresh
					1H	; retry
					1W	; expire
					3H )	; minimum
197.168.192.in-addr.arpa.	IN	NS	www.test.comcn
128	IN	PTR	www.test.comcn
129	IN	PTR	mail.test.comcn
130	IN	PTR	lib.test.comcn

### 回答1: 在Linux搭建DNS服务器可以使用 bind 软件包。bind是一个开源的DNS服务器软件,可以运行在多种操作系统上。 首先,在Linux系统上安装bind软件包。在 Ubuntu/Debian 系统上可以使用以下命令安装: ``` sudo apt-get install bind9 ``` 在 CentOS/Fedora 系统上可以使用以下命令安装: ``` sudo yum install bind ``` 接下来,需要配置bind,可以在 /etc/bind 目录下编辑配置文件。 常用的配置文件如下: - named.conf:主配置文件 - named.conf.local:本地区域设置文件 - named.conf.options:选项设置文件 最后,启动bind服务并进行测试: ``` sudo systemctl start bind9 ``` 或 ``` sudo service bind9 start ``` 进行DNS查询就能查询你的DNS服务器了。 ``` nslookup example.com ``` 但是需要注意的是,搭建DNS服务器是很复杂的,如果只是想要进行简单的测试,还有更简单的方法,例如使用dnsmasq。 ### 回答2: Linux搭建DNS服务器是一项非常重要的工作,因为它可以帮助我们更快地访问网络资源。下面是Linux搭建DNS服务器的步骤: 1. 安装DNS软件 DNS服务器有许多种,如BIND、dnsmasq、Unbound等,其中BIND是最为常用的。在Ubuntu上,可以使用以下命令进行安装: sudo apt-get install bind9 2. 配置BIND 安装完BIND后,需要对其进行配置。首先需要在/etc/bind/named.conf.local文件中添加要解析的域名,可以按照以下格式进行添加: zone "example.com" { type master; file "/etc/bind/db.example.com"; }; 其中,example.com为要解析的域名,type为解析类型,file为解析文件所在的路径。然后需要在/etc/bind/named.conf.options文件中设置DNS服务器的IP地址,以及允许的查询范围: acl "trusted" { 192.168.1.0/24; }; options { directory "/var/cache/bind"; // 服务器IP地址 listen-on port 53 { 127.0.0.1; 192.168.1.100; }; // 允许查询的IP范围 allow-query { trusted; }; forwarders { 8.8.8.8; 8.8.4.4; }; }; 其中,listen-on用于设置服务器IP地址和端口号,forwarders用于设置转发查询的DNS服务器。 3. 编写DNS文件 在上述配置中,我们需要使用一个DNS文件,用于定义域名解析规则。创建/etc/bind/db.example.com文件,其中example.com为我们要解析的域名,内容如下: ; ; BIND data file for example.com ; $TTL 604800 @ IN SOA ns1.example.com. admin.example.com. ( 3 ; Serial 3600000 ; Refresh 180000 ; Retry 60480000 ; Expire 86400 ) ; Minimum TTL ; @ IN NS ns1.example.com. @ IN MX 10 mail.example.com. ns1 IN A 192.168.1.100 mail IN A 192.168.1.101 其中,SOA用于设置主机名、管理员邮箱、序列号等信息,NS用于设置域名服务器,MX用于设置邮件服务器,A用于设置IP地址。 4. 启动DNS服务器 完成配置后,可以使用以下命令启动DNS服务器: systemctl start bind9 5. 测试DNS服务器DNS服务器上运行dig命令,可以测试域名是否能够解析成功: dig example.com 如果返回以下信息,则表示配置成功: ;; ANSWER SECTION: example.com. 604800 IN A 192.168.1.100 总之,Linux搭建DNS服务器需要进行多步骤的配置,需要耐心和实践。但是,一旦完成配置,就可以为企业或个人提供快速、可靠的域名解析服务。 ### 回答3: Linux 中有许多种不同的 DNS 服务器,如 BIND,Unbound,PowerDNS 等。本文将介绍如何使用 BIND 搭建 DNS 服务器。 1. 安装 BIND 使用以下命令Linux 中安装 BIND: Ubuntu/Debian sudo apt-get install bind9 CentOS/RHEL/Fedora sudo yum install bind 2. 配置 BIND 接下来,您需要配置 BIND,以使其充当您的 DNS 服务器。 首先,打开主配置文件 named.conf: sudo nano /etc/named.conf 在文件底部添加以下行: zone "example.com" IN { type master; file "/etc/bind/db.example.com"; }; 请注意,example.com 应替换为您计划使用的域名。 然后,创建 db.example.com 文件: sudo nano /etc/bind/db.example.com 在此文件中,添加以下内容: $TTL 86400 example.com. IN SOA ns1.example.com. admin.example.com. ( 2014010101 ; serial number 3600 ; refresh 1 hour 1800 ; retry 30 minutes 604800 ; expire 1 week 86400 ; minimum TTL 1 day ) IN NS ns1.example.com. IN NS ns2.example.com. ns1 IN A 192.168.0.1 ns2 IN A 192.168.0.2 请确保 192.168.0.1 和 192.168.0.2 被替换为您计划使用的 IP 地址。 3. 重启 BIND 完成上述配置后,您需要重启 BIND 以使更改生效: Ubuntu/Debian sudo service bind9 restart CentOS/RHEL/Fedora sudo service named restart 4. 访问 DNS 服务器 现在您的 DNS 服务器已准备就绪。要验证它是否按预期工作,请使用以下命令命令行访问它: nslookup example.com 这应该返回您在 /etc/bind/db.example.com 文件中设置的 IP 地址。 5. 配置客户端 最后,您需要在客户端计算机上将 DNS 服务器设置为您的新 DNS 服务器。在大多数 Linux 发行版中,您可以使用以下命令: sudo nano /etc/resolv.conf 在文件中,添加以下行: nameserver 192.168.0.1 请确保将 192.168.0.1 替换为您计划使用的 DNS 服务器的 IP 地址。 您现在已经成功地搭建了一个 DNS 服务器!需要注意的是,BIND 是一种强大和灵活的 DNS 服务器,它可能具有许多其他配置选项,但本文中介绍的配置足以进行大多数常见的任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值