Categories: Shell业界编程

DNS/DHCP服务器构建工具dnsmasq

动态主机配置协议(DHCP)服务器动态地为网络上的每个设备分配IP地址和其他网络配置参数。局域网上的DNS转发器将对非本地域名的DNS查询转发到上游DNS服务器(该网络之外)。DNS缓存服务器会响应来自客户端的递归请求,从而更快地解决DNS查询,从而提高对以前访问过的站点的DNS查找速度。

dnsmasq是一个轻量级的,易于配置DNS转发器,DHCP服务器软件和路由器广告子系统的小型网络。Dnsmasq支持Linux, BSD, Mac OS X和Android。

它提供一个DNS子系统,为网络提供一个本地DNS服务器,可以将所有查询类型转发到上游递归DNS服务器,并缓存公共记录类型。DHCP子系统支持DHCPv4、DHCPv6、BOOTP、PXE和TFTP服务器。路由器广告子系统支持IPv6主机的基本自动配置。

dnsmasq安装

安装

# yum install dnsmasq

管理

# systemctl start dnsmasq
# systemctl enable dnsmasq
# systemctl status dnsmasq

dnsmasq/ etc/dnsmasq.conf 配置

dnsmasq服务器可以通过/etc/dnsmasq.conf文件(其中包含注释和解释好的选项)配置,用户定义的配置文件也可以添加到/etc/dnsmasq.文件中d目录。

DNS在默认情况下是启用的,因此在进行任何更改之前,请确保创建/etc/dnsmasq.conf文件的备份。

# cp /etc/dnsmasq.conf /etc/dnsmasq.conf.orig

该选项listen-address用于设置IP地址,dnsmasq将侦听该IP地址。要使用CentOS/RHEL服务器侦听LAN上的DHCP和DNS请求,请将listen-address选项设置为LAN IP地址(记住包括127.0.0.1),如图所示。注意,服务器IP必须是静态的。

listen-address=::1,127.0.0.1,192.168.56.10

与上面的相关,您可以使用interface选项限制接口dnsmasq侦听(为多个接口添加更多行)。

interface=eth0

你想要一个域(你可以设置如下所示)自动添加到简单的名称在一个主机文件,取消注释扩展-主机选项。

domain=11meigui.lan

使用如下所示的server选项(表单server=dns_server_ip)为非本地域定义上游DNS服务器。

# Google's nameservers
server=8.8.8.8
server=8.8.4.4

然后,您可以使用如下所示的地址选项强制您的本地域使用一个IP地址。

address=/11meigui.lan/127.0.0.1 
address=/11meigui.lan/192.168.56.10

保存文件并检查配置文件语法是否有错误,如下所示。

# dnsmasq --test

dnsmasq /etc/resolv.conf

定义DNS主机和名称

127.0.0.1       dnsmasq
192.168.56.10   dnsmasq 
192.168.56.1    gateway
192.168.56.100  maas-controller 
192.168.56.20   nagios
192.168.56.25   webserver1

测试本地DNS

# yum install bind-utils
# dig  1meigui.lan

参考资料:
http://www.thekelleys.org.uk/dnsmasq/doc.html

0.0
00
10个tmux使用技巧
chrome插件推荐:SimilarTech Prospecting
嘻嘻

嘻嘻IT: 笔者是一个工作七八年的程序猿老鸟,从事涉及的技术栈主要包括PHP、Linux、Devops等,喜欢研究新技术,尝试新技术,提升技术自动化和开发效率,致力于write less,do more! 技术每年都会层出不穷,领域划分的越来越细,不可能学习所有的东西,保持对技术的好奇心,理解技术中核心思想,做一个有深度,有思想的开发!

Recent Posts

全球货币导航网页上线了!

o在全球化的今天,货币兑换和国…

9小时 ago

bash字符串拼接

在编程中,字符串的拼接是一个非…

9小时 ago

Bash Case详解

Bash case 语句通常用…

10小时 ago

Bash for详解

for循环是编程语言中的基础概…

10小时 ago

liunux中你必须知道alias命令?

在Linux操作系统中,无论你…

1天 ago

zshrc文件详解

Zsh 是一个强大的 shel…

2天 ago