配置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
相关推荐
Rabbit_QL13 小时前
【ln -s】Linux 软链接在大模型部署中的应用
linux·运维·服务器
坤昱13 小时前
cfs调度类深入解刨——核心结构细节分析
linux·cfs调度·eevdf调度·linux调度·linux技术
枳实-叶13 小时前
【Linux驱动开发】第12天:Linux设备树核心:树形结构+节点+属性 完整全解
linux·运维·驱动开发
Yeats_Liao13 小时前
物联网接入层技术剖析(三):epoll在JVM中的映射
java·linux·jvm·人工智能·物联网
小贾要学习14 小时前
【Linux】基于自定义TCP协议的日期计算器
linux·网络·c++·网络协议·tcp/ip
2501_9200470314 小时前
iptables防火墙
linux·运维·网络安全
带土114 小时前
7. 线程编程(线程概念和创建)
linux
华清远见IT开放实验室14 小时前
硬核根基,智能载体:华清远见嵌入式“硬件+仿真+课程+师资”产教融合与实践教学方案
linux·人工智能·stm32·物联网·嵌入式·虚拟仿真
Anthony_23114 小时前
Linux 防火墙完全指南:从 iptables 到 firewalld
linux·运维·服务器
月走乂山14 小时前
Linux 服务器安装 CC Switch GUI 工具 + VNC 远程桌面完整教程
linux·运维·服务器