#########DNS服务器#####
yum install bind -y ##安装DNS服务
systemctl start named ##打开服务 开启的时候需要在本机的真实环境里面进行鼠标和键盘的移动
cd /dev/random ##安装了dns服务后会出现这个文件
netstat -antulpe |grep named ##查看named接口
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 25 170322 32138/named
tcp 0 0 172.25.254.114:53 0.0.0.0:* LISTEN 25 170317 32138/named
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 25 170315 32138/named
tcp6 0 0 ::1:953 :::* LISTEN 25 170323 32138/named
tcp6 0 0 ::1:53 :::* LISTEN 25 170319 32138/named
udp 0 0 172.25.254.114:53 0.0.0.0:* 25 170316 32138/named
udp 0 0 127.0.0.1:53 0.0.0.0:* 25 170314 32138/named
udp6 0 0 ::1:53 :::* 25 170318 32138/named
vim /etc/named.conf ##打开服务配置文件
options {
listen-on port 53 { any; }; ##把回环接口改为any 没有改接口和关闭防火墙的时候是timeout连接超时
listen-on-v6 port 53 { ::1;};
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file"/var/named/data/named_stats.txt";
memstatistics-file"/var/named/data/named_mem_stats.txt";
allow-query { localhost; };
systemctl stop firewalld
如果想要在防火墙开启的情况下还能访问dns服务器需要对防火墙进行一些设定
firewall-cmd --list-all ##查看防火墙允许的服务
firewall-cmd --permanent --add-service=dns ##添加dns服务
firewall-cmd -reload ##重新加载服务
测试:在客户端里面改/etv/resolv.conf
nameserver 172.25.254.114
dig www.baidu.com ##问dns服务器
问的时候时拒绝的
如果想要dns开放功能
allow-query { any; }; ##服务允许任何人访问并且不拒绝
forwarders { 172.25.254.250;}; ##当没有拒绝的时候114这台主机是不知道百度的ip的,这个需要去问250
测试:客户机里面去问百度ip
dig www.baidu.com
Query time: 12 msec ##第一次问的时候的响应时间
Query time: 0 msec ##第二次访问的时候的响应时间这是因为第一次访问完之后把结果存放在高速缓存里面所以响应时间要很短
如果访问一个完全没有的域名怎么办
########域名搭建正向解析############
vim /etc/named.rfc1912.zones ##添加一段你要访问的域名的编写
zone "westoslinux.com" IN {
type master;
file"westoslinux.com.zone"; ##让去找这个文件,这个文件建立在/var/named
allow-update { none; };
};
cp -p /var/named/named.localhost westoslinux.com.zone ##复制一个以localhost为模版的文件创建该域的zone文件(解析数据库)
$TTL 1D
@ IN SOA dns.westoslinux.com. root.westoslinux.com.( ##com后面必须有点 不然会自动补westoslinux.com
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westoslinux.com.
dns A 172.25.254.114
www A 172.25.254.214
测试 dig www.westoslinux.com
######反向解析#########
vim /etc/named.rfc1912.zones
zone "254.25.172.in-addr.arpa" IN { (网络位要反向写)
type master;
file "westoslinux.ptr"; ##需要找的文件
allow-update { none; };
};
cp -p named.loopback westoslinux.ptr ##复制模版
vim /var/named/westoslinux.ptr
$TTL 1D
@ IN SOA dns.westoslinux.com. root.westoslinux.com.(
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westoslinux.com.
dns A 172.25.254.114
223 PTR www.westoslinux.com. ##反向解析172.25.254.223
224 PTR www.yiyi.com. ##反向解析172.25.254.224
###chagename和轮询#########
vim /etc/namd/westoslinux.com.zone
www CNAME www.a.westoslinux.com. ##chagename 为www.a.westoslinux.com
www.a A 172.25.254.214 ##询问的ip1
www.a A 172.25.254.224 ##询问的ip2 (轮询)
westoslinux.com. MX 1 172.25.254.13. ##邮件解析
测试:mail root@westoslinux.com ##当给westoslinux.com发邮件的时候就是给172.25.254.13发邮件
#####dns集群 辅助dns###############
重新打开一台虚拟机 为主dns减轻访问压力
配置ip和yum源
yum install bind -f
打开服务 对防火墙设定
vim /etc/named.conf
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file"/var/named/data/named_stats.txt";
memstatistics-file"/var/named/data/named_mem_stats.txt";
allow-query { any; };
然后vim /etc/named.rfc1912.zones
。。。。
zone "westoslinux.com" IN {
type slave; ##设定本机为为辅助dns
masters { 172.25.254.114 ;}; ##A记录文件同步主机
file"slaves/westoslinux.com.zone"; ##存放A记录文件的位置
allow-update { none; };
};
。。。
在主dns里面修改vim/etc/named.rfc1912.zones
。。。
zone "westoslinux.com" IN {
type master;
file"westoslinux.com.zone";
allow-update { none; };
allow-transfer { 172.25.254.214;}; ##允许同步本机A记录文件主机的ip
};
。。。
测试:vim /etc/resolv.conf
nameserver 172.25.254.214 ##辅助服务器
dig www.westoslinux.com
#######dns服务器的同步##########
只修改主dns,可以同步到辅助dns上面
在主dns里面修改vim/etc/named.rfc1912.zones
。。。
zone "westoslinux.com" IN {
type master;
file "westoslinux.com.zone";
allow-update { none; };
allow-transfer { 172.25.254.214;}; ##允许同步本机A记录文件主机的ip
also-notify {172.25.254.214 ;}; ##去通知辅助dns同步更改
};
然后修改vim westoslinux.com.zone
$TTL 1D
@ IN SOA dns.westoslinux.com. root.westoslinux.com.(
2017022501 ; serial ##修改zone文件 每次都需要改变serial前面的数字,才能同步到辅助dns上面
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westoslinux.com.
dns A 172.25.254.114
www CNAME www.a.westoslinux.com.
www.a A 172.25.254.114
www.a A 172.25.254.124
westoslinux.com. MX 1 172.25.254.13.
####辅助dns更新主dns#####
提前先把westoslinx.com.zone进行备份到/mnt下
cp -p westoslinux.com.zone /mnt/ ##和权限一起备份
vim /etc/named.rfc1912.zones
allow-update { 172.25.254.214; }; ##允许更新主dns的ip
因为/var/named没有写权限
所以chmod 770 /var/named
还有因为selinux服务未开启
setsebool -P named_write_master_zones 1 ##开启服务
然后在辅助dns服务器上面进行更新
[root@dns-server114 slaves]# nsupdate ##进行更新
> server 172.25.254.114
> update add yiyi.westoslinux.com 86400 A 172.25.254.114 ##添加更新
> send
> quit
> update delete yiyi.westoslinux.com ##删除更新
########对更新dns服务器加密##########
首先删除刚才更新的文件和zone.jnl 和 zone文件
然后从/mnt中-p把zone文件拷贝过来
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westos ##生成钥匙按HMAC-HD5加密 加密字长-b 128 -n 用途解析
cp /etc/rndc.key /etc/westos.key -p ##生成一个模版文件
cat Kwestos.+157+12306.key ##会看到一串生成的密码
151 cat Kwestos.+157+12306.private
vim /etc/westos.key
key "westos" {
algorithm hmac-md5;
secret"KS7RpmQrnrqLIG8/FV8c+w=="; ##把上面生成的密码复制到这里
};
vim /etc/named.conf ##修改配置文件
include "/etc/westos.key"; ##在大括号外面加
vim /etc/named.rfc1912.zones
allow-update { key westos; }; ##修改允许更新的为钥匙更新
然后重新启动服务
最后我们要把钥匙传给想更新dns的主机
scp Kwestos.+157+12306.* root@172.25.254.214:/mnt
测试:
nsupdate -k/mnt/Kwestos.+157+12306.private ##通过钥匙更新
如果更新的时候出现SE。。。的错误 看一下selinux的状态
####花生壳###########
#### 五、花生壳DDNS
DDNS原理:DNS+DHCP=DDNS
DHCP负责IP解析,给客户机分配IP
DNS负责域名解析,A记录里记录了每个IP对应的域名
当dns所维护的域里的主机的IP获取方式为dhcp时,每次辅DNS重启网络服务时,都有可能会更改IP。DNS服务器里的A记录,就可能错误,所以需要dhcp分发IP时主动更改DNS服务器里的A记录。
主dns服务器里面
yum install dhcp -y
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
该文件所有实质内容:
option domain-name "westoslinux.com";
option domain-name-servers 172.25.254.64;
default-lease-time 600;
max-lease-time 7200;
ddns-update-style interim; ##更新主DNS
log-facility local7;
subnet 172.25.254.0 netmask 255.255.255.0 {
range 172.25.254.180172.25.254.200;
option routers 172.25.254.67;
}
key westos { ##用钥匙更新
algorithm hmac-md5;
secret"kyuOBbzpy2pqY4zjWPQ+yw==";
};
zone westoslinux.com {
primary 127.0.0.1;
key westos;
}
*************
chmod 770 /var/named
systemctl restart dhcpd
systemctl restart named
辅助dns服务器里面修改ip获取方式为dhcp
然后重启网络
hostnamectl set-hostname yiyi.westoslinux.com
在真机里面测试:dig yiyi.westoslinux.com
测试完之后在dns主服务器里面重启named服务
然后vim westoslinux.com.zone就可以查看到修改的ip和域名静态映射关系
$ORIGIN .
$TTL 86400 ; 1 day
westoslinux.com IN SOA dns.westoslinux.com. root.westoslinux.com.(
2017030202 ; serial
86400 ; refresh (1 day)
3600 ; retry (1 hour)
604800 ; expire (1 week)
10800 ; minimum (3hours)
)
NS dns.westoslinux.com.
$ORIGIN westoslinux.com.
www.a A 172.25.254.122
A 172.25.254.124
westoslinux.com MX 1 172.25.254.64.
dns A 172.25.254.114
www CNAME www.a
$TTL 300 ; 5 minutes
yiyi A 172.25.254.180
TXT "0092550b3f5fe396a92bd64854384a6265"