一 、DNS高速缓存服务器的配置
在现实生活中,我们大多数都知道登陆百度,可以从www.baidu.com登陆,然而这只是一个代号,为了方便我们记忆
之所以取一个代号,是因为在计算机世界里,想要访问百度的话,需要知道百度的ip,而ip是由32位二进制数组成十分难记
而有了代号,我们怎么来访问百度? 这就需要DNS来为我们解惑
当我们问DNS www.baidu.com 是什么,DNS就可以告诉我们百度的ip这样我们就可以来访问百度了
1.下载NDS服务器,在linux软件中也就是bind软件,使用下面语句下载并启动即可
yum install bind -y
systemctl start named
2.下载完成后,我们需要做防火墙的策略,防止防火墙对我们的服务产生影响
firewall-cmd --permanent --add-service=dns ##更改防火墙策略,使dns服务不被防火墙阻挡
firewall-cmd --reload ##重新加载
3.下载完成后就需要配置其配置文件,来完成我们的需求
该软件的配置文件为 /etc/named.conf
修改其中的11,17 行大括号内为any
并增加十八行forwarders { 222.24.34.250;};
修改如下:
4,修改完成后重启服务
systemctl restart named
注:当重启服务失败时,可以查看系统日来查看错误原因并排除
5.修改配置文件 /etc/named.rfc1912.zones
增加语句块,在两个zone语句块之后
zone "westos.com" IN {
type master;
file "westos.com.zone";
allow-update { none; };
};
修改如下:
6.复制配置文件并修改
cp -p /var/named/namde.localhost /var/named/westos.com.zone
如图编辑此配置文件
7.编辑完成后再此重启服务
systemctl restart named
8.测试
设置测试机的dns为服务机的ip
如图编辑/etc/resolv.conf
然后使用dig语句来进行测试,此时会显示www.westos.com的ip 与/var/named/westos.com.zone 文件中填写的相同,测试成功。
9.再次修改配置文件/var/named/westos.com.zone,如图
此修改给news填写了两个ip 那么在查询news时就会出现查询一次ip更改一次
这样就会使一个对一个服务器的访问变成两个,减轻服务器的压力
二、DNS反解
有些情况我们知道一个ip,但我们不知道这个ip是谁的,这个时候就需要DNS反解,
我们给DNS一个ip,DNS给我们一个域名。
配置/etc/named.rfc1912.zones
在文件最后添加
zone "254.25.172.in-addr.arpa" IN {
type master;
file "westos.com.ptr";
allow-update { none; };
};
修改为:
2.复制并修改配置文件 cp -p /var/named/named.loopback /var/named/westos.com.ptr
如图修该此文件
3.重启服务
systemctl restart named
4.测试
使用dig -x ip命令来测试,现实出与/var/named/westos.com.ptr文件相同的域名,测试成功
三、主从DNS服务器
1.先配置主服务器配置文件 /etc/named.conf
注释最后这一部分,并添加下面语句,如图
view any {
match-clients { any; }; ##允许任何人连接
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
};
2.编写文件/etc/named.rfc1912.zones
在zone 块中加入下面行,修改none 为 any 允许任何人来更新我 如图
allow-update { any; };
also-notify { 172.25.254.205; };
3.配置从服务器,根据上面第一个DNS服务器部署,只需要编写三个配置文件
/etc/named.conf
/etc/named.rfc1912.zones
/var/named/westos.com.zone
此时从服务器的/etc/named.rfc1912.zones配置文件,添加的zone块中应该改为,如图
zone "westos.com" IN{
type slave;
masters { 172.25.254.105; };
file "slaves/westos.com.zone"
allow-update { none; };
};
4.两台主机都配置完成后,记得重启服务
systemctl restart named
5.测试
从服务器nsupdate 命令 如图
主机使用dig 命令查看 如图 出现与从服务器更新数据相同,测试成功
四、加密自动更新
上面步骤2中,允许任何人来更新我的主机,这显然不合适,并且上面需要手动来更新
我们还可以控制某个ip 可以更新我的主机,但这里面也存在一个问题,
当有人故意更改ip与我设定的ip 相等时,他也就可以更新我,这显然也不合适
最好的方法是设置一个密钥,谁有钥匙就可以更新我,钥匙别人是轻易搞不到的
并且用此方法可以自动的更新所有的服务器,不用手动来更新
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westos ##生成一个密钥
此生成两个文件,此密钥为对称加密
复制生成密钥配置文件
cp /etc/rndc.key /etc/westos.key -p
更改复制生成的文件,将密钥文件中的加密字符复制到此文件中
更改主配置文件/etc/named.conf
将密钥配置文件添加到主配置文件中 注意:必须添加到options语句块之后
更改配置文件/etc/named.rfc1912.zones
将zone语句块中any 改为 key westos
allow-update { key westos; };
把主服务器生成的密钥文件拷给从服务器
测试
更改主服务器的/var/named/westos.com.zone 文件
更改 serial 前面的值 最多十位数字 只要跟之前的数字不一样 从服务器就根据此来更新从服务的此文件
更改之后重启主服务器,从服务器什么都不用干, 就可以自动的进行更新
五、动态域名解析
在一个很大的局域网中,或许会有上百台主机,我们想来管理这些主机,或给其提供DNS服务,
我门就需要这上百台主机的ip地址,而一台一台的去问,挺慢的,而且代价也挺大,
并且上百台主机,我们不能让其自己定义自己的ip地址,这样很容易出现ip相同的机子,会出现抢网的现象,
为防止上述问题,我们需要用DHCP来为其分配ip,而我们要获取每台主机的ip 可以直接问DHCP来要
当我们想给其提供DNS服务时,就可以得到所有主机的主机名和ip了
1.我们得先配置一个基本的DHCP服务器
配置方法我之前的博客里面有可以参考
当基本配置完成后,我们需要在配置文件/etc/dhcp/dhcpd.conf之后添加下列语句,如图
key westos {
algorithm hmac-md5;
secret 2wCAfbmoj+GRwewBHPD6Cw==;
};
zone westos.com. {
primary 127.0.0.1;
key westos;
}
2.测试:
配置好DHCP之后,需要有一台测试机,
将其ip获取方法设置为DHCP,并且更改其主机名
当查看测试机的ip 是DHCP服务器给的,就可以在服务器上查看到主机名所对应的ip