其实linux搭建dns服务器的问题并不复杂,但是又很多的朋友都不太了解Linux怎么搭建DNS服务器,因此呢,今天小编就来为大家分享linux搭建dns服务器的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
一、Linux怎么搭建DNS服务器
Linux搭建DNS服务器简要步骤:
1
简要步骤:
1.在bind的主配置文件中添加该域
2.在/var/named中创建该域的zone文件
3.编辑zone文件,添加需要的信息
4.检测防火墙或selinux设置
5.启动bind服务,重启网络服务
6.用户端测试域名解析
END
搭建DNS服务器详细步骤:
1
1、安装DNS服务器组件
安装bind
yum install-y bind bind-chroot bind-utils
2
2、编辑DNS主配置文件
vi/etc/named.conf修改主配置文件,如下图:
修改完毕,保存退出
3
3、接着修改named.rfc1912.zones文件,vi/etc/named.rfc1912.zones,如下图:
4
4、添加设置DNS正向解析
修改zone配置文件,正向解析:
cd/var/named/
cp named.localhost szlpt..zone
vi szlpt..zone(要和主配置文件[/etc/named.rfc1912.zones]里面定义的zone文件名一致)
5
5、修改zone配置文件,反向解析:
cd/var/named/
cp named.localhost 32.168.192.zone
vi 0.168.192.zone(要和主配置[/etc/named.rfc1912.zones]文件里面定义的zone文件名一致)
6
6、更改防火墙设置和selinux设置
Getenforce(查看selinux是否开启)
setenforce 0
vi/etc/sysconfig/iptables#配置防火墙端口
-AINPUT-m state--state NEW-m tcp-p tcp--dport 53-j ACCEPT
-AINPUT-m state--state NEW-m udp-p udp--dport 53-j ACCEPT
-AINPUT-m state--state NEW-m tcp-p tcp--dport 953-j ACCEPT
service iptables restart#重启防火墙,使规则生效
7
7、启动DNS服(注意DNS服务名称在linux是叫做bind)
service named start
8
8、测试检测域信息是否正常(重要)
检查之前先看下配置文件有没有读取权限 ll/var/named
(如果没有读取全线, chmod+r/var/named/*即可)
9
9、检查bind文件配置过程中容易出错
以下命令用以检查bind配置文件及zone文件语法
named-checkconf/etc/named.conf
named-checkzone szlpt./var/named/ szlpt..zone
10
10、启动重启DNS服务,查看服务状态
service named restart
service work restart
用户端测试解析,通过nslookup进行测试。
END
注意事项
以上经验截图是以centos系统版本为例,其他linux版本配置文件可能有所不同。根据实际情况修改
本经验小编亲测截图,如果您觉得对您有帮助,就支持我吧。关注“咗嚛”,及时获取最新经验资讯!
二、linux dns服务器怎么设置
在linux系统中一般通过bind软件包来提供dns服务。
1、环境准备:
临时关闭selinux和iptables
#setenforce0
#serviceiptablesstop
2、查询相关软件包:
[root@localhost~]#yumsearchbind
Loadedplugins:product-id,refresh-packagekit,subscription-manager
UpdatingRedHatrepositories.
======================================================================================N/SMatched:bind======================================================================================
PackageKit-device-rebind.i686:DevicerebindfunctionalityforPackageKit
bind.i686:TheBerkeleyInterNameDomain(BIND)DNS(DomainNameSystem)server
bind-chroot.i686:AchrootruntimeenvironmentfortheISCBINDDNSserver,named(8)
bind-utils.i686:UtilitiesforqueryingDNSnameservers
其中各软件包的作用如下:
1)、bind:提供域名服务的主要程序及相关文件。
2)、bind-chroot:为bind提供一个伪装的根目录以增强安全*。
3)、bind-utils:提供对DNS服务器测试的工具程序(如nslookup、dig等)。
3、安装BIND软件包
#yuminstall*bind*
4、配置DNS服务器:
1)、bind服务器端程序
主要执行程序:/usr/sbin/named
服务脚本:、etc/init.d/named
默认监听端口:53
主配置文件:/etc/named.conf
保存DNS解析记录的数据文件:/var/named/chroot/var/named
2)、查询bind程序的配置文件列表
[root@localhost~]#rpm-qcbind
/etc/logrotate.d/named
/etc/named.conf
/etc/named.iscdlv.key
/etc/named.rfc1912.zones
/etc/named.root.key
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
/var/named/named.ca
/var/named/named.empty
/var/named/named.localhost
/var/named/named.loopback
3)、查看主配置文件named.conf
#vim/etc/named.conf
4)、主配置文件解析:
a、全局配置部分,默认的全局配置项如下:
options{
11listen-onport53{127.0.0.1;};//监听的端口和接口IP
12listen-on-v6port53{::1;};
13directory"/var/named";//dns区域的数据文件默认存放位置
14dump-file"/var/named/data/cache_dump.db";
15statistics-file"/var/named/data/named_stats.txt";
16memstatistics-file"/var/named/data/named_mem_stats.txt";
17allow-query{localhost;};//允许dns查询的客户机列表,any表示所有
18recursionyes;//是否允许客户机进行递归查询
19
20dnssec-enableyes;
21dnssec-validationyes;
22dnssec-lookasideauto;
23
24/*PathtoISCDLVkey*/
25bindkeys-file"/etc/named.iscdlv.key";
26};
全局配置中还有如下选项:
//将本域名服务器不能解析的条目转发给其它DNS服务器的IP
forwarders{202.102.24.68;12.3.3.3;};
b、默认的区域配置项如下:
35zone"."IN{
36typehint;//区域类型。hint为根区域;master为主区域;sl*e为辅助区域
37file"named.ca";//该区域对应的区域数据配置文件名
38};
区域配置中还有如下选项:
//允许区域数据库的从域名服务器IP
allow-transfer{189.98.90.23;};
//允许动态更新的客户端IP(none表示全部禁止)
allow-update{none;};
添加如下区域配置:
zone“my.”IN{
typemaster;//主区域
file“my.”;//该区域对应的区域数据配置文件名
allow-transfer{192.168.153.1;};//允许区域数据库的从域名服务器IP
allow-update{none;};
};
zone“153.168.192.in-addr.arpa”IN{//表示针对IP192.168.153.130反向解析
typemaster;//主区域
file“192.168.153.my.arpa”;//该区域对应的区域数据配置文件名
};
5)、配置完了,可以执行如下命令对named.conf文件进行语法检查。
#named-checkconf
注意:倒序网络.in-addr.arpa表示反向区域
主配置文件最后还有一行是:
//该文件包含/etc/named.rfc1912.zones文件
include“/etc/named.rfc1912.zones”
区域数据配置文件:
先看一下named.localhost的内容:
$TTL1D//timetolive生存时间
@.(//”rname.invalid”DNS区域
0;serial//更新序列号
1D;refresh//更新时间
1H;retry//重试延时
1W;expire//失效时间
3H);minimum//无效解析记录的默认缓存时间
NS@//nameserver域名服务记录
A127.0.0.1//address只用在正向解析的区域数据文件中
AAAA::1
新建2个对应的区域数据配置文件:
#touchmy.
#touch192.168.153.my.arpa
#vimmy.
$TTL86
@INSOAmy..admin.my.(//admin.my.cm为该区域管理员的邮箱
200900201
3H
15M
1W
1D
)
@INNSns1.my..//当前域的DNS服务器
INMX10mail.my..//用于设置当前域的邮件服务器域名,数字10表示优先级别,数字越大优先级越低
ns1INA192.168.153.130
mailINA192.168.153.130
INA192.168.153.130
ftpINCNAME//CNAME别名(canonicalname)记录,表示ftp.my.和对应同一个IP.
[root@localhostnamed]#vim192.168.153.my.arpa
$TTL86
@INSOAmy..admin.my.(
200900201
3H
15M
1W
1D
)
@INNSns1.my..
130INPTRftp.my.
启动DNS服务
[root@localhost~]#servicenamedstart
4、测试:
配置一台ftp服务器用于测试:
#servicevsftpdstart//启动vsftpd服务
当前网卡的配置:
eth0:192.168.0.1/24
eth1:192.168.153.130/24
[root@localhostnamed]#nslookup192.168.153.130
Server:127.0.0.1
Address:127.0.0.1#53
130.153.168.192.in-addr.arpaname=.my..
[root@localhost~]#nslookupftp.my.
Server:127.0.0.1
Address:127.0.0.1#53
ftp.my.canonicalname=.my..
Name:
Address:192.168.153.130
三、如何在在Linux系统上配置DNS服务器
对象:---- Inter专线用户软件:---- Redhat Linux 5.2
实现过程:该服务器上装有两块网卡,内部接口eth1为192.168.11.5,外部接口eth0为202.a.b.c机器名设为dns.yourdomain.,安装及配置过程略
Redhat Linux 5.2随CD带的是bind 8.X的版本,下面是我的配置:----------[root@dns jephe]# more/etc/named.confoptions{directory/var/named;
forward first;
forwarders{
202.96.199.133;};};zone.{
type hint;file root.hints;};zone 0.0.127.in-addr.arpa{
type master;
file 127.0.0;};zone 11.168.192.in-addr.arpa{
type master;
file 192.168.11;};zone yourdomain.{notify no;type master;
file yourdomain.;};-------------注:202.96.199.133是 China的一个DNS服务器(ns.sta..).
root.hints包含了互联网上的一组根服务器的,可从网上,(),然后换名为root.hints,你也可取别的名字,这个区信息非常重要,必须存在,为了保持它最新,一般每月更新一次。也可设一个script文件,每次自动更新
127.0.0是该机器本地接口的反向解析文件,设置后便几乎不再需要更改。
192.168.11是内部网段的一些服务器的反向解析信息。
yourdomain.文件是你所申请的域的正向解析文件。