爱收集资源网

dns服务器内网Ip配置在交换机的dhcp配置

网络整理 2023-10-26 23:01

背景

是这样的,公司办公室有小机房,研制测试开发环境在这,然而CTO吧,认为测试环境通过ip访问太复杂,难记,通过黄页打开认为太low,尽管办公室出口也有网段ip,直接可以解析进来个别网解析主机慢,并且又认为网段访问测试开发环境认为不可以,烦死了,之后就说弄个dns转发吧,提供外网解析,最后将这个dns服务器外网Ip配置在交换机的dhcppool上面,这样研制组同学也不用一个个去改这个dns,直接运维就搞完(我弄得单机)。概念性东西来源网路。

DNS概念性东西

FQDN:完全限定域名,即每位域在全球惟一,域不是域名,google.com是域,是域名。

域可以分为根域(.)和顶尖域(TLD)

顶尖域又可以分为三类:

通用顶尖域(.com商业机构,.org非营利性组织,.net网路服务机构等)

国家顶尖域(.cn中国,.uk日本,.us日本,.jp台湾)

反向域(基础建设顶尖域,.arpa)

DNS查询方法包含递归和迭代:

递归是顾客端发起一次恳求给DNS服务器,通过多次查找返回正确解析。迭代是发出多次恳求查询不同的DNS服务器。

解析方法包含正向解析和反向解析:正向解析指代将FQDN转换成IP,反向则相反。

通常DNS的服务器类型包含:主从DNS服务器,缓存服务器个别网解析主机慢,转发服务器。

主从好理解,就是从手动更新同步主的配置,作为backup存在。

缓存的服务器作用在于使用递归查询,将查询到的结果返回顾客端,并缓存查询的结果。

转发服务器作用在于当发觉查询不是本机的时侯则将恳求转发出去。

DNS窃听TCP和UDP都是53端口。

以下是一次完整的恳求大致过程:

从顾客机到服务器之前采用得是递归查询,而服务器之间则是采用迭代查询。

DNS记录类型:DNS域名数据库由资源记录和区文件指令组成。

SOA记录:起始授权机构记录,SOA备注说明了诸多NS(nameserver)记录中谁是主名称服务器,不参与功能,并且不能缺乏。

NS记录:域授权记录,当恳求抵达根域的时侯,通过NS记录找到对应的域。

A记录:当通过NS记录抵达域之后,例如访问,通过NS我们找到了baidu.com,此时就须要通过A记录找到www。

MX:将该域下的所有电邮服务器地址指向电邮服务器。

AAAA记录:A记录处理IPV4,AAAA处理IPV6。

PTR记录:反向解析,将IP解析成域名。

CNAME:别称记录,允许多个名子映射到另外一个域名。例如我们ping百度的时侯可以发觉返回虽然是这个域名返回。所有虽然是某些名。

布署单机DNS(我弄得这个)

我是直接将dns服务器的firewalld关掉了,总之外网局域网专用网路了。例外端口也Ok

打算了三台虚拟机:

IP系统说明

DNS服务器安装bind服务:

yum -y install bind-utils bind bind-devel bind-libs

配置主配置文件:/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";
    recursing-file  "/var/named/data/named.recursing";
    secroots-file   "/var/named/data/named.secroots";
    allow-query     { any; };
    recursion yes;
    dnssec-enable yes;
    dnssec-validation yes;
    bindkeys-file "/etc/named.iscdlv.key";
    managed-keys-directory "/var/named/dynamic";
    pid-file "/run/named/named.pid";
    session-keyfile "/run/named/session.key";
    forwarders { 202.96.128.166;8.8.8.8; };
};
​
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
​
zone "." IN {
    type hint;
    file "named.ca";
};
​
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

最终内容如上。

追加域名解析入口配置:/etc/named.rfc1912.zones

zone "fengliuxiaosan.com" IN {           # 测试用的域是 fengliuxiaosan.com
        type master;
        file "fengliuxiaosan.com.zone";  # 配置文件为 fengliuxiaosan.com.zone,该文件目录为 /var/named/ 下
};

