Ubuntu 8.10下使用dnsmasq提供DNS和DHCP服务

在Linux中使用的DNS和DHCP软件我们一般是采用ISC的BIND和dhcpd. 在多数环境中这两个软件的确很棒也挺安全。但是当我们的使用环境是家庭或者办公室这样的网络环境,也许用其他更小型一些的软件代替他们会更合适。

这里介绍的是在Ubuntu下能够同时提供DNS和DHCP服务的软件dnsmasq。它能够缓存外部DNS记录,同时提供本地DNS解析或者作为外部DNS的代理。除此之外,dnsmasq所提供的DHCP服务也是和dhcpd十分相近的。如动态地址分配,可以通过MAC地址预先指定静态的IP地址给特定的主机等等。

1.安装dnsmasq(见图1)

Ubuntu 8.10下使用dnsmasq提供DNS和DHCP服务

sudo apt-get install dnsmasq

linuxidc@linuxidc-laptop:~$ sudo apt-get install dnsmasq
[sudo] password for linuxidc:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树      
正在读取状态信息... 完成      
下列软件包是自动安装的并且现在不再被使用了:
  linux-headers-2.6.27-7 linux-headers-2.6.27-7-generic
使用'apt-get autoremove'来删除它们
将会安装下列额外的软件包:
  dnsmasq-base
建议安装的软件包:
  resolvconf
下列【新】软件包将被安装:
  dnsmasq dnsmasq-base
共升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 0 个软件未被升级。www.britepic.org
需要下载 225kB 的软件包。
解压缩后会消耗掉 758kB 的额外空间。
您希望继续执行吗?[Y/n]Y

2.配置/etc/dnsmasq.conf

expand-hosts
domain=example.com
dhcp-range=192.168.0.50,192.168.0.150,12h
dhcp-option=3,192.168.0.1
dhcp-option=6,192.168.0.5

以上配置选项enable了DHCP服务,并且设置domain为“example.com”。DHCP服务提供地址范围为192.168.0.50到192.168.0.150 续订期为12个小时。指定了网关为192.168.0.1,dns服务器为192.168.0.5