DHCP服务的作用及好处相信大家都应该知道,这里就不再阐述了。在rhel 5实现DHCP需要安装dhcp-3.0.5-7.el5.i386.rpm,其配置文件是/etc/dhcpd.conf,租约数据库文件是/var/lib/dhcpd/dhcpd.leases。
在第一次打开该文件时,只告知一个例子文件的路径,可将该例子覆盖该配置文件再进行修改。
dhcpd.conf文件有二大部分,分别是全局配置和局部配置。当全局配置与局部配置发生冲突时,局部配置优先级更高。
●常用参数:
●ddns-update-style (none|interim|ad-hoc):定义所支持的DNS动态更新类型,该参数必选且必须放在第一行且只能在●全局配置中使用。
●none:不支持。
●interim:DNS互动更新模式。
●ad-hoc:特殊DNS更新模式。
●ignore-client-updates:忽略客户端更新,该参数只能在全局配配置中使用。
●default-lease-time:默认IP租约时间,单位秒,该参数可以在全局配置、局部配置均可使用。
●mas-lesase-time:客户端IP租约时间的最大值,单位秒,该参数可以在全局配置、局部配置均可使用。
●常用声明:
●subnet 网络号 netmask 子网掩码 {…..}:定义作用域。
●range 起始IP 结束IP:动态IP地址范围。
●常用选项:
●option routes IP地址:默认网关,该选项可以在全局配置、局部配置均可使用。
●option subnet-mask 子网掩码:默认子网掩码,该选项可以在全局配置、局部配置均可使用。
●option domain-name-servers:DNS服务器地址,该选项可以在全局配置、局部配置均可使用。
●option domain-name:DNS后缀,该选项可以在全局配置、局部配置均可使用。
●option time-offset:为客户端指定格林威治时间领衔时间,单位秒,该选项可以在全局配置、局部配置均可使用。
●下面我们来看一个配置实例:
ddns-update-style interim;
ignore client-updates;
option domain-name“demo.zqin”;
subnet 192.168.159.0 netmask 255.255.255.0 {
option routers 192.168.159.18;
option subnet-mask255.255.255.0;
option domain-name-servers192.168.159.1;
option domain-name“example.zqin”;
option time-offset-18000;
range dynamic-bootp 192.168.159.20 192.168.100.250;
default-lease-time 21600;
max-lease-time 43200;
}
上述配置实际上只需在rhel中所提供的例子文件中改几处即可,在编写配置文件时需注意以下几个问题:
●每行必须以分号结尾(如不用分号结尾,在启动dhcpd时是不会报错的,只能通过查看日志文件/var/log/message得知)。
●局部配置必须包含在一对中括号之间。
●上面的例子中全局部分定义了参数option domain-name,在局部也定义了,这个在实际工作是没有必要的,这里只是为了说明局部参数的优先级高于全局部分。
如希望实现保留功能(在保留中也可使用参数,当然保留中参数的优先级最高),首先需要知道指定客户端网卡的MAC地址,然后在配置文件中加入如下内容即可。
ddns-update-style interim;
ignore client-updates;
option domain-name“demo.zqin”;
subnet 192.168.159.0 netmask 255.255.255.0 {
option routers 192.168.159.18;
option subnet-mask255.255.255.0;
option domain-name-servers192.168.159.1;
option domain-name“example.zqin”;
option time-offset-18000;
range dynamic-bootp 192.168.159.20 192.168.100.250;
default-lease-time 21600;
max-lease-time 43200;
host lyon {
hardware Ethernet 00:50:56:c0:00:01;
在整个DHCP客户端与服务器通讯的过程全部使用的是广播的方式,这样会带来一个问题,如果在DHCP客户端与服务器之间必须通过路由器时是无法完成IP地址的申请过程的,这里就需要使用DHCP中继代理了。DHCP中继代理位于DHCP客户端一边的网络中,帮助DHCP客户端与DHCP服务器进行通讯。不过在实际工作中,本人觉得直接在路由器或三层交换机上配置DHCP中继代理更合理。不过我们还是来看下通过rhel如何实现中继代理功能。
●将dhcp的网关指向192.168.159.18
●编辑/etc/syconfig/dhcpd文件
DHCPDARGS=eth0
●在dhcp上建立超级作用域,并为192.168.100.0/24建立作用域
ddns-update-style interim;
ignore client-updates;
shared-network test {
#建立超级作用域
option domain-name"example.zqin";
option domain-name-servers192.168.159.1;
subnet 192.168.100.0 netmask 255.255.255.0 {
option routers 192.168.100.18;
option subnet-mask255.255.255.0;
option time-offset-18000;
range dynamic-bootp 192.168.100.20 192.168.100.200;
default-lease-time 21600;
max-lease-time 43200;
}
subnet 192.168.159.0 netmask 255.255.255.0 {
option routers192.168.159.18;
option subnet-mask255.255.255.0;
option time-offset-18000;
range dynamic-bootp 192.168.159.20 192.168.159.200;
default-lease-time 21600;
max-lease-time 43200;
}
●在中继代理上安装dhcp、dhcp-devel包。
●在中继代理上运行,并将其加入/etc/rc.local中。
echo “1” > /proc/sys/net/ipv4/ip_forward
●编辑/etc/sysconfig/dhcrelay文件
INTERFACES="eth1"
DHCPSERVERS="192.168.159.19"
●启用中继代理
service dhcrelay restart
chkconfig dhcrelay on
默认分类2009-04-12 09:06:08阅读148评论0字号:大中小
RHEL5中PXE+DHCP+TFTP+NFS+Kickstart网络自动安装配置简化版 - 系统管理 - Linux论坛
过程原理:由一台服务器提供DHCP、TFTP及NFS服务,
客户端支持PXE启动,会在局域网上发送申请动态IP的广播包,
DHCP,NFS,TFTP使用同一台服务器,IP为192.168.1.254
一、配置DHCP服务
安装dhcp
yum install dhcp -y
chkconfig dhcpd on
vi /etc/dhcpd.conf
如下:
ddns-update-style interim;
ignore client-updates;
allow booting;
allow bootp;
class "pxeclients"{
match if substring(option vendor-class-identifier,0,9) =
"PXEClient";
filename "pxelinux.0";
next-server 192.168.1.254;
}
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.254;
option subnet-mask 255.255.255.0;
option nis-domain "example.org";
option domain-name "example.org";
option domain-name-servers 192.168.1.254;
option time-offset -18000; # Eastern Standard
Time
range dynamic-bootp 192.168.1.100 192.168.1.200;
default-lease-time 21600;
max-lease-time 43200;
host linux {
hardware ethernet 00:11:43:5A:5D:46;
fixed-address 192.168.96.254;
}
}
======================================================================
二、配置TFTP
安装
yum install tftp-server xinetd -y
chkconfig xinetd on
vi /etc/xinetd.d/tftp ###< disable = no >###
====================================================================
三、启动文件配置
cp /usr/lib/syslinux/pxelinux.0 /tftpboot/
mkdir /tftpboot/pxelinux.cfg
mount 192.168.0.254:/var/ftp/pub /mnt/
cp /mnt/isolinux/* /tftpboot/
cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
vi /tftpboot/pxelinux.cfg/default
如下:
default local
prompt 1
timeout 300
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label local
localboot 0
label linux install
kernel vmlinuz
append initrd=initrd.img
label linux text
kernel vmlinuz
append initrd=initrd.img text
label linux ks
kernel vmlinuz
append ks initrd=initrd.img
label linux memtest86
kernel memtest
append -
===============================================================
四、配置NFS服务
vi /etc/exports
service nfs start
chkconfig nfs on
如下:
/yum 192.168.1.0/24(ro,sync)
cp /root/anaconda-ks.cfg /yum/lcks.cfg
chmod 644 /yum/lcks.cfg
===============================================================
五、重启服务
service dhcpd restart
service xinetd restart
service nfs restart
===============================================================
六、设备客户端
客户端设置PXE启动启动后输入autoinstall即可执行全自动安装。
输入linux ks=nfs:192.168.1.254:/yum/lcks_other.cfg即可另指定ks文件。
输入linux rescue即可进入系统修复模式,以对系统进行修整。
简单按一下回车,或者等一会,客户端就从本地硬盘启动系统。
按F2、F3等键也可以进行切换。
-----------Notes-----------------------------
如有开启selinux可能会使某些服务不能正常运转
需注意一下几点:
1.要使用http协议安装需要改变安装源的上下文,及拥有人
chcon -R -t httpd_sys_content_t /yum
chown -Rh apache.apache /yum
不过这样它可能会提示权限不够,所已我建议修改如下:
chcon -R -t public_content_t /yum
2.一切就绪之后发现无法从网络引导,有错误提示说" Could not found kernel image "
经过多次试验这后,发现这是因为无法访问到/tftpboot/目录里面的启动文件,所以
需要做一下设置:
setsebool -P ftpd_disable_trans=1
service xinetd restart
OK了!
3.每个人的情况不一样,因视情况而定。
所谓bonding,就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。Kernels 2.4.12及以后的版本均提供bonding模块,以前的版本可以通过patch实现。
1.确认你目前使用的网卡,检查/etc/sysconfig/network-scripts目录下以ifcfg-开头的文件,应该为eth0, eth1...
2.配置虚拟网卡bond0
可以使用DHCP,也可以配置static IP,最好通过vi编辑配置文件
[root@server1 ~]# cd /etc/sysconfig/network-scripts
[root@server1 network-scripts]# cat ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
NETWORK=192.168.0.0
NETMASK=255.255.255.0
IPADDR=192.168.0.10
USERCTL=no
GATEWAY=192.168.0.254
TYPE=Ethernet
3.修改eth0, eth1配置文件
[root@server1 network-scripts]# ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=yes
[root@server1 network-scripts]# ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=yes
4.将新添加的bond0设备加入modprobe.conf中,以便kernel识别。加入设置参数,miimon值表示两块网卡相互监测的时间,以ms为单位。mode值为工作模式,可设置为高可用还是负载均衡,0为高可用(默认值),1为负载均衡,另外还有一种XOR模式。
alias bond0 bonding
options bond0 miimon=100 mode=1