一.安装DHCP软件包
1.rpm的软件包光盘里带
rpm -ivh dhcp-3.0.5-21.el5.i386.rpm
2.软件包安装的东西
[root@dhcp Server]# rpm -ql dhcp-3.0.5-21.el5
/etc/dhcpd.conf
/etc/rc.d/init.d/dhcpd
/etc/rc.d/init.d/dhcrelay
/etc/sysconfig/dhcpd --2个系统文件DHCP服务
/etc/sysconfig/dhcrelay --2个系统文件DHCP中继服务
/usr/bin/omshell --3个命令
/usr/sbin/dhcpd --3个命令
/usr/sbin/dhcrelay --3个命令
/usr/share/doc/dhcp-3.0.5
/usr/share/doc/dhcp-3.0.5/IANA-arp-parameters
/usr/share/doc/dhcp-3.0.5/README
/usr/share/doc/dhcp-3.0.5/RELNOTES
/usr/share/doc/dhcp-3.0.5/api+protocol
/usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample
…… ……
…… ……
/usr/share/man/man1/omshell.1.gz
/usr/share/man/man5/dhcp-eval.5.gz
/usr/share/man/man5/dhcp-options.5.gz
/usr/share/man/man5/dhcpd-eval.5.gz
/usr/share/man/man5/dhcpd-options.5.gz
/usr/share/man/man5/dhcpd.conf.5.gz
/usr/share/man/man5/dhcpd.leases.5.gz
/usr/share/man/man8/dhcpd.8.gz
/usr/share/man/man8/dhcrelay.8.gz
/var/lib/dhcpd
/var/lib/dhcpd/dhcpd.leases --租约数据库
二.配置DHCP服务配置文件--man dhcpd.conf
1.安装后的DHCP配置文件是空的
2.把样例文件拷贝过来
cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
3.修改配置文件
/* 对sebnet子网进行生命
1 ddns-update-style interim; //DHCP和DNS更新方式:内部自动协商。这项必须有,否则DHCP服务器起不来
4 subnet 192.168.0.0 netmask 255.255.255.0{ //给这个子网提供地址池,把0.0改成1.0自己的子网
7 option routers 192.168.0.1; //网关IP
8 option subnet-mask 255.255.255.0; //子网
10 option nis-domain "domain.org"; //有nis可以考虑使用,没有就停掉,现在就停掉
11 option domain-name "domain.org"; //DNS域名
12 option domain-name-servers 192.168.1.1; //DNS服务器IP
21 range dynamic-bootp 192.168.1.128 192.168.1.167; //地址池,标记DNCP管理多少个IP,他只管分,能不能上网他不管
21 range dynamic-bootp 192.168.1.169 192.168.1.254
22 default-lease-time 21600; //默认租约时间(秒)8个小时
23 max-lease-time 43200; //最大租约时间,到期就得释放IP
24 }
*/
/* 对单个主机进行声明,一般用于企业的服务器,服务器IP不能变
26 host ns { //host(关键字) ns(名字:随便取,DHCP客户端的主机名)
27 next-server marvin.redhat.com;
28 hardware ethernet 12:34:56:78:AB:CD; //mac地址和IP绑定,IP地址永远给他留着
29 fixed-address 192.168.1.168; //IP地址不要和地址池冲突
30 }
*/
三.DHCP服务器有多个网卡的情况
1.多个网卡连接不同的网段,都提供DHCP服务
vim /etc/sysconfig/dhcpd
/*
1 # Command line options here
2 DHCPDARGS= //默认不写,就是给所有网卡提供DHCP服务,=eth0就是给eth0网卡提供DHCP服务
*/
四.启动DHCP服务器
/etc/init.d/dhcpd
用法:/etc/init.d/dhcpd {start|stop|restart|condrestart|configtest|status}
五.查看DHCP服务的租约文件
tail -7 /var/lib/dhcpd/dhcpd.leases
/* 记录了DHCP服务器向DHCP客户端提供租用的每个IP地址的信息
每成功一次添加一段记录
*/
六.客户端如何自动获取IP
1.修改eth0文件
vim /etc/sysconfig/network-scripts/ifcfg-eth0
/*
2 DEVICE=eth0 //网卡名字,要和文件名对的上
3 BOOTPROTO=none //要把static修改为dhcp,下面的6,7行就可以不要了
4 HWADDR=00:0c:29:db:f0:75
5 ONBOOT=yes //启动时是否激活网卡
6 NETMASK=255.255.0.0
7 IPADDR=169.254.146.196
8 TYPE=Ethernet
*/
2.重新启动网卡,不影响其他网卡
ifdown eth0 //停用网卡
ifup eth0 //启用网卡
七.DHCP中继代理
路由器(13,63网段)
交换机A(13.x) 交换机B(63.x)
DHCP服务器、DHCP客户机 DHCP客户机、DHCP中继代理服务器
1.目的:63网段也可以使用13网段的DHCP服务器自动获得IP地址
2.安装软件包(光盘里带)
rpm -ivh dhcp-3.0.5-21.el5.i386.rpm
3.vim /etc/sysconfig/dhcrelay
/*
1 # Command line options here
2 INTERFACES="" //网卡eth0
3 DHCPSERVERS="" //DHCP服务器IP地址
*/
4.启动dhcp中继代理服务器
/etc/init.d/dhcrelay
用法:/etc/init.d/dhcrelay {start|stop|restart|condrestart|configtest|status}
5.DHCP服务器把subnet{...}段在复制一遍,把13换成63,看好了host ns也包含在subnet中,(13,63)段的ns名字
不能重复,重复就出错误了
错误可以在【/var/log/message】中查看
6.(63)段客户机重启网卡测试
八.DHCP告诉客户端,去找谁按系统
1.配置文件新增2行
/*
40 filename "pxelinux.0";
41 next-server 192.168.1.203; //上这台机器(tftp服务器)上去找,你(客户端)要用到的初始化文件(pxelinux.0)
*/
2.找pxelinux.0绝对路径
find / -name pxelinux.0
/tftpboot/linux-install/pxelinux.0
/usr/lib/syslinux/pxelinux.0 -- 用这个
3.重新启动DHCP服务
/etc/init.d/dhcpd restart
关闭 dhcpd: [确定]
启动 dhcpd: [确定]
4.流程图
tftp DHCP ftp|apache|nfs client
| | | |
| |①<--------|----------------|
| |------------|------------>②|
|③<--|----------|----------------|
|-----|------->④| |
①发广播,我要配个IP
②DHCP给client配置一个IP,在发给client一个tftp的IP和pxelinux.0路径,你找他它系统去
③我要按系统
④tftp启动时通过ks.cfg文件去找yum源
client要使用PXE在bios设置:
(1)First Boot Device ==> LAN
(2)Frequency/Voltage Control ==> Onboard Lan Boot ROM [Enabled]
九.以下就是在另一个机器上作tftp服务了,转下页
tftp|pxelinux.0:系统文件中有,引导时,找下面3个文件
|kernel :iso中有,PXE启动
|initrd :iso中有,PXE启动
|default :管理的,启动时通过找ks.cfg文件,去找yum源
以上DHCP配置完成了