DNS(Domain Name System,域名系统):
安装服务bind.x86_64
bind的主配置文件是/etc/named.conf
/var/named:包含名称服务器所使用的其他数据文件
• DNS 区域采用资源记录的形式存储信息,每条资源记录均具有一个类型, 表明其保留的数据类型。
– A : 名称至 IPv4地址
– AAAA : 名称至IPv6 地址
– CNAME : 名称至” 规范名称 “ ( 包含 A/AAAA 记录的另一个名称 )
– PTR : IPv4/IPv6 地址至名称
– MX : 用于名称的邮件交换器 ( 向何处发送其电子邮件 )
– NS : 域名的名称服务器
– SOA :” 授权起始“ , DNS 区域的信息 ( 管理信息 )
DNS 排错:
• 它显示来自 DNS 查找的详细信息 , 其中包括为什么查询失败 :
– NOERROR : 查询成功
– NXDOMAIN : DNS 服务器提示不存在这样的名称
– SERVFAIL : DNS 服务器停机或 DNSSEC 响应验证失败
– REFUSED : DNS 服务器拒绝回答 ( 也许是出于访问控制原因 )
dig 输出的部分内容
• 标题指出关于查询和答案的信息, 其中包括响应状态和设置的任何特殊标记 ( aa 表示权威答案 , 等等 )
– QUESTION : 提出实际的 DNS 查询
– ANSWER : 响应( 如果有 )
– AUTHORITY : 负责域 / 区域的名称服务器
– ADDITIONAL : 提供的其他信息 , 通常是关于名称服务器
– 底部的注释指出发送查询的递归名称服务器以及获得响应所花费的时间
实验:
将虚拟机内存改为1000后reset
更改ip为172.25.254.122/222;设置yum源为真机的yum仓库。
1.搭建高速缓存DNS:(server)
systemctl stop firewalld
yum install bind.x86_64 -y
systemctl start named
vim /etc/named.conf
listen-on port 53 { any; }; ##访问主机的53端口
allow-query { any; }; ##允许任何地址来访问
forwarders{ 172.25.254.250; }; ##访问250服务器解析域名
systemctl restart named
(client)
systemctl stop firewalld
vim /etc/resolv.conf
nameserver172.25.254.122
dig www.baidu.com ##查询baidu的IP
2.设置自己为权威dns服务器,并指定www.westos.com的IP为172.25.254.222
server:
systemctl stop firewalld
vim /etc/named.conf
forwarders { 172.25.254.250; }; ##删除此行
vim /etc/named.rfc1912.zones
cd /var/named
cp -p named.localhost westos.com.zone
vim westos.com.zone
$TTL 1D ##缓存dns服务器使用期限:1day
@ IN SOA dns.westos.com.(服务器) root.westos.com.(设置可访问用户) ##若此文件中字符结尾不加".",默认以“@”结尾
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.com.
dns A 172.25.254.122 ##dns服务器
www A 172.25.254.222 ##指定www.westos.com的IP为172.25.254.123
music CNAME music.a.westos.com. ##域名规范
music.a A 172.25.254.100
music.a A 172.25.254.200
westos.com. MX 1 172.25.254.222. ##邮件dns,发送邮件到223上,MX 1:邮件等级
systemctl restart named ##重新服务,如果重启失败可以查询日志
dig www.westos.com ##可查询到westos.com的IP为172.25.254.222
client:
systemctl stop firewalld
dig www.westos.com
dig music.westos.com ##查询music.westos.com的IP
dig -t mx westos.com ##查询邮件接受方的IP
mail root@westos.com ##给westos.com发送邮件
ctrl-D ##结束
mailq ##查看邮件发送状态
3.多项解析dns服务器:(不同网段的客户机解析出的IP也不同)
server:
给server虚拟机增加一块网卡eth1,ip为172.25.22.11
systemctl restart network
cd /var/named
cp -p westos.com.zonewestos.com.inter
vim westos.com.inter
$TTL 1D
@ IN SOA dns.westos.com. root.westos.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.com.
dns A 172.25.22.122
www A 172.25.22.222
music CNAME music.a.westos.com.
music.a A 172.25.22.100
music.a A 172.25.22.200
westos.com. MX 1 172.25.22.222.
cp -p /etc/named.rfc1912.zones/etc/named.rfc1912.inter
vim /etc/named.conf ##将原来的zone"."那一段注释掉,添加以下内容:
view localnet {
match-clients {172.25.254.0/24; };
zone "." IN {
type hint;
file "named.ca";
};
include"/etc/named.rfc1912.zones";
};
view inter {
match-clients {172.25.22.0/24; };
zone "." IN {
type hint;
file"named.ca";
};
include"/etc/named.rfc1912.inter";
};
systemctl restart named
测试:
client:
vim /etc/resolv.conf
nameserver 172.25.22.11
dig www.westos.com ##查询的结果是172.25.22.222
真机:
vim /etc/resolv.conf
nameserver 172.25.254.122
dig www.westos.com ##查询的结果是172.25.254.222
4.反向解析:
server:
vim /etc/named.rfc1912.zones
zone"254.25.172.in-addr.arpa" IN {
type master;
file"westos.com.ptr";
allow-update { none; };
};
cp -p /var/named/named.loopback/var/named/westos.com.ptr
vim /var/named/westos.com.ptr
$TTL 1D
@ IN SOA dns.westos.com. root.westos.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.com.
dns A 172.25.254.122
122 PTR dss.westos.com.
111 PTR www.westos.com.
systemctl restart named
测试:
vim /etc/resolv.conf
nameserver 172.25.254.122
dig -x 172.25.254.122 ##结果:www.westos.com.
dig -x 172.25.254.111 ##结果:dss.westos.com.
5.DNS更新:
server:
cp -p /var/named/westos.com.zone/mnt/ ##备份原始文件,实验后可恢复
vim /etc/named.rfc1912.zones,
zone "westos.com" IN{
type master;
file"westos.com.zone";
allow-update { 172.25.254.122;}; ##允许122这台机子更新DNS
};
chmod 770 /var/named
setsebool -P named_write_master_zones1
systemctl restart named
client: ##ip为172.25.254.222
nsupdate
> server 172.25.254.122
> update add hello.westos.com 86400A 172.25.254.134 ##增加域名
> send
server:
dig hello.westos.com ##查询到IP为172.25.254.134
此时westos.com.zone里面并没有同步,若要同步的话重启named
systemctl restart named
vim /var/named/westos.com.zone ##此时已经同步
nsupdate
> server 172.25.254.122
> update delete hello.westos.com ##删除域名
> send
dig www.westos.com
rm -fr /var/named/westos.com.zone/var/named/westos.com.zone.jnl ##删除更新过的文件
cp -p /mnt/westos.com.zone/var/named/ ##将备份在/mnt的文件复制回来,为下面实验创造实验环境。
6.dns更新加密:
server:
cd /mnt
dnssec-keygen -a HMAC-MD5 -b 256 -nHOST dnskey ##-a加密类型,-b字符长度,-n用途 ##在server里面敲一些字符,敲够256个字符就会自动生成加密文件。
ls
cp -p /etc/rndc.key /etc/dns.key
[root@dns mnt]# catKdnskey.+157+40648.key
dnskey. IN KEY 512 3 157FDkuJP2ybsMMhxpsbYT8fCAo9ihtdSdSENsAuZoiApQ= ##查询密码
vim /etc/dns.key
key "dnskey" { ##名字为指定的dnskey
algorithm hmac-md5;
secret"FDkuJP2ybsMMhxpsbYT8fCAo9ihtdSdSENsAuZoiApQ="; ##密码
};
vim /etc/named.conf
include "/etc/dns.key"; ##43行加入此命令
vim /etc/named.rfc1912.zones
zone "westos.com" IN{
type master;
file"westos.com.zone";
allow-update { key dnskey; }; ##名字为指定的dnskey
};
systemctl restart named
scp Kdnskey.+157+52554.*root@172.25.254.222:/mnt/ ##分发钥匙
client:
[root@dns-desktop mnt]# nsupdate -kKdnskey.+157+52554.private
> server 172.25.254.122
> update add hello.westos.com 86400A 172.25.254.188
> send
server:
dig hello.westos.com ##结果:172.25.254.188
7.动态dns域名解析:
随着IP获取的不同,域名解析出来的IP随着IP获取而改变(每获取新的IP,域名解析出来的IP就是新的IP)
dns-server:
前提:
/var/named/的权限为770
setsebool -P named_write_master_zones1
删除/var/named/里的westso.com.zone.jnl和westso.com.zone,复制/mnt/westos.com.zone到/var/named
yum install dhcp -y ##安装dhcp服务
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example/etc/dhcp/dhcpd.conf
vim dhcpd.conf
option domain-name"westos.com"; ##域名
option domain-name-servers172.25.254.122; ##dns服务器IP
default-lease-time 600;
max-lease-time 7200;
ddns-update-style interim; ##允许通过钥匙更新dns
log-facility local7;
subnet 172.25.254.0 netmask255.255.255.0 { ##网段
range 172.25.254.150 172.25.254.158; ##网池,IP从160到165随意分配
option routers 172.25.254.250; ##网关
}
key dnskey {
algorithm hmac-md5;
secret FDkuJP2ybsMMhxpsbYT8fCAo9ihtdSdSENsAuZoiApQ=;
};
zone westos.com. {
primary 127.0.0.1; ##采用回环接口IP,提升效率,安全性
key dnskey;
}
vim /etc/named.conf
view localnet {
match-clients {172.25.254.0/24; 127.0.0.1; }; ##增加127.0.0.1
zone "." IN {
typehint;
file"named.ca";
};
include"/etc/named.rfc1912.zones";
};
view inter {
match-clients {172.25.23.0/24; 127.0.0.1; }; ##增加127.0.0.1
zone "." IN {
type hint;
file"named.ca";
};
include"/etc/named.rfc1912.inter";
};
systemctl restart named
systemctl restart dhcpd
client测试:
hostnamectl set-hostnametest.westos.com ##设置主机名
vim/etc/sysconfig/network-scripts/ifcfg-eth0 ##动态获取IP
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
systemctl restart network
ifconfig
dig test.westos.com ##得到的IP是dhcp给的IP
图42
Llinux运维-DNS
最新推荐文章于 2025-01-06 20:46:23 发布