萌新的linux之旅20
高速缓存DNS
server端设置:
yum install bind -y ##安装服务
systemctl start named ##启动服务
第一次开启会卡一下,晃动鼠标或敲击键盘就可以启动,因为文件/dev/random这里会自动存放的是键盘鼠标轨迹的加密信息
/etc/rndc.key 放的是dns的加密key
firewall-config ##配置防火墙,使得允许使用DNS
vim /etc/named.conf ##配置服务配置文件
listen-on port 53 { any; }; ##将所有人都可以访问53端口
allow-query { any; }; ##允许任何人询问
forwarders {172.25.254.250; }; ##因为不知道ip,所以先连上一个联网的ip
systemctl restart named ##重启服务
随便dig一个网站,以百度为例
再次dig百度
你会发现,第二次比第一次快的多,因为第一次DNS不知道百度的地址,还需要去询问别的服务器,第二次是直接读取第一次询问时得到并保存的ip。
zone区域
file “haha.com.zone”;
A记录文件
cd /var/named 这里面的文件权限不一样所以复制时要复制权限
cp -p name.localhost haha.com.zone
$TTL 1D客户端缓存最大访问限额 ,一天(类似记录时间,时间到了就重新问)
@ (相当于haha.com 自己设置的域名) IN SOA 名字 每串字符后面加.(点不加的话会自动补齐haha.com所以不能没有 . )
dns.haha.com. (dns解析) root.haha.com.(管理员邮箱)
NS dns.haha.com.(注意最后的点)
dns A 172.25.254.110 自己的DNS ip
www A 172.25.254.250 (dns不会检测这个地址通不通)
news A 172.25.254.10
haha A 172.25.254.9
写好后dig 设置好的ip测试一下
DNS反向解析
(从ip解析域名)
1、vim /etc/named.rfc1912.zones
zone “254.25.172.in-addr.arpa” IN { ##因为是反向解析,所以网段得反着写
type master;
file “haha.com.ptr”; ##文件名字可以根据自己的喜好设定
allow-update { none; };
2、cp -p /var/named/named.loopback /var/named/haha.com.ptr
、vim /var/named/we.com.ptr
$TTL 1D
@ IN SOA dns.haha.com. root.haha.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.we.com.
music A 172.25.254.2
110 PTR bbs.westos.com.
109 PTR hi.haha.com.
###IP的反向解析和域名的正向解析是两种不同的系统,不必要一一对应。
轮叫机制(双向解析)
即不同的IP询问同一个域名,解析出不同的IP
1、vim /etc/named.conf
/* zone “.” IN { ##注释掉第52行到59行
type hint;
file “named.ca”;
};
include “/etc/named.rfc1912.zones”;
include “/etc/named.root.key”;
*/
view localnet {
match-clients { 172.25.254.110; }; #网段解析
zone “.” IN {
type hint;
file “named.ca”;
};
include “/etc/named.rfc1912.zones”; ##以上语段表示172.25.254.110网段上的用户在访问时访问named.rfc1912.zones这个文件所配置的内容
};
view any { ##公共网段解析
match-clients { any; };
zone “.” IN {
type hint;
file “named.ca”;
};
include “/etc/named.rfc1913.zones”; ##以上语段表示在其他用户访问时访问named.1913.zones所配置的内容
};
2、cp -p /etc/named.rfc1912.zones /etc/named.rfc1913.zones
3、vim /etc/named.rfc1913.zones
zone “haha.com” IN {
type master;
file “haha.com.inter”; ##与1912中的不同,重新设置文件名称
allow-update { none; };
};
4、cp -p /var/named/haha.com.zone /var/named/haha.com.inter
5、vim /var/named/haha.com.inter
bbs CNAME news.haha.com.
dns A 1.1.1.110
www A 1.1.1.333
news A 1.1.1.222
news A 1.1.1.111
将两个文件设成不同的IP,不同的用户询问域名时就会访问不同的文件,从而显示不同的IP。
DNS集群
1、现实应用中,一台DNS服务器往往不够用,这时需要另外有一台主机当辅助服务器,安装并开启named服务,配置好防火墙,DNS域名设置为主服务器ip。
2、vim /etc/named
11 listen-on port 53 { any; };
17 allow-query { any; };
3、vim /etc/named.rfc1912.zones
zone “we.com” IN {
type slave;
masters { 172.25.254.110; } ;
file “slaves/haha.com.zone”;
allow-update { none; };
};
//文件中填写的名称随意,但是创建文件名要相同
注意:/var/named相当于dns服务的根目录,A记录存放的位置,所以设置file”slaves/…”
ls -l /var/named
4、systemctl restart named
5、dig www.haha.com
上述方法如果主DNS的内容改变,那么副DNS上不会同步,同步需要做以下操作。
1、vim /etc/named.rfc1913.zones
zone “we.com” IN {
type master;
file “we.com.any”;
allow-update { none; };
also-notify {172.25.254.210;};
};
DNS ,dhcpd自动更新同步(花生壳)
dns key **更新
dnssec-****** -a HMAC-MD5 -b 128 -n HOST haha ##生成密匙
cat Khaha.+157+18569.key
vim /etc/named.conf
include “/var/named/haha.key”; ##指定dns服务读取的key文件,这个文件可以放在任何地方,输入地址是绝对地址
vim /etc/named.rfc1913.zones
zone “haha.com” IN {
type master;
file “haha.com.inter”;
allow-update { key haha; }; ##指定haha域可以被hahakey 更新
};
dhcpd 配置
vim /etc/dhcp/dhcpd.conf
ddns-update-style interim; ##开启dhcp更新dns功能
key westos { ##dhcp更新dns时用到的key
algorithm hmac-md5;
secret 4SJx4m33BpJnNpl8slHIWA==;
};
zone westos.com. { ##指定dhcp更新的域名
primary 127.0.0.1; ##指定dns所在的主机ip
key westos; ##指定更新这个域时用到的key名称
}
测试
设定一台主机网络的工作方式为dhcp
设定这台主机的主机名www.westos.com,这个名称在原有的dns服务中是没有解析的
重启网络看ip 和主机名称的解析