DHCP服务详解
- DHCP概念和原理
- dhcp服务作用
- 为大量客户机自动分配地址,提供集中管理
- 减轻管理和维护成本,提高网络配置效率
- 可分配的地址信息主要包括:
- 网卡的IP地址、子网掩码
- 对应的网络地址
- 默认网关地址
- DNS服务器地址
- 引导文件、TFTP服务器地址
- DHCP的原理
- 客户端寻找服务器
client – DHCPdiscovery
如果未得到响应,1秒后重发,9秒,13秒,16秒…
- 服务器提供地址
Server – DHCPoffer
提供可用IP,租约信息,服务器地址等
- 接受并广播
Client – DHCPrequest
宣告自己所选择的DHCP服务器
Arp广播,测试自己所选择的DHCP服务器
- 服务器确认
Client – DHCPrequest
Server – DHCPack
包含了所有的网络参数
===========================================================
- 户端重新登录
Client – DHCPrequest
申请,继续源使用分配的IP地址
- 更新租约
8小时 – 4小时 – 2小时
Client – DHCPdiscovery
- DHCP相关文件
- RHEL6的DHCp软件包
Dhcp-4.1.1-3.4.P1.el6.x86_64.rpm
- DHCP的相关配置
端口号:ipv4 udp67、udp68
ipv6 udp546、udp547
服务名:dhcpd(主程序)或者dhcrelay(中继)
主配置文件:/etc/dhcp/dhcpd.conf
模板文件:/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample
中继配置文件:/etc/sysconfig/dhcrelay
- DHCP配置文件解析.
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600;
max-lease-time 7200;
#ddns-update-style none;
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;
}
host passacaglia {
hardware ethernet 0:0:c0:5d:bd:95;
filename "vmunix.passacaglia";
server-name "toccata.fugue.com";
}
host fantasia {
hardware ethernet 08:00:07:26:c0:a5;
fixed-address fantasia.fugue.com;
}
class "foo" {
match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
}
shared-network 224-29 {
subnet 10.17.224.0 netmask 255.255.255.0 {
option routers rtr-224.example.org;
}
subnet 10.0.29.0 netmask 255.255.255.0 {
option routers rtr-29.example.org;
}
pool {
allow members of "foo";
range 10.17.224.10 10.17.224.250;
}
pool {
deny members of "foo";
range 10.0.29.10 10.0.29.230;
}
}
option domain-name 设置DNS域
option domain-name-server 设置DNS服务器地址
default-lease-time 设置默认租约时间,单位为秒
max-lease-time 设置最大租约时间,单位为秒
log-facility 指定日志设备
ddns-update-style 设定DNS的更新方式
subnet网段声明,作用于整个子网段:
range 设置用于分配的IP地址池
option subnet-mask 设置客户机的子网掩码
option routers参数 设置客户机的默认网关地址
option broadcast-address 设置客户机广播地址
host主机声明,作用于某台主机:
hardware Ethernet 设置目标主机的MAC地址
fixed-address 设置为其分配的保留IP
重启服务,使修改的配置生效
#server dhcpd restart
修改网卡配置,设置DHCP的自动分配方式
#vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
#ifdown eth0
#ifup eth0
注意:配置完成后,记得关闭SELINUX和防火墙
- DHCP服务器端配置
- DHCP客户端配置
- 案例:DHCP中继功能
主机A的IP地址为192.168.1.1,网关为192.168.1.2
主机B的IP地址为eth0:192.168.1.2,eth1:200.200.200.2
主机C网卡设置为DHCP
1、主机A操作步骤如下:
#yum –y install dhcp
#cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
#vim /etc/dhcp/dhcpd.conf
#service dhcpd start
#vim /etc/sysctl.conf
#打开网络转发功能
- 主机B操作步骤如下:
#yum –y install dhcp
#vim /etc/sysconfig/dhcrelay
#service dhcrelay start
- 主机c操作如下:
#vim /etc/sysconfig/network-scripts/ifcfg-eth0
#设置为DHCP
- DHCP主机地址保留
主机A的IP地址为192.168.1.1
主机B网卡设置为DHCP
主机A和主机B在同一个网段
1、主机A的操作步骤如下:
#yum –y install dhcp
#cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample
#vim /etc/dhcp/dhcpd.conf
绑定MAC地址
#service dhcpd restart
2、主机B的操作如下:
#vim /etc/sysconfig/network-scripts/ifcfg-eth0
- DHCP超级作用域
介绍:超级作用域是DHCP服务中的一种管理功能,使用超级作用域,可以将多个作用域组合为单个管理实体。
试验准备:主机A的网卡eth0与主机B的网卡eth0在同一个网段,主机C的网卡eth1与主机B的网卡eth1在同一网段,主机A、B和C关闭防火墙和SELINUX。
- 主机B的操作如下:
#vim /etc/sysconfig/network-scripts/ifcfg-eth0
#vim /etc/sysconfig/network-scripts/ifcfg-eth1
#yum –y install dhcp
#cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
#vim /etc/dhcp/dhcpd.conf
#service dhcpd start
- 主机A的网卡设置
#vim /etc/sysconfig/network-scripts/ifcfg-eth0
#ifdown eth0
#ifup eth0
结果如下图
- 主机C的网卡设置
#ifdown eth0
#ifup eth0
结果如图所示
总结:使用上面那种方法,就在两个网段中分配IP地址,就不需要做DHCP中继,唯一问题是连接两个网段的主机要有足够的网卡,也就是说,一个网卡对应一个网段