Linux下的DHCP服务器配置
忙活了三个多小时,终于搞定了,绕一些弯子,在些记录下全过程:
第一步:执行命令 rpm ql dhcp
找到 /usr/share/doc/dhcp-3.0pl1/dhcpd.conf.sample
执行命令:cp /usr/share/doc/dhcp-3.0pl1/dhcpd.conf.sample /etc
mv /etc/dhcpd.conf.sample dhcpd.conf
第二步:打开dhcp.conf配置文件
vi /etc/dhcpd.conf
以下是文件内容:
ddns-update-style interim;
ignore client-updates;
subnet 192.168.0.0 netmask 255.255.255.0 {
# --- default gateway
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
# option nis-domain "domain.org";
option domain-name "domain.org";
option domain-name-servers 192.168.0.1;
option time-offset -18000; # Eastern Standard Time
# option ntp-servers 192.168.1.1;
# option netbios-name-servers 192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;
range dynamic-bootp 192.168.0.100 192.168.0.150;
default-lease-time 259200;
max-lease-time 518400;
# 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;
# }
}
配置完成后
执行命令 service dhcpd reload
至此,服务端的配置完成
第三步:客户端测试
就是在这一步的时候出了问题,客户机怎么也得不到IP地址,后来在红联查了一下,才知道问题出在哪里。以下是帖子全文:
可能很多朋友都和我一样,使用VMW进行linux网络配置实验。当我在进行DHCP实验时,发生了一下问题:
客户机RH9,服务器RH AS4,服务器做DHCP服务器,客户机无法获得DHCP信息。用SNIFFER无法抓包获得DHCP REQUEST和ACK信息。
解决办法有两种
1、客户机先运行ifconfig down eth0,再运行ifconfig up eth0,此时eth0启动起来了,但是没有IP。再运行ifup eth0。获得IP地址。sniffer侦听到DHCP包2个,REQUEST和ACK。
2、编辑/etc/sysconfig/network-scripte/ifcfg-eth0
最后加入
check_line_down() {
return 1;
}
保存。此时/etc/sysconfig/networking/ifcfg-eth0 也会自动加上这句。如果没有加上,请手动为其加上。
ifup eth0,你会发现一切都好了。
ifconfig eth0 up
service network start
这样就应该可以了
原因很简单,就是 ifup 脚本的一个 BUG,具体上面第二条你写过了。
其实还可以有个方法也能实现哦。修改 /etc/rc.sysinit 文件,在开始载入网络之前先 up 起那个网卡(可以没有 IP),这样 dhcp 也能自动获取了。
问题解决。