闲话少叙,直接上命令:
#pkg install isc-dhcp42-server
有好多选项,最常用的有两个:
dhcpd_enable="YES"
dhcpd_ifaces=""
上一行指示FreeBSD在启动的时候把dhcpd启动开,下一行指示dhcpd监听哪一个网卡,如果不指定,则监听IP所在网段对应的那个网卡,IP在后面的dhcpd.conf中定义。如果既没有指定网卡,对应的IP也没有在相应的网卡,则会出现错误提示。
如果临时使用的话,没有必要写这两行,直接手动开启就可以了,方法见下面的介绍。
配置看起来很麻烦,其实在示例的配置文件中都有提示,把其他的删除掉,再稍微修改就可以了。自带的示例文件部分如下,只保留这一段就可以:
subnet 10.5.5.0 netmask 255.255.255.224 {
range 10.5.5.26 10.5.5.30;
option domain-name-servers ns1.internal.example.org;
option domain-name "internal.example.org";
option routers 10.5.5.1;
option broadcast-address 10.5.5.31;
default-lease-time 600;
max-lease-time 7200;
}
稍加修改,变为就可以了:
# cat /usr/local/etc/dhcpd.conf
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.40 192.168.100.80;
option domain-name "aa.com";
option domain-name-servers 202.102.152.3,202.102.154.3;
option routers 192.168.100.1;
option broadcast-address 192.168.100.255;
}
然后就可以启动dhcpd了:
# /usr/local/etc/rc.d/isc-dhcpd forcestart
如果没有显示existing,那么一般情况下就是正常启动了,可以用netstat –an查看一下端口67是不是开启了。
如果在输出一大段文字后,dhcpd显示:
# Jul 25 09:17:30 root dhcpd: exiting
这个提示表示dhcpd异常退出了,最需要检测的就是网卡上的IP,比如:在上面的配置中,定义了一段192.168.100.0/24,所以必须有网卡的IP地址在这一段上,否则就会异常退出。检查方法:
#ifconfig
……
inet 192.168.100.1 netmask 0xffffff00 ……
如果没有这个字样,那么还是的动添加一个吧:
#ifconfig re0 inet 192.168.100.1/24 add
具体应用的时候,把re0换成你的网卡。
正常工作后,可以检查为哪些机器分配了IP地址,在/var/db/dhcpd里面,有个dhcpd.leases,这个文件就是分配的IP信息,里面分了很多段,每段就代表一台机器:
lease 192.168.100.50 {
starts 5 2014/07/25 01:20:44;
ends 5 2014/07/25 01:30:44;
cltt 5 2014/07/25 01:20:44;
binding state active;
next binding state free;
rewind binding state free;
hardware ethernet 6c:92:bf:05:46:b0;
uid "\001l\222\277\005F\260";
client-hostname "213099902";
}
具体的含义,在名称地方已经比较明确了,就不再解释。
总结:
快速使用dhcp服务器,只需要安装isc-dhcpd软件,然后修改一下配置,使用最简单的那一个,然后在确保网卡中的IP在配置中网段,就可以开始使用dhcp了。
该贴由hui.chen转至本版2014-11-5 17:04:56