首页 > 代码库 > dnsmasq作DHCP服务器配置
dnsmasq作DHCP服务器配置
本博文为原创,遵循CC3.0协议,转载请注明出处:http://blog.csdn.net/lux_veritas/article/details/41702505
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
DNSmasq简介
- DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,最多可支持1000台服务器。
- 它提供了DNS功能和可选择的DHCP功能。它服务那些只在本地适用的域名,这些域名是不会在全球的DNS服务器中出现的。
- DHCP服务器和DNS服务器结合,并且允许DHCP分配的地址能在DNS中正常解析,而这些DHCP分配的地址和相关命令可以配置到每台主机中,也可以配置到一台核心设备中(比如路由器),DNSmasq支持静态和动态两种DHCP配置方式。
配置文件
/etc/dnsmasq.conf
与DHCP server相关的配置,仅需此配置文件即可
一个最简单静态DHCP的配置如下:
interface=eth1
dhcp-host=00:50:56:2C:DA:FE,172.16.0.100
说明:
- interface 我使用eth1作为对内的网卡接口
- dhcp-host dhcp-host的配置方式有很多种,这里使用的是:[client端 MAC地址] + [分配的IP]
- 更多的配置可参考/etc/dnsmasq.conf中的注释说明
注意事项
提供DHCP服务的网卡IP,必须与分配的IP段在同一网段上。如:
网卡eth1的cidr:172.16.0.1/24,给目标机分配的IP为172.16.0.100。如果分配的地址为192.168.0.100则会失败,DHCP客户端会无法取到IP
话外音——说说调试的事情
为什么会有如上的注意事项呢,因为笔者喜欢异类,总想尝试非常规,看看如果不按常规配置会有什么问题,于是就设置了不同的网段尝试能否成功分配。结果自然是失败的
先说一下环境:
宿主机MacOSX 10.10,宿主机上起一个桥设备,
[DHCP server]vm1, Ubuntu 14.04
[DHCP client]vm2, CentOS 7
两台虚拟机的网卡接到宿主的桥上。
在vm1上,配置好/etc/dnsmasq.conf后,重启dnsmasq服务,tcpdump -i eth1
,坐等查看包状态
在vm2上,dhclient
,广播请求,坐等IP传回,也可查看/var/log/messages产看日志信息
常见的网络状况分析方法:
- 日志
/var/log/messages
/var/log/syslog
... ... - netstat查看网络状态信息,确认端口是否打开啊
- tcpdump抓包,抓个包看看有没有收到request,有没有reply
References
[1] How to set up a DHCP server using dnsmasq
[2] official doc
dnsmasq作DHCP服务器配置