centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns 第三十节课
2015-12-16 20:58
1596 查看
centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns 第三十节课
上半节课
DNS原理
使用bind搭建DNS服务器
配置DNS转发
下半节课
配置主从
安装dig工具
DHCP
dhclient
各种域名解析记录
mydns
一. DNS原理相关
DNS 为Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种服务机制。
其中通过域名解析出ip地址的叫做正向解析,通过ip地址解析出域名的叫做反向解析。 DNS使用TCP和UDP, 端口号都是53, 但它主要使用UDP,服务器之间主从使用TCP。
全世界只有13台“根”服务器,1个主根服务器放在美国,其他12台为辅根服务器,DNS服务器根据角色可以分为:主DNS, 从DNS, 缓存DNS服务器,DNS转发服务器。
二. 使用bind搭建DNS服务器
bind配置文件注释要用分号;不能用井号
1. 安装bind
yum install -y bind //会顺便安装bind-utils包
cp /etc/named.conf /etc/named.conf.bak
>/etc/named.conf
vim /etc/named.conf
加入如下配置:
options {
directory "/var/named";
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
};
chown named /etc/named.conf
cd /var/named/
dig -t NS . > named.ca
vim localhost.zone //加入
@ IN SOA localhost. admin.localhost. (
2013081601
1H
10M
7D
1D
)
@ IN NS localhost.
localhost. IN A 127.0.0.1
vim named.local //加入
$TTL 86400
@ IN SOA localhost. admin.localhost. (
2013081601
1H
10M
7D
1D
)
@ IN NS localhost.
1 IN PTR localhost
检测配置是否有问题: named-checkconf
检测正解析: named-checkzone "localhost" /var/named/localhost.zone
检测反解析: named-checkzone "0.0.127.in-addr.arpa" /var/named/named.local
rndc-confgen -r /dev/urandom -a // 这一步是生成 rndc.key, 如果没有这个key ,namd 是启动不了的。
chown named:named /etc/rndc.key
/etc/init.d/named start
netstat -lnp |grep named // 查看一下named进程是否监听了53端口
首先测试正向解析:dig @127.0.0.1 localhost.
接着测试反解析:dig @127.0.0.1 -x 127.0.0.1
2. 增加一个域名(zone)
vim /etc/named.conf //增加
zone "abc.com" IN {
type master;
file "abc.com.zone";
};
zone "137.168.192.in-addr.arpa" IN {
type master;
file "192.168.zone";
};
编辑zone文件: vim /var/named/abc.com.zone//增加
$TTL 600
@ IN SOA abc.com. root.abc.com. (
2013081601
1H
10M
7D
1D
)
IN NS ns.abc.com.
IN MX 10 mail.abc.com.
ns IN A 192.168.0.11
www IN A 192.168.137.73
mail IN A 192.168.137.10
bbs IN CNAME www.abc.com.
编辑反解析文件: vim /var/named/192.168.zone //增加
$TTL 600
@ IN SOA ns.abc.com. root.abc.com. (
2013081601
1H
10M
7D
1D
)
@ IN NS ns.abc.com.
10 IN PTR ns.abc.com.
11 IN PTR mail.abc.com.
73 IN PTR www.abc.com.
分别检测两个配置文件是否有问题:
named-checkzone "abc.com" abc.com.zone
named-checkzone "137.168.192.in-addr.arpa" 192.168.zone
重启named服务
测试 dig @127.0.0.1 www.abc.com
dig @127.0.0.1 -x 192.168.137.11
vi /etc/resolv.conf //修改为自己机器的DNS的IP
3. 配置DNS转发
我们配置的DNS是只能解析我们定义的zone的,我们没有定义的是不能解析的。
配置DNS转发就可以解析其他互联网上的域名了,前提是这个域名在互联网中的确在使用,也就是说这个域名已经被某个DNS服务器解析了。
vim /etc/named.conf //在options{} 里面增加
forward first;
forwarders { 8.8.8.8; };
这两行就是用来配置转发的,该DNS服务器不能解析的域名会转发到8.8.8.8这个DNS服务器上去解析。
4. 配置主从
在从服务器上 yum install -y bind
拷贝主上的配置文件到从上,其中有/etc/named.conf, /var/named/localhost.zone, /var/named/named.local
拷贝过来后,修改一下从的/etc/named.conf 内容参考:
options {
directory "/var/named";
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
};
zone "abc.com" IN {
type slave;
file "slaves/abc.com.zone";
masters { 192.168.0.11; };
};
zone "137.168.192.in-addr.arpa" IN {
type slave;
file "slaves/192.168.zone";
masters { 192.168.0.11; };
};
从上生成rndc.key: rndc-confgen -r /dev/urandom -a
chown named:named /etc/rndc.key
从上启动named: /etc/init.d/named start
启动成功后会在 /var/named/下生成一个slaves目录,这个目录下会有192.168.zone, abc.com.zone这两个文件,内容是和主上的一样的
在从上测试: dig @127.0.0.1 www.abc.com
5. 测试主从同步
在主dns上更改文件 /var/named/abc.com.zone // 在最后增加一行:
123 IN A 1.1.1.1
另外需要修改一下第三行的那个数字串,这个是用来做标记的,只有这个数字变化了,才可以让从自动跟着变,数字只能是变大,不能减小,2013081601 -> 2013081602
重启主namd服务: /etc/init.d/named restart
经测试我们发现一个问题,就是从经常会同步特别慢,这是很要命的。所以需要我们做一个特殊操作,在主上的/etc/named.conf中,abc.com的zone中增加两行:
notify yes;
also-notify { 192.168.0.12; };
注意:不要手动去改从的配置
下面的知识点请自行配置学习
再配置一个域名(zone)
bind配置视图(view) http://wubinary.blog.51cto.com/8570032/1378363 使用mydns搭建DNS服务器 http://www.aminglinux.com/bbs/thread-186-1-1.html 使用dnsmasq配置dns缓存 http://www.aminglinux.com/bbs/thread-5284-1-1.html 理解dns的递归和迭代查询 http://jeffyyko.blog.51cto.com/28563/215293 http://jeffyyko.blog.51cto.com/28563/216962
安装dig工具
根据域名解析ip
指定DNS的ip,也可以获取到 www.aminglinux.com这个域名的ip
正解析
反解析
6.DHCP
安装dhcp,会顺便安装dhclient包
vi /etc/dhcp/dhcpd.conf
cat /usr/share/doc/dhcp-4.1.1/dhcp.conf.sample
TCP 546=DHCP Client
TCP 547=DHCP Server
从dhcp服务器192.168.1.120上获取动态ip
查看网关和/etc/resolv.conf 网关是否为dhcp服务器的ip地址
route -n
扩展阅读
各种域名解析记录
NS记录:用来解析你的主机IP的DNS服务器,解析域名的DNS服务器在哪里,就是你的DNS server
A记录:像hosts文件 指定各个服务器的ip www服务器的ip,mail服务器的ip,bbs服务器的ip,hosts文件里面的记录就是A记录
CNAME记录:我一个变大家跟着我变,不用一个一个改A记录 cname转发,原来是abc.com 我现在改为bcd.com 只需要修改cname记录,当网站IP更改的时候,一个网站多个子域名下可以只修改一条记录
MX记录:邮件
定义NS记录,NS记录又对应一个A记录
不停转发
有用cdn和无用cdn的区别,一个域名由多个DNS服务器来解析
mydns使用mysql,好处是:不用授权给php或者shell修改配置文件,不安全,用mysql的话,授权用户修改数据库里的数据比较安全,php更改mysql
f
上半节课
DNS原理
使用bind搭建DNS服务器
配置DNS转发
下半节课
配置主从
安装dig工具
DHCP
dhclient
各种域名解析记录
mydns
一. DNS原理相关
DNS 为Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种服务机制。
其中通过域名解析出ip地址的叫做正向解析,通过ip地址解析出域名的叫做反向解析。 DNS使用TCP和UDP, 端口号都是53, 但它主要使用UDP,服务器之间主从使用TCP。
全世界只有13台“根”服务器,1个主根服务器放在美国,其他12台为辅根服务器,DNS服务器根据角色可以分为:主DNS, 从DNS, 缓存DNS服务器,DNS转发服务器。
二. 使用bind搭建DNS服务器
bind配置文件注释要用分号;不能用井号
1. 安装bind
yum install -y bind //会顺便安装bind-utils包
cp /etc/named.conf /etc/named.conf.bak
>/etc/named.conf
vim /etc/named.conf
加入如下配置:
options {
directory "/var/named";
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
};
chown named /etc/named.conf
cd /var/named/
dig -t NS . > named.ca
vim localhost.zone //加入
@ IN SOA localhost. admin.localhost. (
2013081601
1H
10M
7D
1D
)
@ IN NS localhost.
localhost. IN A 127.0.0.1
vim named.local //加入
$TTL 86400
@ IN SOA localhost. admin.localhost. (
2013081601
1H
10M
7D
1D
)
@ IN NS localhost.
1 IN PTR localhost
检测配置是否有问题: named-checkconf
检测正解析: named-checkzone "localhost" /var/named/localhost.zone
检测反解析: named-checkzone "0.0.127.in-addr.arpa" /var/named/named.local
rndc-confgen -r /dev/urandom -a // 这一步是生成 rndc.key, 如果没有这个key ,namd 是启动不了的。
chown named:named /etc/rndc.key
/etc/init.d/named start
netstat -lnp |grep named // 查看一下named进程是否监听了53端口
首先测试正向解析:dig @127.0.0.1 localhost.
接着测试反解析:dig @127.0.0.1 -x 127.0.0.1
2. 增加一个域名(zone)
vim /etc/named.conf //增加
zone "abc.com" IN {
type master;
file "abc.com.zone";
};
zone "137.168.192.in-addr.arpa" IN {
type master;
file "192.168.zone";
};
编辑zone文件: vim /var/named/abc.com.zone//增加
$TTL 600
@ IN SOA abc.com. root.abc.com. (
2013081601
1H
10M
7D
1D
)
IN NS ns.abc.com.
IN MX 10 mail.abc.com.
ns IN A 192.168.0.11
www IN A 192.168.137.73
mail IN A 192.168.137.10
bbs IN CNAME www.abc.com.
编辑反解析文件: vim /var/named/192.168.zone //增加
$TTL 600
@ IN SOA ns.abc.com. root.abc.com. (
2013081601
1H
10M
7D
1D
)
@ IN NS ns.abc.com.
10 IN PTR ns.abc.com.
11 IN PTR mail.abc.com.
73 IN PTR www.abc.com.
分别检测两个配置文件是否有问题:
named-checkzone "abc.com" abc.com.zone
named-checkzone "137.168.192.in-addr.arpa" 192.168.zone
重启named服务
测试 dig @127.0.0.1 www.abc.com
dig @127.0.0.1 -x 192.168.137.11
vi /etc/resolv.conf //修改为自己机器的DNS的IP
3. 配置DNS转发
我们配置的DNS是只能解析我们定义的zone的,我们没有定义的是不能解析的。
配置DNS转发就可以解析其他互联网上的域名了,前提是这个域名在互联网中的确在使用,也就是说这个域名已经被某个DNS服务器解析了。
vim /etc/named.conf //在options{} 里面增加
forward first;
forwarders { 8.8.8.8; };
这两行就是用来配置转发的,该DNS服务器不能解析的域名会转发到8.8.8.8这个DNS服务器上去解析。
4. 配置主从
在从服务器上 yum install -y bind
拷贝主上的配置文件到从上,其中有/etc/named.conf, /var/named/localhost.zone, /var/named/named.local
拷贝过来后,修改一下从的/etc/named.conf 内容参考:
options {
directory "/var/named";
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
};
zone "abc.com" IN {
type slave;
file "slaves/abc.com.zone";
masters { 192.168.0.11; };
};
zone "137.168.192.in-addr.arpa" IN {
type slave;
file "slaves/192.168.zone";
masters { 192.168.0.11; };
};
从上生成rndc.key: rndc-confgen -r /dev/urandom -a
chown named:named /etc/rndc.key
从上启动named: /etc/init.d/named start
启动成功后会在 /var/named/下生成一个slaves目录,这个目录下会有192.168.zone, abc.com.zone这两个文件,内容是和主上的一样的
在从上测试: dig @127.0.0.1 www.abc.com
5. 测试主从同步
在主dns上更改文件 /var/named/abc.com.zone // 在最后增加一行:
123 IN A 1.1.1.1
另外需要修改一下第三行的那个数字串,这个是用来做标记的,只有这个数字变化了,才可以让从自动跟着变,数字只能是变大,不能减小,2013081601 -> 2013081602
重启主namd服务: /etc/init.d/named restart
经测试我们发现一个问题,就是从经常会同步特别慢,这是很要命的。所以需要我们做一个特殊操作,在主上的/etc/named.conf中,abc.com的zone中增加两行:
notify yes;
also-notify { 192.168.0.12; };
注意:不要手动去改从的配置
下面的知识点请自行配置学习
再配置一个域名(zone)
bind配置视图(view) http://wubinary.blog.51cto.com/8570032/1378363 使用mydns搭建DNS服务器 http://www.aminglinux.com/bbs/thread-186-1-1.html 使用dnsmasq配置dns缓存 http://www.aminglinux.com/bbs/thread-5284-1-1.html 理解dns的递归和迭代查询 http://jeffyyko.blog.51cto.com/28563/215293 http://jeffyyko.blog.51cto.com/28563/216962
安装dig工具
yum install bind-utils
根据域名解析ip
dig www.aminglinux.com
指定DNS的ip,也可以获取到 www.aminglinux.com这个域名的ip
正解析
dig @8.8.8.8 www.aminglinux.com
反解析
dig @8.8.8.8 -x 183.26.39.112
6.DHCP
安装dhcp,会顺便安装dhclient包
yum install dhcp
vi /etc/dhcp/dhcpd.conf
cat /usr/share/doc/dhcp-4.1.1/dhcp.conf.sample
TCP 546=DHCP Client
TCP 547=DHCP Server
从dhcp服务器192.168.1.120上获取动态ip
dhclient -s 192.168.1.120
查看网关和/etc/resolv.conf 网关是否为dhcp服务器的ip地址
route -n
扩展阅读
各种域名解析记录
NS记录:用来解析你的主机IP的DNS服务器,解析域名的DNS服务器在哪里,就是你的DNS server
A记录:像hosts文件 指定各个服务器的ip www服务器的ip,mail服务器的ip,bbs服务器的ip,hosts文件里面的记录就是A记录
CNAME记录:我一个变大家跟着我变,不用一个一个改A记录 cname转发,原来是abc.com 我现在改为bcd.com 只需要修改cname记录,当网站IP更改的时候,一个网站多个子域名下可以只修改一条记录
MX记录:邮件
定义NS记录,NS记录又对应一个A记录
不停转发
有用cdn和无用cdn的区别,一个域名由多个DNS服务器来解析
mydns使用mysql,好处是:不用授权给php或者shell修改配置文件,不安全,用mysql的话,授权用户修改数据库里的数据比较安全,php更改mysql
f
相关文章推荐
- 【Linux】对比直接编译进内核和模块形式
- linux gdb信号调试程序
- Linux 的多线程编程的高效开发经验
- CentOS 上php环境搭建
- Linux之共享库封装、使用的典型demo
- linux中的memory management和page mapping
- Centos V12 NAT模式设置静态ip
- linux命令总结
- 解决Linux服务器 FIN_WAIT2 连接过多的问题
- Linux Memory Mapping
- CentOS6.5下编译安装mysql-5.6.27
- Linux进程状态(ps stat)之R、S、D、T、Z、X
- linux 下grep 正则表达式
- 在CentOS 6.X 上面安装 Python 2.7.X
- Linux automake命令
- Linux下scp自动输入密码
- Linux mysql
- 深入浅出:Linux设备驱动之字符设备驱
- Linux indent命令
- Linux添加虚拟网卡的多种方法