配置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
相关推荐
笨鸟要努力3 小时前
Ubuntu 全盘备份
linux·运维·ubuntu
ChironW3 小时前
Ubuntu 22.04 离线环境下完整安装 Anaconda、CUDA 12.1、NVIDIA 驱动及 cuDNN 8.9.3 教程
linux·运维·人工智能·深度学习·yolo·ubuntu
轻松Ai享生活5 小时前
linux 日志详解
linux
小白的代码日记5 小时前
Linux常用指令
linux·运维·服务器
月舞之剑5 小时前
linux离线安装nodejs
linux·node.js
维尔切6 小时前
Linux中Https配置与私有CA部署指南
linux·运维·https
小熊h6 小时前
【自动化备份全网服务器数据项目】
linux·服务器·自动化·备份数据
懒散猴7 小时前
【无标题】centos 配置阿里云的yum源
linux·阿里云·centos
果子⌂7 小时前
云原生环境 Prometheus 企业级监控实战
linux·运维·服务器·kubernetes·云计算·prometheus
Swaggy T8 小时前
自动驾驶决策算法 —— 有限状态机 FSM
linux·人工智能·算法·机器学习·自动驾驶