您的位置:首页 > 其它

dnsmasq作DHCP服务器配置

2014-12-03 20:33 267 查看



本博文为原创,遵循CC3.0协议,转载请注明出处:/article/8087652.html

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: