功能介绍
Dnsmasq提供DNS缓存和DHCP服务、Tftp服务功能:
1、作为域名解析服务器(DNS),Dnsmasq可以通过缓存DNS请求来提高对访问过的网址的连接速度;
2、作为DHCP服务器,Dnsmasq可以为局域网电脑提供内网ip地址和路由;
DNS和DHCP两个功能可以同时或分别单独实现。Dnsmasq轻量且易配置,适用于个人用户或少于50台主机的网络,此外它还自带了一个PXE服务器。
安装步骤
步骤一:安装 Dnsmasq
# UOS d版
$ apt install dnsmasq
# UOS a/e版
$ yum install dnsmasq
步骤二:配置文件说明
Dnsmasq配置文件是/etc/dnsmasq.conf,使用DNSmasq提供DHCP服务也是相当简单的事情。配置文件中的注释已经给出了非常详细的解释,其中一些关键的配置如下。:
# 服务监听的网络接口地址
#interface=
# 排除接口
#except-interface=
# 监听地址
listen-address=192.168.1.132,127.0.0.1
# dhcp 动态分配的地址范围,自动分配 50-150ip 段,有效期48小时
dhcp-range=192.168.1.50,192.168.1.150,48h
# dhcp 服务的静态绑定
# [client端MAC地址] + [分配的IP]
# dhcp-host=00:0C:29:5E:F2:6F,192.168.1.201
[client端MAC地址] + [分配的IP]+ 无限租期
# dhcp-host=00:0C:29:5E:F2:6F,192.168.1.201,infinite
[client端MAC地址] + [分配的IP]+ [主机名]
dhcp-host=00:0C:29:5E:F2:6F,192.168.1.201,os02
dhcp-host=00:0C:29:15:63:CF,192.168.1.202,os03
# 绑定 mac 地址对应一个 hostname
# dhcp-host=11:22:33:44:55:66,fred
# 绑定某个 mac 对应 hostname 名字,然后加上一个 ip 分配,并设置租约
# dhcp-host=11:22:33:44:55:66,fred,192.168.0.60,45m
# 绑定一个 ip 对应多 mac 地址,用途场景存在于实验室和无线网络,为了让 2 块网卡用同一个 ip。
# dhcp-host=11:22:33:44:55:66,12:34:56:78:90:12,192.168.0.60
# 绑定名字对应 ip,并且给了一个新参数,无限租约
# dhcp-host=bert,192.168.0.70,infinite
# 注意:当为某一MAC地址同时静态分配主机名和IP时,如果写到两条dhcp-host选项里(如下所示),则只会生效后面的一条。正确的选项写法(如上配置)。
dhcp-host=00:0C:29:5E:F2:6F,192.168.1.201
dhcp-host=00:0C:29:5E:F2:6F,os02
# 给予一个特殊标识符对应 ip,用途不明
# dhcp-host=id:01:02:02:04,192.168.0.60
# 跟上一条类似,只是标识符还支持普通字符字串
# dhcp-host=id:marjorie,192.168.0.60
# 通过 /etc/hosts 来分配对应的 hostname
# dhcp-host=judge
# 忽略下面 MAC 地址的 DHCP 请求,不分配 ip
#dhcp-host=11:22:33:44:55:66,ignore
# 为了方便管理,将所有需要用到的 dhcp-host 配置都放进 /etc/ethers
#read-ethers
# 设置默认租期
#dhcp-lease-max=150
# 租期保存在下面文件
#dhcp-leasefile=/var/lib/dnsmasq/dnsmasq.leases
# 自动给hosts的域名增加一个简单的名字,搭配下面的domain用的[不常用]
expand-hosts
# dhcp所在的域
domain=onlymin.com
# 设置默认路由出口
# 可以通过dnsmasq --help dhcp来查看具体的配置
# option 3为default route
dhcp-option=3,192.168.1.1
# 设置NTP Server.这是使用option name而非选项名来进行设置
#dhcp-option=option:ntp-server,192.168.0.4,10.10.0.5
启动测试
步骤一:启动Dnsmasq
1、启动服务:
$ systemctl restart dnsmasq
2、DNSmasq服务的租期信息存储在/var/lib/dnsmasq/dnsmasq.leases这个文件:
1400240493 00:0c:29:5e:f2:6f 192.168.1.143 os02 *
1400240498 00:0c:29:15:63:cf 192.168.1.52 os01 *
©统信软件技术有限公司。访问者可将本网站提供的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。除此以外,将本网站任何内容或服务进行转载,须备注:该文档出自【faq.uniontech.com】统信软件知识分享平台。否则统信软件将追究相关版权责任。