在Linux中使用的DNS和DHCP软件我们一般是采用ISC的BIND和dhcpd. 在多数环境中这两个软件的确很棒也挺安全。但是当我们的使用环境是家庭或者办公室这样的网络环境,也许用其他更小型一些的软件代替他们会更合适。
这里介绍的是在Ubuntu下能够同时提供DNS和DHCP服务的软件dnsmasq。它能够缓存外部DNS记录,同时提供本地DNS解析或者作为外部DNS的代理。除此之外,dnsmasq所提供的DHCP服务也是和dhcpd十分相近的。如动态地址分配,可以通过MAC地址预先指定静态的IP地址给特定的主机等等。
1.安装dnsmasq(见图1)
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 个软件未被升级。
需要下载 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