配置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
相关推荐
Wang's Blog21 分钟前
Linux小课堂: 输入重定向与管道操作详解
linux·运维·服务器
迎風吹頭髮34 分钟前
Linux内核架构浅谈49-Linux per-CPU页面缓存:热页与冷页的管理与调度优化
linux·缓存·架构
jason.zeng@15022071 小时前
centos中安装redis
linux·redis·centos
w23617346011 小时前
Linux 服务器安全巡检与加固:从命令到实操(CentOS/Ubuntu 通用)
linux·服务器·安全·安全加固·安全巡检
xiaogg36782 小时前
阿里云k8s1.33部署yaml和dockerfile配置文件
java·linux·kubernetes
python百炼成钢2 小时前
3.Linux 网络相关
linux·运维·网络·stm32·单片机
-指短琴长-5 小时前
Namespace隔离实战【Linux】
linux
心灵宝贝6 小时前
申威(sw_64)架构下如何安装java-1.8.0-swjdk的rpm包?
linux·运维·服务器
好记忆不如烂笔头abc6 小时前
linux系统记录登录用户的所有操作
java·linux·服务器
远向光6 小时前
k8s中的控制器
linux·容器·kubernetes