配置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
相关推荐
A小辣椒1 天前
TShark:Wireshark CLI 功能
linux
A小辣椒2 天前
TShark:基础知识
linux
AlfredZhao2 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao2 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334663 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪3 天前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush43 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5203 天前
Linux 11 动态监控指令top
linux
不会C语言的男孩3 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言