DHCP
服务器在企业网络中的应用
DHCP
服务工作原理
DHCP (Dynamic Host Configuration Protocol)
向DHCP服务器索取新的IP地址
(1)DHCPDISCOVER(DHCP发现)
(2)DHCPOFFER(DHCP提供)
(3)DHCPREQUEST(DHCP请求)
(4)DHCPACK(DHCP确认)
更新IP地址租约
①
重启 DHCPREQUEST
②
50% DHCPREQUEST
③
87.5% dhcpdiscover
(4个步骤)
④
100%
终止使用(169.254.)
DHCP
服务器实现
注意:dhcp服务器需要配置static的ip地址
#rpm -ivh /mnt/cdrom/Server/dhcp-3.0.5-18.el5.i386.rpm
[root@junjie ~]# rpm -qc dhcp
/etc/dhcpd.conf
/etc/rc.d/init.d/dhcpd
/etc/rc.d/init.d/dhcrelay
/etc/sysconfig/dhcpd
/etc/sysconfig/dhcrelay
/var/lib/dhcpd/dhcpd.leases
DHCP
配置文件/etc/dhcpd.conf的格式如下:
选项/参数
#
这些选项/参数全局有效
声明{
选项/参数
#
这些选项/参数局部有效
}
:r /usr/share/doc/dhcp*/dhcpd.conf.sample
Linux作为dhcp客户端获取地址方法:
dhclient –d eth0
案例应用1:DHCP服务器实现
1.
企业实现要求:
某公司现有DHCP服务器,客户端需要自动获取ip地址,在192.168.1.0/24网段,同时为经理电脑分配192.168.1.88地址
2.
案例应用简化拓扑图:
3.
案例实现步骤:
(1)在DHCP服务器上安装相应的软件
# rpm -ivh /mnt/cdrom/Server/dhcp-3.0.5-18.el5.i386.rpm
(2)配置DHCP服务器的ip地址
# vim /etc/sysconfig/network-scripts/ifcfg-eth0
1 # Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
2 DEVICE=eth0
3 BOOTPROTO=none
4 HWADDR=00:0c:29:43:5b:4b
5 ONBOOT=yes
6 NETMASK=255.255.255.0
7 IPADDR=192.168.1.254
8 GATEWAY=192.168.1.1
9 TYPE=Ethernet
重启网络服务:
[root@junjie ~]# service network restart
Shutting down interface eth0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]
(3)配置DHCP服务器
[root@junjie ~]# vim /etc/dhcpd.conf
6 subnet 192.168.1.0 netmask 255.255.255.0 {
8 option routers 192.168.1.1;
9 option subnet-mask 255.255.255.0;
10 option nis-domain "www.junjie.com";
11 option domain-name "www.junjie.com";
12 option domain-name-servers 222.88.88.88,222.85.85.85;
13 range dynamic-bootp 192.168.1.2 192.168.1.87;
14 range dynamic-bootp 192.168.1.89 192.168.1.253;
15 default-lease-time 3600;
16 max-lease-time 7200;
17 host maneger {
18 next-server www.junjie.com;
19 hardware ethernet 00:0C:29:4A:0C:E8;
20 fixed-address 192.168.1.88;
21 }
22 }
(4)检查语法,并启动DHCP服务器
[root@junjie ~]# service dhcpd configtest
Syntax: OK
[root@junjie ~]# service dhcpd start
Starting dhcpd: [ OK ]
(5)客户端测试
普通客户无法获得192.1.1.88,经理可以
经理网卡:00-0C-29-4A-0C-E8获得192.168.1.88
至此,成功。
参考资料:
1.
观察自己的 MAC 可用 ifconfig:
[root@www ~]# ifconfig | grep HW
eth0 Link encap:Ethernet HWaddr 08:00:27:71:85:BD
eth1 Link encap:Ethernet HWaddr 08:00:27:2A:30:14
#
因为有两张网卡,所以有两个硬件地址喔!
# 2.
观察别人的 MAC 可用 ping 配合 arp
[root@www ~]# ping -c 3 192.168.1.254
[root@www ~]# arp -n
Address HWtype HWaddress Flags Mask Iface
192.168.1.254 ether 00:0c:6e:85:d5:69 C eth0
超级作用域
shared-network{
基本作用域1 subnet 范围{…}
基本作用域n subnet 范围{…}
}
DHCP
中继
安装dhcp-3.0.5
编辑/etc/sysconfig/dhcrelay
interface=”
客户接口服务接口”
server=
“dhcp服务器地址”
chkconfig dhcrelay on
ser dhcrelay start
ser dhcrelay configtest
打开数据包转发功能
echo “1”>/proc/sys/net/ipv4/ip_forward
编辑 /etc/sysctl.conf
net.ipv4.ip.forward =1
sysctl -p
清空租约:
vim var/lib/dhcpd/dhcpd.lrases
清除就行
客户的分类
class
“名称”{
match if string
}
案例应用2:DHCP中继代理实现
1.
企业实现要求:
(1)公司现有DHCP服务器,网段1的客户端自动获取192.168.1.0/24网段的ip地址。
(2)因公司需扩大规模,需增加DHCP中继代理服务器,以使网段2的客户端自动获取192.168.2.0/24网段的ip地址。
2.
案例应用简化拓扑图:
3.
案例实现步骤:
(1)安装DHCP服务器
[root@junjie ~]# mkdir /mnt/cdrom
[root@junjie ~]# mount /dev/cdrom /mnt/cdrom/
[root@junjie ~]# cd /mnt/cdrom/Server/
[root@junjie Server]# rpm -ivh dhcp-3.0.5-18.el5.i386.rpm
(2)配置DHCP服务器
[root@junjie ~]# cat /etc/sysconfig/dhcpd
# Command line options here
DHCPDARGS=eth0
[root@junjie Server]# service dhcpd configtest
Syntax: OK
[root@junjie Server]# service dhcpd restart
Starting dhcpd: [ OK ]
(3)
配置DHCP中继服务器的网卡及相关地址
[root@junjie ~]# service network restart
Shutting down interface eth0: [ OK ]
Shutting down interface eth1: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]
Bringing up interface eth1: [ OK ]
[root@junjie ~]# mkdir /mnt/cdrom
[root@junjie ~]# mount /dev/cdrom /mnt/cdrom/
[root@junjie ~]# cd /mnt/cdrom/Server/
[root@junjie Server]# rpm -ivh dhcp-3.0.5-18.el5.i386.rpm
(4)开启
DHCP
中继代理服务器的路由转发功能
[root@junjie ~]# echo "1" > /proc/sys/net/ipv4/ip_forward
[root@junjie ~]# cat /proc/sys/net/ipv4/ip_forward
1
[root@junjie ~]#
(5)配置DHCP中继代理服务器
[root@junjie ~]# vim /etc/sysconfig/dhcrelay
# Command line options here
INTERFACES="eth0 eth1"
DHCPSERVERS="192.168.1.254"
[root@junjie ~]# chkconfig dhcrelay on
[root@junjie ~]# service dhcrelay restart
Shutting down dhcrelay: [ OK ]
Starting dhcrelay: [ OK ]
(6)网络2的客户端测试,
成功从DHCP中继代理服务器上获得地址
至此,案例应用成功。
参考资料:
重点知识:
DHCP (Dynamic Host Configuration Protocol)
可以提供网络参数给客户端计算机,使其自动设定网络的功能;
透过 DHCP 的统一管理,在同一网域当中就比较不容易出现 IP 冲突的情况发生;
DHCP
可以透过 MAC 的比对来提供 Static IP (或称为固定 IP),否则通常提供客户端 dynamic IP (或称为动态 IP);
DHCP
除了 Static IP 与 Dynamic IP 之外,还可以提供租约行为之设定;
在租约期限到期之前,客户端 dhcp 软件即会主动的要求更新 (约 0.5, 0.85 倍租约时间左右);
DHCP
可以提供的 MAC 比对、Dynamic IP 的 IP 范围以及租约期限等等,都在 dhcpd.conf 这个档案当中设定的;
一般的情况之下,使用者需要自行设定 dhcpd.leases 这个档案,不过,真正的租约档案记录是在 /var/lib/dhclient/dhclient-eth0.leases 里面;
如果只是要单纯的 DHCP 服务,建议可以购买类似 IP 分享器的设备即可提供稳定且低耗电的网络服务。
DHCP
服务与 DNS 服务的相关性很高;
若 DHCP 客户端取得 IP 的速度太慢,或许可以找一下有网管 switch 的 STP 设定值
。
DHCP
主要的两种 IP 分配模式为何?
主要的两种分配模式分别为 Dynamic IP 与 Static IP , Static IP 透过 MAC 的比对,至于 Dynamic IP 则是直接取用网域中尚未被使用到的 IP 来进行 Client 端的分配。
在有 DHCP 主机存在的网域当中,且 client 端亦使用 DHCP 来规划客户端的网络参数,那么请问,在该网域当中,Client 端透过 DHCP 取得 IP 的流程为何?
1.
首先, Client 端会发出一个 DHCP 要求封包;
2. server
端接收到要求后,会主动的响应信息给 Client ;
3. Client
若接受该 DHCP 主机所提供的参数,则主机会记录下租约信息,至于 client 端则开始以主机提供的参数设定其网络
DHCP
是如何发送 Static IP 的?可以使用何种指令取得该信息?
DHCP
主要利用网络卡的硬件地址,亦即俗称的『网络卡卡号』,也就是 MAC 来进行 Client 端的比对的,至于主动取得 Client 端的方式,可以透过 ping 以及 arp 来获得。
在 DHCP 服务器的租约档,亦即 /var/lib/dhcpd/dhcpd.leases 当中,记录了什么信息?
这个档案主要记录了
Client
端连上
Server
端的纪录数据,他会被
DHCP
主机用来判定与
Client
端的租约行为喔!
DHCP
的登录档放置于何处?
就是最重要的 /var/log/messages 这个档案啦(预设状况下!)