本文章使用Centos7系统

  • 介绍

    Dnsmasq是一个常用的轻量级DNS和DHCP服务器软件。它可以在计算机网络中充当本地DNS服务器,并提供DNS解析和DHCP分配IP地址的功能。Dnsmasq是一个开源工具,它具有简单、易用、资源消耗低等特点,因此在小型网络环境中广泛使用。

    Dnsmasq具有以下主要功能:

    1. DNS转发和解析:Dnsmasq可以将DNS请求转发给上游DNS服务器,并缓存解析结果。这样,在网络中的设备可以通过Dnsmasq快速地获取域名解析结果,减少对上游DNS服务器的访问频率,提高解析速度。
    2. DHCP服务器:Dnsmasq还可以作为本地网络的DHCP服务器,为连接到网络的设备分配IP地址、子网掩码、网关地址等网络配置信息。它可以管理IP地址池,自动分配可用的IP地址,并支持动态IP地址分配和静态IP地址分配。
    3. 本地主机名解析:Dnsmasq可以将局域网内的主机名映射到对应的IP地址,以提供本地网络内部的主机名解析服务。这对于内部服务器、网络共享和设备管理非常有用。
    4. TFTP服务器:Dnsmasq还可以作为TFTP(Trivial File Transfer Protocol)服务器,用于在网络中快速传输文件,例如用于网络启动、配置文件分发等场景。

    总的来说,Dnsmasq提供了一个集成的解决方案,将DNS解析和DHCP服务集中在一个软件中,方便管理和部署。它适用于小型网络环境,例如家庭网络、小型办公室网络和嵌入式系统等。

  • 操作步骤

    • 安装dnsmasq

      yum install -y dnsmasq
    • 配置文件

      #备份初始配置文件,防止误操作
      cp /etc/dnsmasq.conf /etc/dnsmasq.conf.bak
      #进入编辑
      vim /etc/dnsmasq.conf
      #dnsmasq.conf 配置说明
      
      #指定了一个用于DNS解析的文件路径。Dnsmasq将从该文件中读取上游DNS服务器的配置信息,以便进行DNS转发和解析。
      #如果不想单独设置,可以使用/etc/resolv.conf
      resolv-file=/etc/resolv.dnsmasq.conf
      
      #告诉Dnsmasq按照resolv-file中DNS服务器的顺序来查询,而不是并发地查询多个DNS服务器。这可以确保DNS查询按照指定的顺序进行,遵循优先级设定。
      strict-order
      
      #该选项指定了一个附加的主机文件路径,通常是/etc/hosts。Dnsmasq将读取这个文件,并将其中定义的主机名与对应的IP地址关联起来。这样,在DNS解析过程中,Dnsmasq会优先使用这个附加的主机文件中定义的主机名解析结果。
      addn-hosts=/etc/hosts
      
      #该选项指定了Dnsmasq监听的网络地址。在这个示例中,Dnsmasq将监听本地回环地址127.0.0.1和192.168.10.1。这意味着Dnsmasq将仅接受来自这两个地址的DNS查询和DHCP请求。
      listen-address=127.0.0.1,192.168.10.1
      #/etc/resolv.dnsmasq.conf 配置说明
      nameserver 8.8.8.8

      小技巧

      编辑/etc/dnsmasq.conf文件,全是注释,按下ESC然后输入:%d然后回车可以全部清空

      image-20230608115855375

    • 我的配置模板

      resolv-file=/etc/resolv.conf
      strict-order
      addn-hosts=/etc/hosts
      listen-address=127.0.0.1,你的公网IP
    • 启动 & 开机自启

      systemctl start dnsmasq
      systemctl enable dnsmasq
      systemctl status dnsmasq
    • 相关截图

      image-20230608115115012

      image-20230608115419556

      image-20230608115325786

文章目录