DNS服务器搭建笔记
DNS在linux服务器上的服务名是named,而named服务依赖软件bind。
环境:
系统版本:VBOX虚拟机centos6.0。
本机内网IP 192.168.2.198。
一、安装软件bind。
1.显示bind相关的软件包。
[root@localhost ~]# yum list bind*
bind.i686
bind-chroot.i686
bind-devel.i686
bind-dyndb-ldap.i686
bind-libs.i686
bind-sdb.i686
bind-utils.i686
2.安装必要包。主要安装三个软件包,其他的目前没有必要安装。bind安装成功后服务器是named。
[root@service ~]# yum install bind bind-libs bind-utils -y
3.查看bind安装产生的文件。主要用到两个文件。如下:
[root@localhost ~]# rpm -ql bind | less
/etc/NetworkManager/dispatcher.d/13-named
/etc/logrotate.d/named
/etc/named
/etc/named.conf----------------主配置文件
/etc/named.iscdlv.key
/etc/named.rfc1912.zones-------zone配置文件,include到主配置文件
/etc/named.root.key
/etc/portreserve/named
/etc/rc.d/init.d/named
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
....很多行....
二、配置DNS缓存服务器
1.打开/etc/named.conf文件配置修改options配置块内以下选项:
listen-on port 53 { 127.0.0.1; }; 改为 listen-on port 53 { 127.0.0.1; 192.168.2.198;}; //192.168.2.198是我的内网IP,根据自己情况修改。
#listen-on-v6 port 53 { ::1; }; //注释掉,如果不用的话。
allow-query { localhost; }; 改为 allow-query { any; };
保存退出;
2.打开配置/etc/named.rfc1912.zones, 即主配置文件named.conf底部include进来的zone文件。
注释掉bind自动生成的除以下zone块,也就是除了以下两块意外的都注释掉:
zone "localhost" IN { //正向解析配置
type master;
file "named.localhost"; //文件相对于/var/named/目录
allow-update { none; };
};
zone "1.0.0.127.in-addr.arpa" IN { //反向解析配置
type master;
file "named.loopback"; //文件相对于/var/named/目录
allow-update { none; };
};
3.配置正向解析文件
[root@localhost named]# vim /var/named/named.localhost
填写以下内容:
$TTL 1D
@ IN SOA localhost. root.localhost. (
201406251006 ; serial //序列号,随便写我一般写成单签日期时间
1D ; refresh //命令slave多久进行一次主动更新。
1H ; retry //如果到了refresh的时间,但是slave却无法连接master时,那么多久之后,slave会再次的主动尝试与主机连线。
1W ; expire //如果slave一直无法与master连接上,那么经过多久的时间后,则命令slave不要在连接master了。
3H ) ; minimum //没有指定生存期的数据,可以保存在数据库中的时间,及TTL
IN NS localhost.
IN A 127.0.0.1
4.配置反向解析文件,实际上就是把正向解析的配置文件复制一份,然后把里面的A记录反过来写“A”写成“PTR”
[root@localhost named]# vim /var/named/named.loopback
填写如下内容:
$TTL 1D
@ IN SOA localhost. root.localhost. (
201406251006 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS localhost.
IN PTR localhost.
5.修改named的相关文件属组为named
[root@localhost named]# chown :named /var/named/named*
6.检查配置文件,相关命令named-checkconf、named-checkzone
[root@localhost named]# named-checkconf [/etc/named.conf] //检查主配置文件,如果没有输出错误信息表示正常。
[root@localhost named]# named-checkzone "localhost" /var/named/named.localhost //检查正向解析配置
zone localhost/IN: loaded serial 20140625
OK
[root@localhost named]# named-checkzone "1.0.0.127.in-addr.arpa" /var/named/named.loopback //检查反向解析配置
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 20140625
OK
7.启动named服务
[root@localhost named]# service named start //或者用/etc/init.d/named start启动
启动 named: [确定]
[root@localhost named]# service named status //查看服务运行状态
version: 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1
CPUs found: 1
worker threads: 1
number of zones: 18
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF
recursive clients: 0/0/1000
tcp clients: 0/100
server is up and running
named (pid 2144) 正在运行...
8.测试NDS
a.使用命令dig测试
[root@localhost named]# dig -t A localhost @127.0.0.1 //后面@127.0.0.1表示用本机解析,如果不想每次都写修改/etc/resolv.conf文件,添加nameserver 127.0.0.1
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1 <<>> -t A localhost @127.0.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58945
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;localhost. IN
A
;; ANSWER SECTION:
localhost. 86400
IN A
127.0.0.1
;; AUTHORITY SECTION:
localhost. 86400
IN NS
localhost.
;; Query time: 3 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Jun 25 10:25:28 2014
;; MSG SIZE rcvd: 57
[root@localhost named]# dig -t NS localhost @127.0.0.1
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1 <<>> -t NS localhost @127.0.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36123
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; QUESTION SECTION:
;localhost. IN
NS
;; ANSWER SECTION:
localhost. 86400
IN NS
localhost.
;; ADDITIONAL SECTION:
localhost. 86400
IN A
127.0.0.1
;; Query time: 2 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Jun 25 10:29:55 2014
;; MSG SIZE rcvd: 57
b.使用nslookup命令测试
[root@localhost named]# nslookup
> server 127.0.0.1
Default server: 127.0.0.1
Address: 127.0.0.1#53
> set q=A
> localhost
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: localhost
Address: 127.0.0.1
> set q=NS
> localhost
Server: 127.0.0.1
Address: 127.0.0.1#53
localhost nameserver = localhost.
>exit
三、配置DNS主域名解析服务器,假设域名是itxingzhe.com
1.打开编辑/etc/named.rfc1912.zones文件,添加如下内容。
[root@localhost etc]# vim /etc/named.rfc1912.zones
zone "itxingzhe.com" IN { //正向解析
type master;
file "named.itxingzhe.com.zone";
allow-update { none; };
};
zone "2.168.192.in-addr.arpa" IN { //反向解析,注意IP写法是反过来的网段。
type master;
file "named.2.168.192.arpa";
allow-update { none; };
};
2.到/var/named目录下创建正/反向解析配置文件。
a.正向解析配置
[root@localhost named]# vim /var/named/named.itxingzhe.com.zone
$TTL 1D
@ IN SOA ns1.itxingzhe.com. root.itxingzhe.com. (
20140625 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns1.itxingzhe.com.
IN A 192.168.2.198
www.itxingzhe.com. IN A 192.168.2.198
ftp.itxingzhe.com. IN A 192.168.2.198
//其他的域名一次类推
b.反向解析配置
[root@localhost named]# vim /var/named/named.2.168.192.arpa
$TTL 1D
@ IN SOA ns1.itxingzhe.com. root.itxingzhe.com. (
20140625 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns1.itxingzhe.com.
198 IN PTR ns1.itxingzhe.com.
198 IN PTR www.itxingzhe.com.
c.修改配置文件属组为named
[root@localhost named]# chown :named /var/named/named.2.168.192.arpa /var/named/named.itxingzhe.com.zone
//这样也可以
[root@localhost named]# chown :named /var/named/named*
3.检查配置文件
参考以上“二、6.检查配置文件”。
[root@localhost named]# named-checkconf
[root@localhost named]# named-checkzone "itxingzhe.com" /var/named/named.itxingzhe.com.zone
zone itxingzhe.com/IN: loaded serial 20140625
OK
[root@localhost named]# named-checkzone "named.2.168.192.arpa" /var/named/named.2.168.192.arpa
zone named.2.168.192.arpa/IN: loaded serial 20140625
OK
4.重启named服务或重新加载配置文件
[root@localhost named]# service named restart
停止 named:. [确定]
启动 named: [确定]
或
[root@localhost named]# /etc/init.d/named reload
重新载入named: [确定]
5.测试DNS
参考以上“二、8.测试DNS”。
[root@localhost named]# dig -t A www.itxingzhe.com @192.168.2.198//测试A记录
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1 <<>> -t A www.itxingzhe.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62759
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;www.itxingzhe.com. IN
A
;; ANSWER SECTION:
www.itxingzhe.com. 86400
IN A
192.168.2.198
;; AUTHORITY SECTION:
itxingzhe.com. 86400
IN NS
ns1.itxingzhe.com.
;; ADDITIONAL SECTION:
ns1.itxingzhe.com. 86400
IN A
192.168.2.198
;; Query time: 3 msec
;; SERVER: 192.168.2.198#53(192.168.2.198)
;; WHEN: Wed Jun 25 11:24:20 2014
;; MSG SIZE rcvd: 85
[root@localhost named]# dig -t NS itxingzhe.com @192.168.2.198 //测试NS记录,注意这里的域名是不带www的
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1 <<>> -t NS itxingzhe.com @192.168.2.198
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35904
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; QUESTION SECTION:
;itxingzhe.com. IN
NS
;; ANSWER SECTION:
itxingzhe.com. 86400
IN NS
ns1.itxingzhe.com.
;; ADDITIONAL SECTION:
ns1.itxingzhe.com. 86400
IN A
192.168.2.198
;; Query time: 3 msec
;; SERVER: 192.168.2.198#53(192.168.2.198)
;; WHEN: Wed Jun 25 11:25:01 2014
;; MSG SIZE rcvd: 65
[root@localhost named]# dig -x 192.168.2.198 //反向解析结果
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1 <<>> -x 192.168.2.198
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 65411
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;198.2.168.192.in-addr.arpa. IN
PTR
;; ANSWER SECTION:
198.2.168.192.in-addr.arpa. 86400 IN
PTR ns1.itxingzhe.com.
198.2.168.192.in-addr.arpa. 86400 IN
PTR www.itxingzhe.com.
;; AUTHORITY SECTION:
2.168.192.in-addr.arpa. 86400
IN NS
ns1.itxingzhe.com.
;; ADDITIONAL SECTION:
ns1.itxingzhe.com. 86400
IN A
192.168.2.198
;; Query time: 5 msec
;; SERVER: 192.168.2.198#53(192.168.2.198)
;; WHEN: Wed Jun 25 11:26:12 2014
;; MSG SIZE rcvd: 123
四、DNS从服务器配置,假设从服务器IP是192.168.2.199
1.安装bind软件。
2.配置localhost的zone配置(或者直接copy主DNS服务器上的localhost配置文件)。参考(二、配置DNS缓存服务器);
3.配置vim /etc/named.rfc1912.zones添加如下内容:
zone "itxingzhe.com" IN { //正向解析从服务器
type slave;
master {192.168.2.198;};
file "slaves/named.itxingzhe.com.zone";
};
zone "2.168.192.in-addr-arpa" IN { //反向解析从服务器
type slave;
master {192.168.2.198;};
file "slaves/named.2.168.192.arpa";
};
配置文件会自动从主DNS服务器同步过来,不用手动配置。
4.重启named服务;
5.ll slaves/查看数据是否同步过来。
注意:selinux会影响从服务器传输,请先关闭selinux。命令setenforce 0
DNS服务器搭建笔记的更多相关文章
- Linux下dns服务器搭建
Linux下dns服务器搭建1-环境Red Hat Enterprise Linux Server release 6.7 (Santiago)2-配置本地yum源安装dns相关包yum -y ins ...
- DNS服务器搭建(主、从、缓)
主dns服务器搭建 在本机上搭建一个管理hngd.com域名的域名服务器1. 确保安装好以下bind域名服务器 [root@主人 ~]# rpm -qa |grep ^bindbind-chroot- ...
- 架构师成长之路6.6 DNS服务器搭建(构建企业级DNS)
点击返回架构师成长之路 架构师成长之路6.6 DNS服务器搭建(构建企业级DNS) 采用LVS-DR模式负载均衡,多IDC,多套DNS集群,通过master-slave技术保证dns配置的一致性. 1 ...
- 架构师成长之路6.5 DNS服务器搭建(添加记录、负载均衡、DNS视图)
点击返回架构师成长之路 架构师成长之路6.5 DNS服务器搭建(添加记录.负载均衡.DNS视图) 部署主DNS : 点击 部署从DNS : 点击 1.添加A记录.CNAME记录.MX记录.PTR记录 ...
- 架构师成长之路6.4 DNS服务器搭建(部署主从DNS)
点击返回架构师成长之路 架构师成长之路6.3 DNS服务器搭建(部署主从DNS) 部署主DNS : 点击 部署从DNS : 如下步骤 1.与主DNS一样,安装bind yum -y install ...
- 架构师成长之路6.3 DNS服务器搭建(部署单台DNS)
点击返回架构师成长之路 架构师成长之路6.3 DNS服务器搭建(部署单台DNS) 1.安装bind yum -y install bind-utils bind bind-devel bind-chr ...
- Linux下DNS服务器搭建详解
Linux下DNS服务器搭建详解 DNS 即Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种机制.其中通过域名解析 ...
- DNS服务器搭建与配置
DNS服务器搭建与配置目录 1.DNS查询方式 2.DNS服务器类型 3.DNS主要配置文件组 4.name.conf文件配置介绍 5.DNS的资源记录格式 6.DNS服务器和客户端配置 7.简单搭建 ...
- Linux:DNS服务器搭建
DNS简介 DNS(Domain Name System)域名系统: 是一种采用客户端/服务器机制,负责实现计算机名称与IP地址转换的系统.DNS作为一种重要的网络服务,既是国际互联网工作的基础,同时 ...
随机推荐
- Spring Data概览
总结:JpaRepository继承PagingAndSortingRepository,PagingAndSortingRepository继承CrudRespository,CrudResposi ...
- 191107Django的Cookie和Session
Cookie的使用 from django.shortcuts import render,redirect def login(request): print("1",reque ...
- legend3---laravel中获取控制器名称和方法名称
legend3---laravel中获取控制器名称和方法名称 一.总结 一句话总结: \Route::current()->getActionName();会有完整的当前控制器名和方法名 pub ...
- 查询redis中没有设置过期时间的key
#!/bin/sh ## 该脚本用来查询redis集群中,哪些key是没有设置过期时间,对应只需要修改redis的其中一个实例的 host和port ## 脚本会自动识别出该集群的所有实例,并查出对应 ...
- 使用ffmpeg切片出hls
测试的时候经常要用到ffmpeg切hls的流 ffmpeg -re -i g:/media/baifa.mp4 -codec copy -f hls -hls_list_size -hls_wrap ...
- js对数组分组处理
一.js数组分组 1.js对数据分组类似group by 源码如下: <!DOCTYPE html> <html lang="en"> <head&g ...
- UVA 1025 -- A Spy in the Metro (DP)
UVA 1025 -- A Spy in the Metro 题意: 一个间谍要从第一个车站到第n个车站去会见另一个,在是期间有n个车站,有来回的车站,让你在时间T内时到达n,并且等车时间最短, ...
- configprase模块,配置文件模块
import configparser # config = configparser.ConfigParser() # config["DEFAULT"] = {'Port':3 ...
- 统计学_样本量估计_python代码实现
python机器学习-乳腺癌细胞挖掘(博主亲自录制视频)https://study.163.com/course/introduction.htm?courseId=1005269003&ut ...
- IDEA打开最近打开的项目以及关闭项目
关闭的是当前项目