1.配置服务机环境
在真机上查询真机ip。将虚拟机ip改至与真机处于同一个网段,再将网关设为真机ip。在真机上开启防火墙功能与内核地址伪装功能,可以使虚拟机联网。
真机命令如下:
ifconfig ##查看真机ip
systemctl start firewalld ##开启防火墙功能
firewall-cmd --list-all ##查看防火墙功能
firewall-cmd --permanent --add-masquerade ##添加防火墙功能
sysctl -a | grep ip_forward ##将所得到允许访问的语句复制,以粘贴至配置文件中
vim /etc/sysctl.conf ##修改配置文件
sysctl -p ##回显修改后的配置,打开地址伪装功能
systemctl restart firewalld.service ##重启防火墙
systemctl restart network ##重启网络
虚拟机命令:
配置网络,可以用配置文件来配置,也可以使用图形化界面配置。
只有两个要点:将ip配置的与真机处于同一个为网段,并且加入真机ip为虚拟机网关。
在做域名解析之前应该关闭防火墙与内核级防火墙。下载软件bind。设置防火墙参数。
服务机配置:
yum search named
yum install bind.x86_64
systemctl status firewalld
systemctl stop firewalld
firewall-cmd --list-all ##查看参数masquerade是否为yes,否则添加该参数命令
firewall-cmd --permanent --add-masquerade
vim /etc/resolv.conf ##修改查询域名指向
nameserver 服务机ip(172.25.254.107)
netstat -antlupe | grep named ##查询环形链路(回去找netstat)
vim /etc/named.conf:
listen-on port 53 { any; }; ##网络链路环53设置为任意用户都可登陆
allow-query { any; }; ##设置任意用户都可访问本机服务,若知晓域名就回答用户,不知晓就返回自己不知道,不会去查询该域名
forwarders { 114.114.114.114; }; ##当本机不知道域名的时候的查询网址
dnssec-validation no; ##设置为不检测查询域名网址,否则会认为不安全把查询网址屏蔽
systemctl start named ##重启named服务
客户机配置:
vim /etc/resolv.conf ##修改查询域名指向
nameserver 服务机ip(172.25.254.107)
客户机配置:
测试:dig www.baidu.com
解析域名服务主要有三个文件一个是DNS配置文件,一个是配置文件中所读取的/etc/named.rfc1912.zones文件,最后一个是域名实际查询文件“xxxx.com.zone”,在实际的查询时,新建的域名就在该文件中进行配置。
服务机配置:
vim /etc/named.conf: ##在配置文件中找到配置zone的文件库
include "/etc/named.rfc1912.zones";
vim /etc/named.rfc1912.zones: ##编辑配置域名(westos.com),以及域名实际查询文件(westos.com.zone)
zone "westos.com" IN {
type master;
file "westos.com.zone";
allow-update { none; };
};
cd /var/named/
cp -p named.localhost westos.com.zone ##以named.localhost为模板编辑域名文件westos.com.zone,-p表示复制文件属性
vim westos.com.zone: ##编辑域名文件
$TTL 1D
@ IN SOA dns.westos.com. ren.westos.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.com.
dns A 127.25.254.107
www A 172.25.254.111
##@ 表示westos.com ,如果字段后没有加.则在地址后自动加入@所表示地址。dns.westos.com.表授权起始,ren.westos.com.表示管理员。dns A 后面表示的时安装了DNS服务的服务机ip,对DNS进行解析。对www进行解析。
客户机测试:
vim /etc/resolv.conf ##修改查询域名指向
nameserver 服务机ip(172.25.254.107)
systemctl restart named ##重启DNS服务
dig www.westos.com ##看是否能访问成功
修改westos.com.zone 配置文件,指定域名解析。
服务机:
vim westos.com.zone:
$TTL 1D
@ IN SOA dns.westos.com. ren.westos.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.com.
dns A 127.25.254.107
www CNAME node1.a.westos.com.
node1.a A 172.25.254.111
node1.a A 172.25.254.222
westos.com. MX 1 172.25.254.200.
systemctl restart named ##重启服务
> /var/log/maillog ##清空日志
mail [email protected] ##给ren管理员发送邮件
mailq ##查看邮件情况(邮件发送以 . 结尾)
发送结果如图:
但是此时报错,与域名解析无关,主要是接受端拒绝接收。但是域名解析已经完成。
5.反向域名解析
服务机:
vim /etc/named.rfc1912.zones: ##编辑反向解析文件,指定反向解析时所使用的文件172.25.254.ptr
zone "254.25.172.in-addr.arpa" IN {
type master;
file "172.25.254.ptr";
allow-update { none; };
};
cd /var/named/
cp -p named.loopback named.loopback ##以named.loopback为模板编辑named.loopback文件
vim 172.25.254.ptr ##编辑解析文件:
$TTL 1D
@ IN SOA dns.westos.com. ren.westos.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.com.
dns A 127.25.254.100
111 PTR www.westos.com.
221 PTR bbs.westos.com.
##其与正向解析文件最大的不同时在解析文件中的域名与ip交换位置,已知ip得到域名。
systemctl restart named
服务机:
vim /etc/resolv.conf ##修改查询域名指向
nameserver 服务机ip(172.25.254.107)
dig -x 172.25.254.111
我们一般使用的网都会有内网和外网的区别,一般情况下,使用内网和外网显示的网址ip应该是有区别的,若是相同就不太符合实际情况。所以据此经过调整。整体思路大概就是不同的ip读取不同的登陆解析文件,但是由于三个文件中第一个文件时DNS的基本配置文件,只有读取文件/etc/named.rfc1912.zones与实际解析文件westos.com.inter,所以只需要将这两个文件分开写入,分开读写。
服务机:
cp -p westos.com.zone westos.com.inter
vim westos.com.inter:
$TTL 1D
@ IN SOA dns.westos.com. ren.westos.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.com.
dns A 1.1.1.107
www CNAME node1.a.westos.com.
node1.a A 1.1.1.111
node1.a A 1.1.1.222
westos.com. MX 1 1.1.1.200.
##将配置文件中所有172.25.254网段都改为要登陆显示的网段1.1.1,由于此配置文件在配置文件/etc/named.rfc1912.zones也有使用,则应该也新建一个/etc/named.rfc1912.inter
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inter -p
vim /etc/named.rfc1912.inter:
zone "westos.com" IN {
type master;
file "westos.com.inter";
allow-update { none; };
};
vim /etc/named.conf:
view localnet {
match-clients { localhost; };
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
};
view internet {
match-clients { any; };
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.inter";
};
systemctl restart named
注:但是应该注意在分开读取配置文件的时候应该将之前使用的配置文件进行屏蔽,可以在重启的时候观察其登陆日志观察,修改配置文件。将最后两行的库目录注释,并且将以下内容屏蔽:
zone "." IN {
type hint;
file "named.ca";
};
客户机:
配置要求:可以链接服务机,二者属于一个网段,并且DNS的指向服务机。
测试:
dig www.westos.com 二者返回ip不同。
服务机:
客户机:
可看出其配置ip不同。有所区别,实现双向解析。
7.DNS集群
主DNS配置:
DNS集群时为了在域名解析时在多台主机上使用,当主DNS的域名解析时发生更新时,辅助DNS也随之改变。但是与其相关的有三个文件如下:
配置:
vim /etc/named.conf ##配置bind的主文件
listen-on port 53 { any; }; ##设置任何人都可登陆
allow-query { any; };
dnssec-validation no; ##不检查更新设置,否则由于会连接辅服务机,所以若为yes会阻止同步。
vim /etc/named.rfc1912.zones ##设置关于DNS服务机的信息
zone "westos.com" IN {
type master; ##主服务机
file "westos.com.zone"; ##读取解析文件
allow-update { none; }; ##不允许任何人更新
also-notify { 172.25.254.207; }; ##设置辅助DNS ip
};
vim /var/named/westos.com.zone: ##真正的域名解析文件
$TTL 1D
@ IN SOA dns.westos.com. ren.westos.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.com.
dns A 127.25.254.107
www CNAME node1.a.westos.com.
node1.a A 172.25.254.111
node1.a A 172.25.254.222
westos.com. MX 1 172.25.254.200.
注:但是由于DNS集群必须存在发送解析,所以其主服务机关闭防火墙
辅DNS配置:
与主DNS配置类似,不过真正的域名解析时在主DNS上所作,所以其不需要编辑真正的域名解析文件/var/named/westos.com.zone
配置:
vim /etc/named.conf ##配置bind的主文件
listen-on port 53 { any; }; ##设置任何人都可登陆
allow-query { any; };
dnssec-validation no; ##不检查更新设置,否则由于会连接辅服务机,所以若为yes会阻止同步。
vim /etc/named.rfc1912.zones ##设置关于DNS服务机的信息
zone "westos.com" IN {
type slave; ##主服务机
masters {172.25.254.107 ;};
file "slave/westos.com.zone"; ##读取解析文件
allow-update { none; }; ##不允许任何人更新
};
修改之前:
修改之后:
主DNS:
辅DNS:
可以看出修改之后辅DNS也一起改变。
8.更新
主DNS:
配置:
vim /etc/named.conf ##配置bind的主文件
listen-on port 53 { any; }; ##设置任何人都可登陆
allow-query { any; };
dnssec-validation no; ##不检查更新设置,否则由于会连接辅服务机,所以若为yes会阻止同步。
vim /etc/named.rfc1912.zones ##设置关于DNS服务机的信息
zone "westos.com" IN {
type master; ##主服务机
file "westos.com.zone"; ##读取解析文件
allow-update { 172.25.254.207; }; ##允许该服务机更新
also-notify { 172.25.254.207; }; ##设置辅助DNS ip
};
vim /var/named/westos.com.zone: ##真正的域名解析文件
$TTL 1D
@ IN SOA dns.westos.com. ren.westos.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.com.
dns A 127.25.254.107
www CNAME node1.a.westos.com.
node1.a A 172.25.254.111
node1.a A 172.25.254.222
westos.com. MX 1 172.25.254.200.
辅DNS配置
配置:
vim /etc/named.conf ##配置bind的主文件
listen-on port 53 { any; }; ##设置任何人都可登陆
allow-query { any; };
dnssec-validation no; ##不检查更新设置,否则由于会连接辅服务机,所以若为yes会阻止同步。
vim /etc/named.rfc1912.zones ##设置关于DNS服务机的信息
zone "westos.com" IN {
type slave; ##主服务机
masters {172.25.254.107 ;};
file "slave/westos.com.zone"; ##读取解析文件
allow-update { none; }; ##不允许任何人更新
};
注:selinux不能开启,同时关闭防火墙。否则会拒绝更新,同时也要对/var/named/目录增加组成员的写权限,因为要将更新信息写入:/var/named/westos.com.zone.
9.加密更新
主DNS配置:
主DNS:
配置:
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westos ##生成秘钥
cat Kwestos.+157+42624.key ##将生成的秘钥复制出来
cp -p /etc/rndc.key /etc/westos.key
vim /etc/westos.key ##修改秘钥生成文件
key "westos" {
algorithm hmac-md5;
secret "RL42YbDpFLeg9xhGND9ypg==";
};
vim /etc/named.conf ##配置bind的主文件
listen-on port 53 { any; }; ##设置任何人都可登陆
allow-query { any; };
dnssec-validation no; ##不检查更新设置,否则由于会连接辅服务机,所以若为yes会阻止同步。
include "/etc/westos.key" ##加入秘钥读取文件
scp Kwestos.+157+42624.* [email protected]:/mnt ##将生成的秘钥发送给辅主机
vim /etc/named.rfc1912.zones ##设置关于DNS服务机的信息
zone "westos.com" IN {
type master; ##主服务机
file "westos.com.zone"; ##读取解析文件
allow-update { key westos; }; ##允许有秘钥的服务机更新
also-notify { 172.25.254.207; }; ##设置辅助DNS ip
};
vim /var/named/westos.com.zone: ##真正的域名解析文件
$TTL 1D
@ IN SOA dns.westos.com. ren.westos.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.com.
dns A 127.25.254.107
www CNAME node1.a.westos.com.
node1.a A 172.25.254.111
node1.a A 172.25.254.222
westos.com. MX 1 172.25.254.200.
辅DNS
配置:
vim /etc/named.conf ##配置bind的主文件
listen-on port 53 { any; }; ##设置任何人都可登陆
allow-query { any; };
dnssec-validation no; ##不检查更新设置,否则由于会连接辅服务机,所以若为yes会阻止同步。
vim /etc/named.rfc1912.zones ##设置关于DNS服务机的信息
zone "westos.com" IN {
type slave; ##主服务机
masters {172.25.254.107 ;};
file "slave/westos.com.zone"; ##读取解析文件
allow-update { none; }; ##不允许任何人更新
};
yum install dhcp -y ##安装dhcp
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf ##配置DHCP配置文件模板
vim /etc/dhcp/dhcpd.conf ##配置DHCP文件
8 option domain-name-servers 172.25.254.107; ##设置主机解析ip号
14 ddns-update-style interim; ##打开ddns的更新设置开关
26 key "westos" { ##设置其更新密码
27 algorithm hmac-md5;
28 secret "RL42YbDpFLeg9xhGND9ypg==";
29 };
30 zone westos.com. { ##设置访问登陆的方式
31 primary 127.0.0.1;
32 key westos;
33 }
36 subnet 172.25.254.0 netmask 255.255.255.0 { ##设置动态分配ip的规则
37 range 172.25.254.20 172.25.254.30;
38 option routers 172.25.254.250;
39 }
将39行以后的配置文件全部删除
辅DNS上主要作测试:
dig www.westos.com