一. dnsmasq
dnsmasq是一个轻量级的DNS服务器和DHCP服务器。
二. dnsmasq作为DNS服务器
dnsmasq可以作为DNS转发器,dnsmasq接收Client的DNS查询请求,并回复DNS查询结果。查询的结果可以来自本地缓存和公共DNS服务器,如果本地缓存没有记录,dnsmasq会将请求转发到公共的DNS服务器,并将公共的DNS解析的结果回复到请求的设备。
dnsmaq可以选择是否加载/etc/hosts到本地缓存。加载的情况,当其他设备的DNS请求的域名正好在/etc/hosts中的情况下,dnsmasq直接回复/etc/hosts域名对应的IP地址,不加载的情况,dnsmasq则会将请求转发到公共的DNS服务器去解析,而不是使用/etc/hosts中的记录,通过--no-hosts选项可以选择是否加载/etc/hosts内容作为dnsmasq的DNS的本地缓存,后面会通过实例详细介绍。
三. dnsmasq作为DHCP服务器
dnsmasq的DHCP服务器支持为客户端指定固定IP地址,通过指定多个--dhcp-range选项,为不同的网络接口下端设备分配不同网段的地址,并且通过--dhcp-option选项,支持配置发送指定DHCP option字段,后面会详细介绍。
四. 总结
dnsmasq是一个轻量级的工具,大约200多KB,并且完整的包含了DNS服务器和DHCP服务器功能,非常适合flash空间有限的嵌入式系统