linux基本服务系列之DNSmasq的使用

阅读:538 2019-03-19 15:02:03 来源:新网

前言

dnsmasq是一个小巧且方便地用于配置dns和dhcp的工具,适用于小型网络。它提供了dns功能和可选择的dhcp功能可以取代dhcpd(dhcpd服务配置)和bind等服务,配置起来更简单,更适用于虚拟化和大数据环境的部署。

dnsmasq主要是在配置文件/etc/dnsmasq.conf,利用好就能快捷部署好使的dhcp和dns服务。

dhcp服务

#服务监听的网络接口地址

#interface=eth0

listen-address=192.168.1.132,127.0.0.1

#dhcp动态分配的地址范围

dhcp-range=192.168.1.50,192.168.1.150,48h

#dhcp服务的静态绑定

#dhcp-host=00:0c:29:5e:f2:6f,192.168.1.201,infinite无限租期

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

#设置默认租期

#dhcp-lease-max=150

#租期保存在下面文件

#dhcp-leasefile=/var/lib/dnsmasq/dnsmasq.leases

#通过/etc/hosts来分配对应的hostname

#dhcp-host=judge

#忽略下面mac地址的dhcp请求

#dhcp-host=11:22:33:44:55:66,ignore

#dhcp所在的domain

domain=debugo.com

#设置默认路由出口

dhcp-option=3,192.168.0.1

#设置ntpserver.这是使用optionname而非选项名来进行设置

#dhcp-option=option:ntp-server,192.168.0.4,10.10.0.5

启动dnsmasq服务

servicednsmasqstart

下面在客户端进行测试:#确保网络接口配置使用dhcp方式

[root@localhost]cat/etc/sysconfig/network-scripts/ifcfg-eth1

device="eth1"

bootproto=dhcp

ipv6init=no

nm_controlled=no

onboot="yes"

type="ethernet"

#重启网络服务

[root@localhost]servicenetworkrestart

shuttingdowninterfaceeth0:[ok]

shuttingdownloopbackinterface:[ok]

bringinguploopbackinterface:[ok]

bringingupinterfaceeth0:

determiningipinformationforeth1...done.[ok]

#检查ip地址

[root@os03]ifconfig

eth1linkencap:ethernethwaddr00:0c:29:15:63:d9

inetaddr:192.168.1.202bcast:192.168.1.255mask:255.255.255.0

inet6addr:fe80::20c:29ff:fe15:63d9/64scope:link

upbroadcastrunningmulticastmtu:1500metric:1

rxpackets:251errors:0dropped:0overruns:0frame:0

txpackets:43errors:0dropped:0overruns:0carrier:0

collisions:0txqueuelen:1000

rxbytes:36077(35.2kib)txbytes:4598(4.4kib)

......

#检查默认路由

[root@os03]route-n

kerneliproutingtable

destinationgatewaygenmaskflagsmetricrefuseiface

192.168.1.00.0.0.0255.255.255.0u000eth1

169.254.0.00.0.0.0255.255.0.0u100200eth1

配置dns服务

dnsmasq能够缓存外部dns记录,同时提供本地dns解析或者作为外部dns的代理,即dnsmasq会首先查找/etc/hosts等本地解析文件,然后再查找/etc/resolv.conf等外部nameserver配置文件中定义的外部dns。所以说dnsmasq是一个很不错的dns中继。dns配置同样写入dnsmasq.conf配置文件里。

#本地解析文件

#no-hosts

#addn-hosts=/etc/banner_add_hosts

#setthis(anddomain:seebelow)ifyouwanttohaveadomain

#automaticallyaddedtosimplenamesinahosts-file.

#例如,/etc/hosts中的os01将扩展成os01.debugo.com

expand-hosts

local=/debugo.com/

#强制使用完整的解析名

domain-needed

#添加额外的上级dns主机(nameserver)配置文件

#resolv-file=

#不使用上级dns主机配置文件(/etc/resolv.conf和resolv-file)

no-resolv

#相应的,可以为特定的域名指定解析它的nameserver。一般是其他的内部dnsnameserver

#server=/myserver.com/192.168.0.1

#设置dns缓存大小(单位:dns解析条数)

cache-size=500

#关于log的几个选项

log-queries

#log-dhcp

log-facility=/var/log/dnsmasq.log

#异步log,缓解阻塞,提高性能。

log-async=20

#指定domain的ip地址

address=/doubleclick.net/127.0.0.1

address=/.phobos.apple.com/202.175.5.114

配置完成后重启dnsmasq,然后在客户端测试:

[root@os03]nslookupos01.debugo.com

server:192.168.1.132

address:192.168.1.132#53

name:os01.debugo.com

address:192.168.1.132

[root@os03]nslookupos02.debugo.com

server:192.168.1.132

address:192.168.1.132#53

name:os02.debugo.com

address:192.168.1.201

[root@os03]nslookupdoubleclick.net

server:192.168.1.132

address:192.168.1.132#53

name:doubleclick.net

address:127.0.0.1

#注意,由于address选项解析为127.0.0.1,而非server的192.168.1.132地址。

[root@os03]nslookupa1.phobos.apple.com

server:192.168.1.132

address:192.168.1.132#53

name:a1.phobos.apple.com

address:202.175.5.114

相关文章
{{ v.title }}
{{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
你可能感兴趣
推荐阅读 更多>
推荐商标

{{ v.name }}

{{ v.cls }}类

立即购买 联系客服