最近在做软路由,其中1个功能是dhcp服务。记录1下进程,供其他人参考。
(dhcpd版本4.1.1,centos版本6.6)
参考文章:
(1)点击打开链接
(2)点击打开链接
正文:
(1)安装dhcp
ubuntu用apt-get,centos用yum,这就不多说了。
(2)开机启动和开启服务
把dhcpd设为开机启动,centos下用命令chkconfig dhcpd on;
ubuntu下怎样设置启动请google。
如果要马上开启服务,service dhcpd start;
(3)添加配置文件
安装完dhcpd以后。默许配置文件是没有内容的,所以service dhcpd start会报错。
其中两个毛病提示以下:
No subnet declaration for eth5 (192.168.106.221)
Not configured to listen on any interfaces!
缘由是我们还没有设置配置文件 。
可以把/usr/share/doc/dhcp⑷.1.1/dhcpd.conf.sample
拷贝到/etc/dhcp/dhcpd.conf(不同的发行版,配置文件位置可能不1样)。
(4)修改配置文件
如果不修改配置文件的话,启动dhcpd仍然会报错的。
可以参考1下他人的dhcpd.conf文件进行修改。
由于我做的是路由器,网卡比较多,参数也比较复杂,就不贴出来了。
下面贴1下其他人的吧,这个相对容易理解1点:
ddns-update-style interim; #配置使用过渡性 DHCP-DNS互动更新模式。
ignore client-updates; #疏忽客户端更新
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1; #路由器地址
option subnet-mask 255.255.255.0; #子网掩码选项
option nis-domain "xfbaydhcp.com";
option domain-name "xfbaydhcp.com"; #域名
option domain-name-servers 202.102.152.3; #DNS地址
option time-offset ⑴8000; # Eastern Standard Time
range dynamic-bootp 192.168.1.100 192.168.1.200; #租用IP地址的范围
default-lease-time 21600; #缺省租约时间
max-lease-time 43200; #最大租约时间
# we want the nameserver to appear at a fixed address
host ns {
next-server marvin.redhat.com;
hardware ethernet 12:34:56:78:AB:CD;
fixed-address 207.175.42.254;
}
}
(5)lan网卡绑定dhcpd
Not configured to listen on any interfaces!
报这个毛病的缘由是,没有声明在哪一个网卡启动dhcp功能。
解决办法:
在/etc/sysconfig/dhcpd中添加1行
<span style="font-size:14px;">DHCPDARGS=eth4</span>
这个是centos里面的路径,ubuntu中可能会有点不同。
修改完这些以后,service dhcpd start;就能够启动服务了。
(6)附录:dhcpd.conf参数说明
/etc/dhcpd.conf通常包括3部份:parameters、declarations 、option。
1.DHCP配置文件中的parameters(参数):表明如何履行任务,是不是要履行任务,或将哪些网络配置选项发送给客户
ddns-update-style 配置DHCP-DNS 互动更新模式。
default-lease-time 指定确省租赁时间的长度,单位是秒。
max-lease-time 指定最大租赁时间长度,单位是秒。
hardware 指定网卡接口类型和MAC地址。
server-name 通知DHCP客户
服务器名称。
get-lease-hostnames flag 检查客户端使用的IP地址。
fixed-address ip 分配给客户端1个固定的地址。
authritative 谢绝不正确的IP地址的要求。
2.DHCP配置文件中的declarations (声明):用来描写网络布局、提供客户的IP地址等
shared-network 用来告知是不是1些子网络分享相同网络。
subnet 描写1个IP地址是不是属于该子网。
range 起始IP 终止IP 提供动态分配IP 的范围。
host 主机名称 参考特别的主机。
group 为1组参数提供声明。
allow unknown-clients;deny unknown-client 是不是动态分配IP给未知的使用者。
allow bootp;deny bootp 是不是响应激活查询。
allow booting;deny booting 是不是响应使用者查询。
filename 开始启动文件的名称. 利用于无盘工作站。
next-server 设置
服务器从引导文件中装如主机名,利用于无盘工作站。
3. DHCP配置文件中的option(选项):用来配置DHCP可选参数,全部用option关键字作为开始
subnet-mask 为客户端设定子网掩码。
domain-name 为客户端指明DNS名字。
domain-name-servers 为客户端指明DNS
服务器IP地址。
host-name 为客户端指定主机名称。
routers 为客户端设定默许网关。
broadcast-address 为客户端设定广播地址。
ntp-server 为客户端设定网络时间
服务器IP地址。
time-offset 为客户端设定和格林威治时间的偏移时间,单位是秒。
注意:如果客户端使用的是视窗操作系统,不要选择"host-name"选项,即不要为其指定主机名称