1.域名正向解析
含义:将域名转化为IP地址
之前DNS服务器的答案是从114.114.114.114得到的。
下面搭建自己的DNS服务器
1.修改dns指向性文件
#vim /etc/resolv.conf
#删除nameserver 114.114.114.114
2.修改高速缓存服务器的配置文件
vim /etc/named.conf ##修改配置文件
##删除20行 forwarders {114.114.114.114; };
##不需要去114.114.114.114找答案
##注意:可以zone在配置文件中直接写,但是太长了
include "/etc/named.rfc1912.zones"; ##把zone写到这个文件下
3.
vim /etc/named.rfc1912.zones
zone "westos.com" IN { ##westos.com维护的域名
type master; ##master类型是主DNS服务器
file "westos.com.zone"; ##把DNS的答案写到westos.com.zone,用户dig查看这个文件
allow-update { none; };
};
4.正向解析记录文件
cd /var/named
cp -p named.localhost westos.com.zone
##named.localhost是正向解析记录的模版 -p是保存复制文件权限
vim westos.com.zone ##修改正向解析记录文件
@=westos.com=维护域的域名
dns.westos.com-授权起始,答案从哪里来,答案从哪里取的
root.westos.com -谁维护这个日志,给查看这个文件的人看的
refresh 刷新时间
retry 重新获取
enpire 过期
minimum 最小数据访问时间 三小时
5.systemctl restart named ##重启这个服务
测试(真机):
vim /etc/resolv.conf
nameserver 172.25.254.177
dig www.westos.com
dig game.westos.com
2.域名转换
cd /var/named/
vim westos.com.zone ##自己搭建的DNS服务器的所有答案
2.重启服务
systemctl restart named ##重启这个服务
测试(真机):
vim /etc/resolv.conf
nameserver 172.25.254.177
dig www.westos.com
3.邮件
现实生活中邮件如何发?
发邮件通过别人的电脑发
邮件接口25 协议SMTP
DNS告诉163,qq是谁叫域名解析
测试1:
mail [email protected] ##给域名为westos.com的tony用户发送邮件
subject:test ##标题
hello linux ##内容
. #内容以.结束
EOT
mailq ##查看邮件队列
mail ##查看邮件
cd /var/named/
vim westos.com.zone
方法1:
westos.com. MX 10 172.25.254.111.
##westos.com.表示邮箱地址([email protected])中的公司(westos.com)
##10是优先级
##172.25.254.111.表示域名westos.com的ip地址
#方法2
westos.com. MX 10 mx1.westos.com
mx1 A 172.25.254.111
systemctl restart named ##重启服务
测试2:
mail [email protected] ##给域名为westos.com的tony用户发送邮件
subject:test ##标题
hello Linux ##内容
. ##内容以.结束
EOT
mailq ##查看邮件队列
dig -t mx westos.com ##查看邮件解析设置是否成功
4.反向解析
定义:将IP地址转化为域名
vim /etc/named.rfc1912.zones
##添加反向解析记录的配置文件
##用户使用dns时要寻找反向解析记录答案,会前往172.25.254.prt文件中找答案
cd /var/named/
ls
cp -p named.lookback 172.25.254.prt ##named.lookback是反向解析记录的模版
vim 172.25.254.prt
dns A 172.25.254.100
122 PTR hello.westos.com.
123 PTR tony.westos.com
systemctl restart named
真机上测试:
vim /etc/resolv.conf ##查看是否指向高速缓存虚拟机
nameserver 172.25.254.117
dig -x 172.25.254.122 ##答案告诉你172.25.254.122对应的域名是hello.westos.com
dig -x 172.25.254.123 ##答案告诉你172.25.254.123对应的域名是tony.westos.com
5.双向解析(多向解析)
实现:内网和外网同样的域名解析到IP不一样来区分内外网
虚拟机server
设置eth0 IP
IPADDR=1.1.1.17
systemctl restart network
高速缓存服务器desktop
设置eth0 IP
IPADDR0=172.25.254.117
IPADDR1=1.1.1.117
systemctl restart network
cd /var/named/
ls
cp -p westos.com.zone westos.com.inter
vim westos.com.inter
##把之前的172.25.254修改成1.1.1
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inter
vim /etc/named.rfc1912.inter
zone "westos.com" IN{
type master;
file "westos.com.inter"; ##外网用户访问时会到westos.com.inter这个文件寻找答案
allow-update{none;};
};
vim /etc/named.conf
##把下边注释掉
/*
view localnet {
match-clients { 1.1.1.0/24;};
zone "." IN{
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.inter";
};
*/
systemctl restart named
测试1:
vim /etc/resolv.conf
nameserver 1.1.1.177
dig www.westos.com
测试2:
vim /etc/resolv.conf
nameserver 172.25.254.11
dig www.westos.com
6.DNS集群
实现:设置DNS的集群,在主DNS服务器的信息更改时,通知到辅助服务器,让其自动同步更改。
两台虚拟机
server(从):
1.更改主机名为dns-slave.westos.com
hostnamectl set-hostname dns-slave.westos.com ##修改主机名
2.设置IP地址
vim /etc/sysconfig/network-scripts/ifcfg-eth0 ##设置地址信息
3.安装named服务
cd /etc/yum.repos.d/
ls
vim yum.repo ##yum仓库
yum install bind.x86_64 -y ##安装软件
4.从DNS服务器设置
vim /etc/named.conf ##修改配置文件
两个any,一个no
systemctl restart named ##重启
vim /etc/named.rfc1912.zones
zone "westos.com" IN{
type slave;
masters { 172.25.254.177; };
file "slaves/westos.com.zone"
allow-update{ none; };
};
systemctl restart named ##重启服务
可以看到重启服务后自动在/var/named/slaves下生成westos.com.zone文件
cd /var/named/slaves
ls ##可以看到自动生成了westos.com.zone文件
vim /etc/resolv.conf
nameserver 172.25.254.217 ##DNS指向自己
5.关火墙
desktop(主):
1.更改desktop主机名为dns-master.westos.com
hostnamectl set-hostname dns-master.westos.com ##修改主机名
2.为了使得实验简单,把多向解析配置的内容删除
3.
vim /etc/named.rfc1912.zones
zone "westos.com" IN{
type master;
file "westos.com.zone"
allow-update{ none; };
allow-transfer { 172.25.254.217; }; ##允许内容传输给172.25.254.217
also-notify { 172.25.254.217; }; ##当主DNS更改时,告诉217更改
};
systemctl restart named
测试1:
主DNS服务器:
从DNS服务器
测试2:
主DNS服务器:
cd /var/named
vim westos.com.zone ##更改内容
systemctl restart named
查看辅助DNS服务器:
dig www.westos.com
发现IP并没有更改,说明没有同步成功,原因是主服务器中的/var/named/westos.com.zone文件中的serial值没有更改。
查看辅助DNS服务器中/var/named/slaves/westos.com.zone文件状态
测试3
主DNS服务器中更改IP,并且更改serial值从0为1
辅助DNS服务器:
dig www.westos.com ##发现IP也同步更改
测试4
主DNS服务器中/var/named/westos.com.zones内容不变,并且更改serial值从1为2
辅助DNS服务器
查看辅助DNS服务器中/var/named/slaves/westos.com.zone文件状态发生改变
7.DNS远程更新
desktop(主DNS服务器)
1.因为要更新主DNS服务器,将/var/named/westos.com.zone 备份
cp -p westos.com.zone /mnt/
2.当更新的时候,辅助服务器会在主DNS服务器/var/named/下写一个数据,所以要设置权限,使得有写的权限
chomd 770 /var/named/
3.修改配置文件
vim /etc/named.rfc1912.zones
zone "westos.com" IN{
type master;
file "westos.com.zone"
allow-update{ 172.25.254.217; }; ##允许172.25.254.217更新
allow-transfer { 172.25.254.217; };
also-notify { 172.25.254.217; };
};
systemctl restart named
4.查看selinux状态,若selinux 开启,要开启域的写的权限
虚拟机server(从)
nsupdate
> server 172.25.254.117
> update add test.westos.com 86400 A 172.25.254.133 ##添加域名test.westos.com,有效时间1天,A记录,ip为172.25.254.133
> send ##成功发送
更新完成后在主DNS服务器(desktop虚拟机)在/var/named/目录下可以看到增加了一个文件westos.com.zone.jn1
systemctl restart named
cat westos.com.zone ##可以看到更新成功
8.key更新主DNS服务器
1.复原原来配置文件
rm -fr westos.com.zone westos.com.zone.jn1
cp -p /mnt/westos.com.zone .
systemctl restart named
2.我们在生成密钥时使用的加密算法要和/etc/rndc.key文件中所显示的加密算法为hmac-md5一致
3.主DNS服务器生成密钥
`dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westoskey
md5对称加密生成的密钥是一对,一个公钥,一个私钥,密钥值是一样的
4.创建密钥文件
以/etc/rndc.key文件为模版,创建密钥文件
5.在主配置文件中包含此密钥文件
6.修改配置文件
7.发送密钥对到服务DNS服务器端
测试:
辅助DNS服务器:
nsupdate -k Kdnskey.+157+41659.private ##使用私钥进行认证
在主DNS服务器重启named服务后,可以看到westos.com.zone文件已经更新
9.动态域名解析
dns+dhcp == ddns ===动态域名解析 ===花生壳
1.配置dhcp服务
1)安装dhcpd服务
2)复制一个模版,写dhcpd配置文件
2.dns的key更新,上面的实验
3.配置dhcpd.conf
vim /etc/dhcp/dhcpd.conf
14行 ddns-update-style interim;
文件最后添加可更新dns的key
key dns的key名称 {
algorithm hmac-md5;
secret dns的key加密字符;
}
文件最后添加要更新的dns的域信息
zone 要更新的域名. {
primary 127.0.0.1;
##回环接口ip地址,因为本次实验dns和dhcp在一起,后跟着dns服务器的地址
key dns的key名称;
}
测试
测试客户端
1.设置dhcp方式获取ip
2.主机名要修改成game.westos.com
3.客户端获取IP:172.25.254.211
客户端解析game.westos.com,得到的答案解析ip是172.25.254.211
为了效果明显
重新设置服务端dhcpd分配的ip区间
客户端重启网络,得到的IP是172.25.254.212
客户端解析game.westos.com,得到的答案解析ip是172.25.254.212