您现在的位置是:首页 >技术杂谈 >详解DHCP和DNS实验汇总网站首页技术杂谈

详解DHCP和DNS实验汇总

陌上花开,静待绽放! 2023-05-26 00:00:02
简介详解DHCP和DNS实验汇总

1.实验说明

实验要求:要求在一台主机中同时配置DNS服务器和DHCP服务器;

(1)DNS服务器:不仅有主域名服务器,还要有从域名服务器充当备用服务器;

(2)DHCP服务器:提供192.168.80.0/24 网段的IP地址、子网掩码、默认网关、DNS服务器地址、DNS默认域名配置

实验环境说明:

DNS服务器:主域名服务器(linux的CentOS 7-2)IP地址:192.168.80.20
从域名服务器(linux的CentOS 7-3)IP地址:192.168.80.30

DHCP服务器:(linux的CentOS 7-2)IP地址:192.168.80.20

客户端:linux的(CentOS 7-1) 、WIN10

2.实验步骤

2.1(linux的CentOS 7-2)命令配置

(1)挂载镜像文件,安装DNS和DHCP服务器;

[root@clr ~]# systemctl stop firewalld  #临时关闭防火墙
[root@clr ~]# setenforce 0
[root@clr ~]# mount /dev/sr0 /mnt  #将光盘镜像挂载到/mnt目录下
mount: /dev/sr0 写保护,将以只读方式挂载
[root@clr ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
tmpfs           394M   32K  394M    1% /run/user/0
/dev/sr0        4.4G  4.4G     0  100% /mnt  #查看新挂载的光盘镜像
[root@clr ~]# yum install -y bind dhcp   #同时安装DNS(软件名叫bind)和DHCP服务
已加载插件:fastestmirror, langpacks

(2)修改DNS的主配置文件;

[root@clr ~]# vim /etc/named.conf     #修改主配置文件
options {
        listen-on port 53 { 192.168.80.20; };  #监听53号端口,并使用192.168.80.20提供DNS域名解析服务
        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; };  #允许所有网段使用本服务器的DNS解析服务

(3)修改区域配置文件,添加正反向区域配置;

[root@clr ~]# vim /etc/named.rfc1912.zones  #修改区域配置文件

#设置修改正向域名解析服务
zone "gzy.com" IN {    #正向解析"gzy.com"区域
        type master;   #类型为主区域,设置master
        file "gzy.com.zone";    #指定主域名服务器的数据文件为gzy.com.zone
        allow-transfer { 192.168.80.30; };   #允许IP地址为192.168.80.30的从域名服务器同步传输连接主域名服务器的文件数据
};

#设置修改反向域名解析服务
zone "80.168.192.in-addr.arpa" IN {    #反向解析"192.168.80.0"网段的域名解析服务
        type master;           #类型为主区域,设置master
        file "gzy.com.zone.local";      #指定主域名服务器的数据文件为gzy.com.zone
        allow-transfer { 192.168.80.30; };     #允许IP地址为192.168.80.30的从域名服务器同步传输连接主域名服务器的文件数据
};

(4)配置正反向区域数据文件;

[root@clr ~]# cd /var/named
[root@clr /var/named]# ll
总用量 16
-rw-r-----. 1 root  named  152 621 2007 named.localhost
-rw-r-----. 1 root  named  168 1215 2009 named.loopback
drwxrwx---. 2 named named    6 126 00:48 slaves
[root@clr /var/named]# cp -a named.localhost gzy.com.zone #配置正向区域数据文件,并保留源文件的权限和属主的属性复制
[root@clr /var/named]# cp -a named.localhost gzy.com.zone.local  #配置反向区域数据文件,并保留源文件的权限和属主的属性复制
[root@clr /var/named]# ls
data     gzy.com.zone        named.ca     named.localhost  slaves
dynamic  gzy.com.zone.local  named.empty  named.loopback

[root@clr /var/named]# vim gzy.com.zone   #修改并配置正向区域数据文件

$TTL 1D
@       IN SOA  @ admin.gzy.com. (   #“@”符号表示当前的DNS区域名,末尾的‘.’是根域的意思,切记不可省略
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       192.168.80.20      #记录主机IP地址
clr IN A  192.168.80.100    #记录正向解析clr.gzy.com对应的IP为192.168.80.100
Ayu IN A  192.168.80.110    #记录正向解析Ayu.gzy.com对应的IP为192.168.80.110
xiaocai IN A  192.168.80.120     #记录正向解析xiaocai.gzy.com对应的IP为192.168.80.120
girl IN CNAME clr   #为域名clr.gzy.com创建别名girl.gzy.com

[root@clr /var/named]# vim gzy.com.zone.local     #修改并配置反向区域数据文件

$TTL 1D
@       IN SOA  gzy.com admin.gzy.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      gzy.com.          #记录当前区域的DNS服务器名称
        A       192.168.80.20     #记录主机IP地址
100 IN PTR   clr.gzy.com.         #记录反向解析192.168.80.100对应的域名为clr.gzy.com
110 IN PTR   Ayu.gzy.com.         #记录反向解析192.168.80.110对应的域名为Ayu.gzy.com
120 IN PTR   xiaocai.gzy.com.     #记录反向解析192.168.80.120对应的域名为xiaocao.gzy.com                                              

(5)重启DNS服务,并验证测试;

[root@clr /var/named]# vim /etc/resolv.conf
# Generated by NetworkManager
#search localdomain
nameserver 192.168.80.20   #设置DNS主服务地址
nameserver 192.168.80.30   #设置DNS从服务地址  
[root@clr /var/named]# systemctl restart named  #重启DNS服务

[root@clr /var/named]# nslookup clr.gzy.com  #验证正向解析
Server:		192.168.80.20
Address:	192.168.80.20#53

Name:	clr.gzy.com
Address: 192.168.80.100

[root@clr /var/named]# nslookup Ayu.gzy.com   #验证正向解析
Server:		192.168.80.20
Address:	192.168.80.20#53

Name:	Ayu.gzy.com
Address: 192.168.80.110

[root@clr /var/named]# nslookup xiaocai.gzy.com     #验证正向解析
Server:		192.168.80.20
Address:	192.168.80.20#53

Name:	xiaocai.gzy.com
Address: 192.168.80.120

[root@clr /var/named]# nslookup girl.gzy.com    #验证正向解析
Server:		192.168.80.20
Address:	192.168.80.20#53

girl.gzy.com	canonical name = clr.gzy.com.
Name:	clr.gzy.com
Address: 192.168.80.100

[root@clr /var/named]# nslookup 192.168.80.120    #验证反向解析
120.80.168.192.in-addr.arpa	name = xiaocai.gzy.com.

[root@clr /var/named]# nslookup 192.168.80.110     #验证反向解析
110.80.168.192.in-addr.arpa	name = Ayu.gzy.com.

[root@clr /var/named]# nslookup 192.168.80.100      #验证反向解析
100.80.168.192.in-addr.arpa	name = clr.gzy.com.                               

(6)修改/etc/dhcp/dhcpd.conf文件,配置并启动DHCP服务器;

[root@clr /var/named]# vim /etc/dhcp/dhcpd.conf   
[root@clr /var/named]# cd /usr/share/doc/dhcp-4.2.5/
[root@clr /usr/share/doc/dhcp-4.2.5]# ls
dhcpd6.conf.example  dhcpd.conf.example  ldap
[root@clr /usr/share/doc/dhcp-4.2.5]# cp -f dhcpd.conf.example /etc/dhcp/dhcpd.conf   #将dhcpd.conf.example这个文件中的内容强制复制到/etc/dhcp/dhcpd.conf文件中

[root@clr /usr/share/doc/dhcp-4.2.5]# vim /etc/dhcp/dhcpd.conf

vim /etc/dhcp/dhcpd.conf
default-lease-time 60000;    #延长DHCP的租约租期
max-lease-time 72000;        #延长DHCP的租约租期

subnet 192.168.80.0 netmask 255.255.255.0 {
  range 192.168.80.100 192.168.80.200;  #DHCP服务器动态分配的IP地址网段范围
  option routers 192.168.80.254; #设置默认网关
  option domain-name "gzy.com";  #指定域名解析的默认域名,和/etc/resolv.conf文件里面search预留的默认域名作用相同
  option domain-name-servers 192.168.80.20, 192.168.80.30;  #设置DNS服务器的IP地址
} 

[root@clr ~]# systemctl restart dhcpd   #启动dhcp服务器

2.2 (linux的CentOS 7-3)命令配置

(1)挂载镜像文件,安装DNS和DHCP服务器;

[root@clr ~]# systemctl stop firewalld  #临时关闭防火墙
[root@clr ~]# setenforce 0
[root@clr ~]# mount /dev/sr0 /mnt  #将光盘镜像挂载到/mnt目录下
mount: /dev/sr0 写保护,将以只读方式挂载
[root@clr ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
tmpfs           394M   32K  394M    1% /run/user/0
/dev/sr0        4.4G  4.4G     0  100% /mnt  #查看新挂载的光盘镜像
[root@clr ~]# yum install -y bind dhcp   #同时安装DNS(软件名叫bind)和DHCP服务
已加载插件:fastestmirror, langpacks

(2)修改DNS的主配置文件;

[root@clr ~]# vim /etc/named.conf     #修改主配置文件
options {
        listen-on port 53 { 192.168.80.20; };  #监听53号端口,并使用192.168.80.20提供DNS域名解析服务
        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; };  #允许所有网段使用本服务器的DNS解析服务

(3)修改区域配置文件,添加正反向区域配置;

[root@myhost2 ~]# vim /etc/named.rfc1912.zones     #修改区域配置文件
#设置修改正向域名解析服务
zone "gzy.com" IN {       #正向解析"gzy.com"区域
        type slave;        #类型为从区域,设置slave
        masters { 192.168.80.20;};    #设置连接到主域名服务器的IP地址192.168.80.20
        file "slaves/gzy.com.zone";    #指定从域名服务器的数据文件为slaves/gzy.com.zone
};

#设置修改反向域名解析服务
zone "80.168.192.in-addr.arpa" IN {      #反向解析"192.168.80.0"网段的域名解析服务
        type slave;          #类型为从区域,设置slave
        masters { 192.168.80.20;};        #设置连接到主域名服务器的IP地址192.168.80.20
        file "slaves/gzy.com.zone.local";        #指定从域名服务器的数据文件为slaves/gzy.com.zone
};

(4)重启DNS服务,并验证测试;

[root@clr /var/named]# vim /etc/resolv.conf
# Generated by NetworkManager
#search localdomain
nameserver 192.168.80.20   #设置DNS主服务地址
nameserver 192.168.80.30   #设置DNS从服务地址
~     

[root@clr /var/named]# systemctl restart named  #重启DNS服务

[root@clr /var/named]# systemctl stop named  #关闭主域名服务器的DNS服务(切记此命令一定是在主域名服务器上执行的,然后在从域名服务器上验证域名解析服务是否还能正常运行)

[root@myhost2 ~]# nslookup 192.168.80.100     #验证反向解析
100.80.168.192.in-addr.arpa	name = clr.gzy.com.
100.80.168.192.in-addr.arpa	name = abc.gzy.com.

[root@myhost2 ~]# nslookup 192.168.80.110      #验证反向解析
110.80.168.192.in-addr.arpa	name = Ayu.gzy.com.

[root@myhost2 ~]# nslookup 192.168.80.120        #验证反向解析
120.80.168.192.in-addr.arpa	name = xiaocai.gzy.com.

[root@myhost2 ~]# nslookup clr.gzy.com       #验证正向解析
Server:		192.168.80.30   #可以看出是由从域名服务器进行解析的
Address:	192.168.80.30#53

Name:	clr.gzy.com
Address: 192.168.80.100

[root@myhost2 ~]# nslookup Ayu.gzy.com    #验证正向解析
Server:		192.168.80.30   #可以看出是由从域名服务器进行解析的
Address:	192.168.80.30#53

Name:	Ayu.gzy.com
Address: 192.168.80.110
Name:	Ayu.gzy.com
Address: 192.168.80.210

[root@myhost2 ~]# nslookup xiaocai.gzy.com     #验证正向解析
Server:		192.168.80.30      #可以看出是由从域名服务器进行解析的
Address:	192.168.80.30#53

Name:	xiaocai.gzy.com
Address: 192.168.80.120

2.3 客户端(WIN10)命令配置

(1)关闭客户端NAT模式中的使用本地DHCP服务将IP地址分配给虚拟机;

在这里插入图片描述

(2)更改网络连接设置,选择自动获取IP地址和DNS服务器地址;

在这里插入图片描述

(3)验证DHCP和DNS服务器是否生效;

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.4 客户端(CentOS 7-1)命令配置

(1)修改网卡配置文件,设置通过dhcp服务器获取IP地址;

[root@bogon ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=321e3916-3634-443b-b772-d6b26761ca37
DEVICE=ens33
ONBOOT=yes
MTU=2
IPV6_PRIVACY=no

(2)重启网卡配置,并验证DHCP和DNS服务器是否生效;

[root@bogon ~]# systemctl restart network  #重启网卡配置

[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1280
        inet 192.168.80.163  netmask 255.255.255.0  broadcast 192.168.80.255
        #由DHCP服务器动态获取的IP地址192.168.80.163 
       
[root@localhost ~]# vim /etc/resolv.conf
# Generated by NetworkManager
search gzy.com
nameserver 192.168.80.20      #由DHCP服务器动态获取的DNS服务地址192.168.80.20和192.168.80.30
nameserver 192.168.80.30

[root@localhost ~]# nslookup 192.168.80.100  #验证反向解析
100.80.168.192.in-addr.arpa	name = clr.gzy.com.
100.80.168.192.in-addr.arpa	name = abc.gzy.com.

[root@localhost ~]# nslookup 192.168.80.110   #验证反向解析
110.80.168.192.in-addr.arpa	name = Ayu.gzy.com.

[root@localhost ~]# nslookup 192.168.80.120    #验证反向解析
120.80.168.192.in-addr.arpa	name = xiaocai.gzy.com.

[root@localhost ~]# nslookup clr.gzy.com   #验证正向解析
Server:		192.168.80.20
Address:	192.168.80.20#53

Name:	clr.gzy.com
Address: 192.168.80.100

[root@localhost ~]# nslookup xiaocai.gzy.com  #验证正向解析
Server:		192.168.80.20
Address:	192.168.80.20#53

Name:	xiaocai.gzy.com
Address: 192.168.80.120

[root@localhost ~]# nslookup girl.gzy.com  #验证正向解析
Server:		192.168.80.20
Address:	192.168.80.20#53

girl.gzy.com	canonical name = clr.gzy.com.  
Name:	clr.gzy.com
Address: 192.168.80.100
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。