配置单独的解析文件:


cd /var/named/
cp named.localhost fengliuxiaosan.com.zone  
chown named.named fengliuxiaosan.com.zone

更改配置:fengliuxiaosan.com.zone


$TTL 1D                                         ;TTL 修改配置生效时间,默认为一天
@       IN SOA  @ rname.invalid. (
                                        0       ; serial,配置编号,每次改完配置 +1,这样从服务器就知道更新配置
                                        1D      ; refresh,从服务器刷新时间,默认一天刷新一次
                                        1H      ; retry,如果刷新失败,默认1小时重试一次
                                        1W      ; expire,缓存过期时间,一周
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
www     IN A       192.168.3.212

我们新加了个的A记录。

启动服务测试:


systemctl start named
systemctl enable named

查看端口:

netstat -tlunp | grep 53

结果如图:

可以看见不仅服务本身的53端口外,也窃听了953,这是dns服务的一个插件,如今我们先不理这个

本机测试解析:

dig @127.0.0.1 www.fengliuxiaosan.com

另外介绍两种检测配置的方式:

# 检查主配置
named-checkconf /etc/named.conf
​
# 检查 zone 配置
named-checkzone fengliuxiaosan.com /var/named/fengliuxiaosan.com.zone

结果如下:

我们在顾客端更改DNS配置测试,更改网卡DNS配置重启网卡:

主从DNS服务布署主从DNS的搭建开始的时侯似乎是和单机搭建一样的,我们更改主服务器192.168.3.253的配置文件:/etc/named.rfc1912.zones

将我们之前的配置进行更改:

zone "fengliuxiaosan.com" IN {           # 测试用的域是 fengliuxiaosan.com
        type master;
        file "fengliuxiaosan.com.zone";  # 配置文件为 fengliuxiaosan.com.zone,该文件目录为 /var/named/ 下
        allow-update { 192.168.3.80; };
        allow-transfer { 192.168.3.80; };    # 允许同步DNS的辅助服务器IP
        also-notify { 192.168.3.80; };
        notify yes;                             # 启用变更通告,当主文件变更,通知从进行比较同步
};

指定了从的地址,重启服务

systemctlrestartnamed

2.从服务器192.168.3.80也安装bind并将/etc/named.conf配置拷贝过来。

接着也是配置:/etc/named.rfc1912.zones,此时能够彰显主从的不同:

zone "fengliuxiaosan.com" IN {
        type slave;
        file "slaves/fengliuxiaosan.com.zone";
        masters { 192.168.3.253; };   # 指定主服务器的 IP
        masterfile-format text;         # 指定区域文件的格式为text,不指定有可能会为乱码
};

这时侯不须要再去配置fengliuxiaosan.com.zone文件,由于须要去主服务器192.168.3.253同步。所以直接启动从的dns服务。

systemctl start named
systemctl enable named

更改主配置测试同步情况:

我们更改主服务器的fengliuxiaosan.com.zone,新加解析的同时,更改配置编号,让从才能侦测到变化。

如今我们重启主服务器,会发觉从服务器就才能同步成功。

还有就是我这儿使用reloadnamed服务并没有使配置生效。总结

在域名解析过程中,都会碰到个别特殊情况:

@可以引用当区域名子,例如直接访问baidu.com就是这样的解析同一名子通过不同的名子定义多条记录,此时DNS会协程响应。同一值可以多个名子。星号*泛域名解析,例如配置*.baidu.com指向某个IP,这么假如你访问a.baidu.com这些没有配置的会默认走这个配置。

最后,在核心交换机DHCPpool地址池配置dns地址的时侯记得多加几个,外网这个dns服务器配置起来即可,为什么呢,由于通过这个dns外网服务器转发慢啊,打开网页都慢,dhcpclient多配置个网段dns解析快。

个别网解析主机慢