使111非权威dns不再向114权威dns询问,向自己询问,这个也属于文件共享想搭建一个类似114功能的dns服务器
主机记录(A记录 | A记录是用于名称解析的重要记录,它将特定的主机名映射到对应主机的IP地址上 |
---|---|
别名记录(CNAME记录) | CNAME记录用于将某个别名指向到某个A记录上,这样就不需要再为某个新名字另外创建一条新的A记录 |
IPv4主机记录(A记录) | 用于将特定的主机名映射到一个主机的IPv4地址 |
IPv6主机记录(AAAA记录) | 与A记录对应,用于将特定的主机名映射到一个主机的IPv6地址 |
服务位置记录(SRV记录) | 用于定义提供特定服务的服务器的位置,如主机(hostname),端口(port number)等 |
NAPTR记录 | 它提供了正则表达式方式去映射一个域名,NAPTR记录非常著名的一个应用是用于ENUM查询 |
PTR | IPv4/IPv6 地址至名称 |
MX | 用于名称的邮件交换器 ( 向何处发送其电子邮件 ) |
NS | 域名的名称服务器 |
SOA | ” 授权起始 “ , DNS 区域的信息 ( 管理信息 ) |
DNS 排错(它显示来自 DNS 查找的详细信息 , 其中包括为什么查询失败)
NOERROR 查询成功
NXDOMAIN DNS 服务器提示不存在这样的名称
SERVFAIL DNS 服务器停机或 DNSSEC 响应验证失败
REFUSED DNS 服务器拒绝回答 ( 也许是出于访问控制原因 )
通过域名找ip
步骤:
(1):vim /etc/named.rfc1912.zones ##配置文件来定义需要解析的域名
y6y复制,p粘贴
zone "westos.com" IN { ##添加wetsos.com,我们自己要维护管理的域名
type master; ##类型为主域名
file "westos.com.zone" ##正向解析域名文件
allow-update { none; }; ##远程不可写
}
(2):cd /var/named 编辑DNS正向解析的域名的数据文件
cp -p named.localhost westos.com.zone #通过named.localhost为模版生成,权限也一致
(3) vim westos.com.zone
内容:
$TTL 1D
@ IN SOA dns.westos.com. root.westos.com. {
0 ; serial
1D ; refersh
1H ; retry
1W ; expire
3H ) ; minimum
对应关系谁维护的 NS dns.westos.com.
dns A 172.25.254.111 ##地址解析服务器
www A 172.24.254.111 ##指定域名解析,A表示正向解析
}
注: 如果不加.系统会给默认添加.westos.com
@表示域名 westos.com
dns.westos.com. 授权起始(注意.)
root.westos.com. 出了问题找谁维护
A:名称至IPV4地址,把域名解析到IP
AAAA:名称至IPV6地址
SOA dns.westos.com. ##(授权起始;以点结尾)
NS:域名的名称服务器
CNAME:把域名解析到另一个域名
1D:保存一天
root.westos.com.:表示由谁维护
1H:失败的时候1小时之后再试
systemctl restart named
(4)测试:
在测试的主机上(server):172.254.25.211;
vim /etc/resolv.conf
nameserver 172.25.254.111 (对方主机的ip)
dig www.westos.com
结果:
www.westos.com 172.25.254.111
####网页重径向#######
www.a.shifen.com存在于百度的内部
CNAME内部域名 百度内部人员change
对外是 www.baidu.com
vim westos.com.zone
内容:
$TTL 1D
@ IN SOA dns.westos.com. root.westos.com. {
0 ; serial
1D ; refersh
1H ; retry
1W ; expire
3H ; minimum
NS dns.westos.com.
dns A 172.25.254.111 ##(本机)
www A 172.24.254.111
bbs CNAME linux
linux A 172.25.254.112
linux A 172.25.254.212
测试:systemctl restart named
dig bbs.westos.com 可以看到CNAME linux.westos.com 并且两个IP轮询访问
#########邮件服务######
smtp是邮件所使用的协议 简单邮件传输协议 对应端口25
dns对应53
查询邮件交换记录dig -t mx qq.com
自己添加邮件交换记录 qq有三个,数字越小优先级越高
MX:用于名称的邮件交换器(向何处发送其电子邮件)
##什么是MX记录?
MX(Mail Exchanger)记录是邮件交换记录,它指向一个邮件服务器。在用户发送邮件时,“smtp发送服务器”根据收信人的域名(邮箱地址后缀)来定位收件 人的邮件服务器。例如,当Internet上的某用户要发一封信给 [email protected]时,该用户的邮件系统通过DNS查找yourdomain.com这个域名的MX记录,如果MX记录存在, 发件方邮件服务器最终就将邮件发送到MX记录所指定的邮件服务器上。反之会因找不到收件方服务器而退信。
vim westos.com.zone
内容:
$TTL 1D
@ IN SOA dns.westos.com. root.westos.com. {
0 ; serial
1D ; refersh
1H ; retry
1W ; expire
3H ; minimum
NS dns.westos.com.
dns A 172.25.254.112 ##(本机)
www A 172.24.254.212
bbs CNAME linux
linux A 172.25.254.111
linux A 172.25.254.112
westos.com. MX 1 172.25.254.211. ##注意结尾的点,如果没加会报错。
}
systemctl restart named ##重启服务
注意175.25.254.211后面要加’.’ 不然会默认添加westos.com
测试: 在desktop上
mail [email protected] ##输入邮件题目及内容 ctrl+d 发送邮件
mailq:查看邮件
##############反向解析########
通过ip找域名
dig -x 172.25.254.111
PTR后面撒都木有
修改配置文件
vim /etc/named.rfc1912.zones ##反向解析配置文件规则
内容: zone "254.25.172.ip-addr.arpa" IN {
type master;
file "westos.com.ptr" ##添加反向解析
allow-update { none; };
}
cd /var/named
cp -p named.loopback westos.com.ptr
ll 查看权限是否一致 ptr:反向解析记录
vim westos.com.ptr 配置反向解析文件
$TTL 1D
@ IN SOA dns.westos.com. root.westos.com. {
0 ; serial
1D ; refersh
1H ; retry
1W ; expire
3H ; minimum
NS dns.westos.com.
dns A 172.25.254.111 ##(本机)
111 PTR bbs.westos.com.
112 PTR www.westos.com.
vim /etc/resolv.conf
nameserver 172.25.254.111
dig -x 172.25.254.111
dig -x 172.25.254.112
############双向解析##############
实现内网主机和外网主机访问同一网站域名,定义到不同服务器。
注释用:/ /
cd /var/named
(1)cp -p westos.com.zone westos.com.localnet
vim westos.com.zone ##外网访问dns解析数据库
(2)vim westos.com.localnet ##内网访问dns解析数据库
内容:
$TTL 1D
@ IN SOA dns.westos.com. root.westos.com. {
0 ; serial
1D ; refersh
1H ; retry
1W ; expire
3H ; minimum
NS dns.westos.com
dns A 172.25.254.111 ##(本机)
www A 172.24.254.211
bbs CNAME linux
linux A 172.25.254.111
linux A 172.25.254.112
westos.com. MX 1 172.25.254.250. ##注意结尾的点
}
/%s/172.25.254/192.268.0 ##全文替换172.25.254为192.168.0
(3)修改主dns服务上的子配置文件
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.localnet
(4) vim /etc/named.rfc1912.localnet 内网域名解析子配置文件
zone "westos.com" IN {
type master;
file "westos.com.localnet";
allow-update { none; };
};
(5)修改主dns服务器主配置文件(设置内网,外网)
vim /etc/named.conf
/*
zone "." IN { ##注释原来的zone
type hint;
file "named.ca"
}
include "/etc/named.rcf1912.zones"
include "/etc/named.root.key"
*/
view localnet 新增本地域名解析 内网
view any 其他主机域名解析 外网
view localnet {
match-clients { 172.25.254.111; }; ##本机的ip,本机为内网
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.localnet"; ##本机读取etc文件
};
view internet {
match-clients { any; };
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
};
测试:
本机设定:
vim /etc/resolv.conf
内容:
nameserver 172.25.254.111 ( 本机的ip)
dig www.westos.com ---------->得到结果为192.168.0.111
其他主机设定:
vim /etc/resolv.conf
内容:
nameserver 172.25.254.111
dig www.westos.com ---------->得到结果为172.25.254.111
###############辅助dns##################
作用:保证系统稳定性
当许多台主机需要域名解析时,此时主dns的压力会很大,所以这时候就需要一个辅助dns来帮助它分解压力。
主dns Desktop IP:172.25.254.111
辅助dns server IP:172.25.254.211
主从服务端都需要安装Bind软件,开启named服务,关闭防火墙。
服务器压力太大:
集群 冗余 保证服务的稳定性
辅助dns,更改部分配置主配置文件named.conf 子配置文件 .1912 火墙
1:注释双向dns配置,恢复之前配置(在172.25.254.111主机上)
2:再打开一台虚拟机(server)
3:yum install bind -y
记录主机的和其它主机的IP和其对应主机名
。
vim /etc/named.conf
内容:
listen-on port 53 { any; };
allow-query {any; };
4:vim /etc/named.rfc1912.zones
内容:
zone "westos.com" IN {
type slave;
masters{ 172.25.254.11; };
file "slaves/westos.com.zone";
allow-update { none; };
};
systemctl restart named
注意masters!!!不然会重启失败!!!!!!!!!
5:firewall-cmd --permanent --add-service=dns
firewall-cmd --reload
测试:vim /etc/resolv.conf
内容:
nameserver 172.25.254.211
dig www.westos.com ------->得到和172.25.254.112相同的结果
#####################dns更新################
1.更改主dns域名解析文件之后www 100–>200
重启服务
主机测试 dig www.westos.com
主dns 的IP变成200
但辅助dns还是100 主机也是100
辅助dns没有变化,需要rm -fr westos.com.zone重启服务
就同步了.但是只是一次性的。
##dns更新###
(1)在主dns上:
zone "westos.com" IN {
type master;
file "westos.com.zone";
allow-update { 172.25.254.112; }; #允许谁更新
also-notify {172.25.254.211; }; ##当文件(解析)变更时,通知211主机
允许更新:
(2)systemctl restart named
##当文件(解析)变更时,通知211主机
主dns:
为了后面的允许远程用户更新
修改主服务端的域名配置文件,并更新序列号
小结:
需要辅助的dns能够同步主dns:
在主dns配置添加通知200,重启,更改IP对应关系
辅助dns测试还是没有同步。因为没有去拿,因为辅助认为westos.com.zone和主dns这个文件相同。
主dns需要更改serial :1
辅助的dns重启–>dig同步了(不过比较慢,有延迟)
serial不能超过10位,2019080401 ;serial
!!!注意每次更改A记录文件之后,必须更改serial的数值,这个数值最大是10位,主从都重启服务,辅助dns主机会同步信息。
####allow-update { 172.25.254.112; }; #允许112更新
企业6重启之前还需要加以ige参数
##远程更新dns####
主dns:
(1)修改named配置文件
allow-update { 172.25.254.112; };
(2)给/etc/named目录加权限
chmod 770 /var/named
(3)重启服务
辅助dns:
ssh 172.25.254.112去测试:
nsupdate是一个动态DNS更新工具,可以向DNS服务器提交更新记录的请求,它可以从区文件中添加和删除资源记录,而不需要手动编辑区文件
添加成功!给111主机添加一个域名解析
测试:
发送完毕后,会自动生成 westos.com.zone.jnl
可以在ls /var/named/ 下查看
cp -p westos.com.zone /mnt
备份,因为在重启服务之后,westos.com.zone就会被更改为已更新的文件。
提前备份1份!!!!!
重启服务
vim westos.com.zone
文件已经更改
辅助dns也可以删除更新
删除更新过的,.将备份的复制回来
###基于key认证的远程更新#####
安全的更新,别人模拟不出来,如果都改成172.25.254.112,那么都可以更新了
需要找唯一标示,使用key去更新 cd /mnt/(也可以是其他目录)生成key
–help查看帮助 -n 类型 指定主机 -b位数 -a指定加密方式
之前重启需要桥键盘无轨机运动,保持加密方式一样
一个钥匙一个锁,两个一样,对称加密md5
在/mnt/下生成key文件,在主配置文件加载key,不要写在option文件里
使用key更新,IP不安全
把钥匙发送给1个主机
在主机上更新 并且使用钥匙更新需要加-k,不加-k,发送不过去
在主dns测试dig hello.westos.com
#######dns的key更新######
1.
systemctl restart named 有jnl文件,并且westos.com.zone也更新了
rm -fr westos.com.zone* 删除更新过的文件
cp -p /mnt/westos.com.zone /var/named 如果权限不一致chown改拥有着,chgrp更改所属组
systemctl restart named
rm -fr westos.com.zone* 删除更新过的文件
systemctl restart named
2.生成加密文件
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westos
cp -p /etc/rndc.key /etc/westos.key
vim /etc/westos.key
key "westos" {
algorithm hmac-md5;
secret "自己生成的key"
};
vim /etc/named.conf
#option语句块外
include"/etc/westos.key"
vim /etc/named.rfc1912.zones
zone"westos.com" IN {
type master;
file"westos.com.zone"
allow-update {key westos;};只有有密钥的主机对dns进行动态更新
also-notify{172.25.254.200; };
};
systemctl restart named
scp Kwestos.* [email protected]:/opt 把钥匙锁发送给谁谁就可以更新
cd /opt ##/mnt根目录也可以
ls
nsupdate -k westos.+xxx.key
>server 172.25.254.111
>update add hello.westos.com 86400 A 172.25.254.112
>send
在主dns测试
dig hello.westos.com ##查看IP是否更新位172.25.254.112
cd /var/named 生成jnl文件
##ddns动态域名解析######
主机名固定,IP不固定
解析www,域名对应的IP是死的,不适用于动态网络,
如何让解析随IP变:
因为dhcp每次分配的IP都不同
IP dhcp服务知道是哪个IP
分配IP的时候告诉dns,把解析指向他
dhcp -->dhcp network -->dns
ddns:
server的IP变,做客户端,通过dhcp获取IP
在主dns搭建dhcp网络,分配IP (desktop)
把真机dhcp关了
在desktop开启dhcp,地址池,火墙添加dhcp
server火墙也要添加dhcp
把selinux都要关掉
在server分配到一个IP之后,dig test.westos.com还是没有IP
dhcp告诉dns,打开ddns-updates-style interim
添加key 配置dhcp文件 重启服务
在server重启服务 dig查看IP是否更改
#什么是DDNS?
DDNS是动态域名服务的缩写,是指域名系统中的一种自动更新名称服务器内容的技术,DDNS是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态ip地址传送给位于服务上主机上的服务器程序,服务器程序负责提供DNS服务并实现动态域名解析。
服务器desktop 客户端server
1.服务端,还原之前的操作
2.
主dns安装dhcp并修改配置文件
1.yum install -y dhcp
3.cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
4.vim /etc/dhcp/dhcpd.conf
2.firewall-cmd --permanent --add-service=dhcp
firewall-cmd --reload
14 ddns-update-style interim;
以下部分可以在man 5 dhcpd.conf中搜索ddns找到
key westos{
algorithm hmac-md5; ##Key的加密方式
secret'自己生成的' ##key的密码
}
zone westos.com.{
primary 172.25.254.100;
key westos; 读取的加密文件为westos
}
读取的加密文件为westos
##测试:
在测试客户端:
修改网络位dhcp
exit
systemctl restart network
dig test.westos.com ##看到对应的IP
在修改dhcp的地址池,让客户端的IP可以改变
systemctl restart network
dig test.westos.com ##可以看到IP变为重新分配的。
万年难题:真机ping不通物理机
##看真机ip a
真实网卡是否时UP
虚拟网卡vnet状态时UNKNOWN
##brctl show 看桥接是否有真实的物理设备