×
新网 > 域名资讯 > 正文

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

前言 DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络。它提供了DNS功能和可选择的DHCP功能可以取代dhcpd(DHCPD服务配置)和bind等服务,配置起来更简单,更适用于虚拟化和大数据环境的部署。 DNSmasq主要是在配置文件/etc/dnsmasq.conf ,利用好就能快捷部署好使的dhcp和dns服务。 DHCP服务 # 服务监听的网络接口地址

前言

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

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

t01f9b087fc4bfa2ae1.jpg

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

 

# 设置NTP Server.这是使用option name而非选项名来进行设置

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

 

启动dnsmasq服务

service dnsmasq start

 

下面在客户端进行测试:
# 确保网络接口配置使用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] service network restart

Shutting down interface eth0: [OK]

Shutting down loopback interface: [OK]

Bringing up loopback interface: [OK]

Bringing up interface eth0:

Determining IP information for eth1... done. [OK]

# 检查IP地址

[root@os03] ifconfig

eth1Link encap:EthernetHWaddr 00:0C:29:15:63:D9

inet addr:192.168.1.202Bcast:192.168.1.255Mask:255.255.255.0

inet6 addr: fe80::20c:29ff:fe15:63d9/64 Scope:Link

UP BROADCAST RUNNING MULTICASTMTU:1500Metric:1

RX packets:251 errors:0 dropped:0 overruns:0 frame:0

TX packets:43 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:36077 (35.2 KiB)TX bytes:4598 (4.4 KiB)

......

# 检查默认路由

[root@os03] route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric RefUse Iface

192.168.1.0 0.0.0.0 255.255.255.0 U 000 eth1

169.254.0.0 0.0.0.0 255.255.0.0 U 1002 00 eth1

 

配置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

 

# Set this (and domain: see below) if you want to have a domain

# automatically added to simple names in a hosts-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。一般是其他的内部DNS name server

# 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] nslookup os01.debugo.com

Server:192.168.1.132

Address:192.168.1.132#53

Name:os01.debugo.com

Address: 192.168.1.132

[root@os03] nslookup os02.debugo.com

Server:192.168.1.132

Address:192.168.1.132#53

Name:os02.debugo.com

Address: 192.168.1.201

[root@os03] nslookup doubleclick.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] nslookup a1.phobos.apple.com

Server:192.168.1.132

Address:192.168.1.132#53

Name:a1.phobos.apple.com

Address: 202.175.5.114

 

好了,说到这里应该都会使用DNSmasq这个小工具了,简单快捷,下一期,我们再讲讲如何搭建智能dns。更多精彩》》

  • 相关专题

免责声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,也不承认相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,请发送邮件至:operations@xinnet.com进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

免费咨询获取折扣

Loading