当前位置 博文首页 > 青岛Linux运维:Linux基础学习-使用bind提供域名解析服务
为了降低用户访问网络资源的门槛,DNS(Domain Name System,域名系统)技术应运而生,这是一项用于管理和解析域名与IP地址对应关系的技术,就是能够接受用户输入的域名或IP地址,然后自动查找与之匹配的IP地址或域名,即将域名解析为IP地址(正向解析),或将IP地址解析为域名(反向解析).为了提供不间断、稳定且快速的域名查询服务,保证互联网的正常运转,提供了下面三种类型的服务器.
13台根DNS服务器的信息
名称 | 管理单位 | 地理位置 | IP地址 |
---|---|---|---|
A | INTERNIC.NET | 美国费吉尼亚洲 | 198.41.0.4 |
B | 美国信息科学研究所 | 美国加利福尼亚州 | 128.9.0.107 |
C | PSINet | 美国费吉尼亚州 | 192.33.4.12 |
D | 马里兰大学 | 美国马里兰州 | 128.8.10.90 |
E | 美国航空航天管理局 | 美国加利福尼亚州 | 192.203.230.10 |
F | 因特网软件联盟 | 美国加利福尼亚州 | 192.5.5.241 |
G | 美国国防部网络信息中心 | 美国费吉尼亚州 | 192.112.36.4 |
H | 美国陆军研究所 | 美国马里兰州 | 128.63.2.53 |
I | Autonomica公司 | 瑞典斯德哥尔摩 | 192.36.148.17 |
J | VeriSign公司 | 美国费吉尼亚州 | 192.58.128.30 |
K | RIPE NCC | 英国伦敦 | 193.0.14.129 |
L | IANA | 美国费吉尼亚州 | 199.7.83.42 |
M | WIDE Project 日本东京 | 202.12.27.33 |
[root@qdlinux ~]# yum install bind-chroot
//主配置文件/etc/named.conf
//区域配置文件/etc/named.rfc1912.zones
//数据配置文件目录/var/named
//13和19行修改为any,表示服务器上的所有IP地址均可提供DNS域名解析服务
//以及允许所有人对本服务器发送DNS查询请求
12 options {
13 listen-on port 53 { any; };
14 listen-on-v6 port 53 { ::1; };
15 directory "/var/named";
16 dump-file "/var/named/data/cache_dump.db";
17 statistics-file "/var/named/data/named_stats.txt";
18 memstatistics-file "/var/named/data/named_mem_stats.txt";
19 allow-query { any; };
如果在实验中遇到了bind服务启动失败,可以执行named-checkconf
和named-checkzone
命令分别检查主配置文件与数据配置文件中的语法或参数的错误.
//编辑区域配置文件
zone "linuxprobe.com" IN {
type master;//主区域
file "linuxprobe.com.zone";//域名与IP地址解析规则保存的文件位置
allow-update {none;};//允许哪些客户机动态更新解析信息
};
//cd /var/named进入此目录
//拷贝一份named.localhost文件为linuxprobe.com.zone
//cp -a named.localhost linuxprobe.com.zone
//编辑此文件
$TTL 1D
@ IN SOA linuxprobe.com. root.linuxprobe.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.linuxprobe.com.
ns IN A 192.168.56.5
www IN A 192.168.56.5
//为了检验解析结果,要把DNS地址指向本机IP地址.
//重启网络服务nslookup www.linuxprobe.com,查看解析验证结果.
//编辑区域配置文件
zone "linuxprobe.com" IN {
type master;
file "linuxprobe.com.zone";
allow-update {none;};
};
//
zone "56.168.192.in-addr.arpa" IN {//表示192.168.56.0/24网段的反向解析区域
type master;
file "192.168.56.arpa";
};
//cd /var/named进入此目录
//拷贝一份named.loopback为192.168.56.arpa
//cp -a named.loopback 192.168.56.arpa
//编辑此文件
$TTL 1D
@ IN SOA linuxprobe.com. root.linuxprobe.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.linuxprobe.com.
ns IN A 192.168.56.5
5 PTR www.linuxprobe.com.
//重启bind服务,服务名称是named,检验解析结果,nslookup www.linuxprobe.com
//nslookup
//192.168.56.5
//主服务器修改配置文件
zone "linuxprobe.com" IN {
type master;
file "linuxprobe.com.zone";
allow-update {192.168.56.15;};
};
//
zone "56.168.192.in-addr.arpa" IN {
type master;
file "192.168.56.arpa";
allow-update {192.168.56.15;};
};
//从服务器修改配置文件
zone "linuxprobe.com" IN {
type slave;
masters { 192.168.56.5; };
file "slaves/linuxprobe.com.zone";
};
//
zone "56.168.192.in-addr.arpa" IN {
type slave;
masters { 192.168.56.5; };
file "slaves/192.168.56.arpa";
};
//重启服务
//cd /var/named/slaves进入此目录
//发现数据配置文件已经从主服务器同步过来了
参数 | 作用 |
---|---|
-a | 指定加密算法,包括RSAMD5(RSA)、RSASHA1、NSEC3RSASHA1、NSEC3DSA等等 |
-b | 密钥长度(HMAC-MD5的密钥长度在1~512为之间) |
-n | 密钥的类型(HOST表示与主机相关) |
[root@qdlinux named]# dnssec-keygen -a HMAC-MD5 -b 128 -n HOST master-slave
Kmaster-slave.+157+62715
[root@qdlinux named]# cd /var/named/chroot/etc/
//编辑文件vim transfer.key
key "master-slave" {
algorithm hmac-md5;
secret "iQ5v7U8p/sowiGeaaqmlog==";
};
//修改权限
chown root:named transfer.key
chmod 640 transfer.key
ln transfer.key /etc/
//主配置文件加载密钥验证功能
include "/etc/transfer.key";
allow-query {any;}
allow-transfer { key master-slave; };
//如果从服务器不做配置,那么现在是不能从主服务器同步数据文件的
//从服务器配置
cd /var/named/chroot/etc/
//编辑文件vim transfer.key
key "master-slave" {
algorithm hmac-md5;
secret "iQ5v7U8p/sowiGeaaqmlog==";
};
//修改权限
chown root:named transfer.key
chmod 640 transfer.key
ln transfer.key /etc/
//修改主配置文件
include "/etc/transfer.key";
server 192.168.56.5{
keys { master-slave; };
};
//首先注释这几行
zone "." IN {
type hint;
file "named.ca";
};
//编辑区域配置文件
acl "china" {122.71.115.0/24;};
acl "american" {106.185.25.0/24;};
view "china" {
match-clients {"china";};
zone "linuxprobe.com"{
type master;
file "linuxprobe.com.china";
};
};
view "american" {
match-clients {"american";};
zone "linuxprobe.com"{
type master;
file "linuxprobe.com.american";
};
//建立数据配置文件
//cd /var/named进入此目录
//cp -a named.localhost linuxprobe.com.china
//cp -a named.localhost linuxprobe.com.american
//编辑这两个文件分别如下
$TTL 1D
@ IN SOA linuxprobe.com. root.linuxprobe.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.linuxprobe.com.
ns IN A 122.71.115.10
www IN A 122.71.115.10
$TTL 1D
@ IN SOA linuxprobe.com. root.linuxprobe.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.linuxprobe.com.
ns IN A 106.185.25.10
www IN A 106.185.25.10
//重启bind服务
//验证解析结果,配置网卡模拟两个国家用户,查看解析结果,解析地址是不同的.
12 options {
13 listen-on port 53 { any; };
14 listen-on-v6 port 53 { ::1; };
15 directory "/var/named";
16 dump-file "/var/named/data/cache_dump.db";
17 statistics-file "/var/named/data/named_stats.txt";
18 memstatistics-file "/var/named/data/named_mem_stats.txt";
19 allow-query { any; };
20 # allow-transfer { key master-slave; };
21 forwarders { 202.102.128.68; };
//服务器一块网卡用于外网,一块用于内网,客户机一块网卡为内网
//服务器上主配置文件做以上修改,重启服务,客户机DNS指向服务器内网的网卡地址.这样客户机就可以正常解析了.
cs