配置Linux DNS服务器作为自己的windows 的 DNS服务器和 配置遇到的问题

  1. 安装DNS 库 和 DNS工具

    bash 复制代码
    # bind 是用于创建 dns服务的, bind-utils是用于测试DNS服务的工具
    yum -y install bind bind-utils
  2. 配置主配置文件

    bash 复制代码
    # 下载好后就已经有DNS服务,但是需要你自己去配置DNS服务信息
    
    # 配置主配置文件
    [root@leisure ~]# vi /etc/named.conf
    
    # 配置内容如下:下面的两个any就是修改后的, 第一个表示:监听所有请求,第二个表示允许所有请求
    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; };
  3. 配置区域文件

    bash 复制代码
    # 配置区域配置文件
    [root@leisure ~]# vi /etc/named.rfc1912.zones
    
    # 配置信息如下显示:需要配置那个就在最后面添加就行
    
    # 正向解析会将 htt://www.gitlab.com 解析成对应的ip地址,怎么解析了?需要去gitlab.com.zone文件中解析,所以还需要创建这个文件
    zone "leisuregitlab.com" IN {
            type master;
            file "leisuregitlab.com.zone";
    };
    
    
    # 反向解析会将 htt://192.168.247.136 解析成对应的域名,怎么解析了?需要去192.168.247.138.zone文件中解析,所以还需要创建这个文件
    zone "192.168.247.138.in-addr.arpa" IN {
            type master;
            file "192.168.247.138.zone";
    };
  4. 创建gitlab.com.zone文件

    bash 复制代码
    # 使用拷贝的方式创建 leisuregitlab.com.zone文件 。 拷贝模板 /var/named/named.localhost 
    [root@leisure ~]# cp -p /var/named/named.localhost /var/named/leisuregitlab.com.zone
    
    # 设置leisuregitlab.com.zone文件的内容 
    [root@leisure ~]# vi /var/named/leisuregitlab.com.zone
    
    
    # 修改前:/var/named/leisuregitlab.com.zone文件内容
    $TTL 1D
    @       IN SOA  @ rname.invalid. (
                                            0       ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
            NS      @
            A       127.0.0.1
            AAAA    ::1
    # 修改后:/var/named/leisuregitlab.com.zone文件内容
    $TTL 1D
    @       IN SOA  leisuregitlab.com. root.leisuregitlab.com. (
                                            0       ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
    @ IN NS dns.leisuregitlab.com.
    dns  IN  A  192.168.2.211
    www  IN  A  192.168.2.211  
    # dns  IN  A  192.168.2.211 的意识是将 dns.leisuregitlab.com 的地址转换为:192.168.2.211
    # www  IN  A  192.168.247.140  的意思是将  www.leisuregitlab.com 的地址转换为:192.168.2.211
    # 这些都可以更具你具体的需要进行转换
  5. 配置DNS服务器ip地址

    bash 复制代码
    # 配置DNS服务器地址 
    [root@leisure ~]# vi /etc/resolv.conf 
    
    # 设置内容为 ,192.168.2.176 为我的linux的ip地址
    nameserver 192.168.2.176 
  6. 启动DNS服务

    bash 复制代码
    [root@leisure ~]# systemctl start named
  7. 设置防火墙

    bash 复制代码
    # 开启防火墙的DNS服务
    [root@leisure ~]# firewall-cmd --permanent --add-service=dns
    success
    
    # 重载防火墙规则,使更改生效
    [root@leisure ~]# sudo firewall-cmd --reload
    success
  8. 使用工具验证

    bash 复制代码
    # 解析 nslookup 工具是  bind-utils提供的。  出现下面提示就表示域名解析成功了
    [root@leisure ~]# nslookup www.leisuregitlab.com
    Server:		192.168.2.176
    Address:	192.168.2.176#53
    
    Name:	www.leisuregitlab.com
    Address: 192.168.2.211

问题

1 windows 的 nslookup可以解析,ping却不可以?

  1. 首先可能是你的VMware 设置的NAT链接模式导致的问题。我也不太清楚是什么问题。
  2. 但是我将NAT的网络连接模式转换为桥接模式(勾选 复制物理网络链接状态)后重新设置后发现就不会存在这种问题了。

2 windows如何配置DNS服务?

  1. 选择控制面板 ---》网络和 Internet---》网络和共享中心 ---》更改适配器设置

  2. 点击对应网络

  3. 点击设置属性

    1. 设置ipv4的DNS属性。

    2. 点击 高级

    3. 选择 DNS

    4. 然后设置 自己的DNS服务器ip 和 一些外网DNS服务器ip

      • 一定要设置外网DNS服务器ip,不然使用域名上不了网了。只用设置几个常用的就行了,网上有相关资料。
    5. 这样就设置成功了

    6. 可以使用命令验证是否配置成功.

      bash 复制代码
      C:\Users\a7606>nslookup www.leisuregitlab.com
      Server:  UnKnown
      Address:  192.168.2.176
      
      Name:    www.leisuregitlab.com
      Address:  192.168.2.211
      # 这个表示验证成功了
      C:\Users\a7606>ping www.leisuregitlab.com
      Pinging www.leisuregitlab.com [192.168.2.211] with 32 bytes of data:
      Reply from 192.168.2.211: bytes=32 time<1ms TTL=64
      Reply from 192.168.2.211: bytes=32 time<1ms TTL=64
      Reply from 192.168.2.211: bytes=32 time<1ms TTL=64
      Reply from 192.168.2.211: bytes=32 time<1ms TTL=64
相关推荐
KoiHeng34 分钟前
操作系统简要知识
linux·笔记
Johny_Zhao4 小时前
Docker + CentOS 部署 Zookeeper 集群 + Kubernetes Operator 自动化运维方案
linux·网络安全·docker·信息安全·zookeeper·kubernetes·云计算·系统运维
小毛驴8505 小时前
Linux 后台启动java jar 程序 nohup java -jar
java·linux·jar
好好学习啊天天向上6 小时前
世上最全:ubuntu 上及天河超算上源码编译llvm遇到的坑,cmake,ninja完整过程
linux·运维·ubuntu·自动性能优化
tan180°7 小时前
MySQL表的操作(3)
linux·数据库·c++·vscode·后端·mysql
典学长编程7 小时前
Linux操作系统从入门到精通!第二天(命令行)
linux·运维·chrome
wuk9987 小时前
基于MATLAB编制的锂离子电池伪二维模型
linux·windows·github
独行soc10 小时前
#渗透测试#批量漏洞挖掘#HSC Mailinspector 任意文件读取漏洞(CVE-2024-34470)
linux·科技·安全·网络安全·面试·渗透测试
BD_Marathon10 小时前
Ubuntu下Tomcat的配置
linux·ubuntu·tomcat
饥饿的半导体11 小时前
Linux快速入门
linux·运维