如何快速为100多台主机快速分配IP地址?
如何为移动办公的员工分配主机地址?
DHCP的概念:动态主机配置协议 Dynamic Host Configuration Protocol
我们可以实现的自动分配包括:
--IP地址、子网掩码、广播地址
--默认网关地址
--DNS服务器地址
DHCP的工作过程
配置地址租约的四次回话
如图:
dhcp软件包的主要文件
主配置文件:/etc/dhcpd.conf
执行程序:/usr/sbin/dhcpd
服务脚本:/etc/init.d/dhcpd
执行van书配置:/etc/sysconfig/dhcpd
实验拓扑:
RHEL5.9_A DHCP Server
-------Server1(VM1)---------(VM1) RHEL5.9_B Client
192.168.8.254 Win7 Client
实验要求:
将一台Linux 主机配置为DHCP 服务器,以便为局域网内的办公用机提供自动分配IP地址的服务,以提高网络管理和维护的效率。需要满足的基本要求如下所述。
1.为192.168.8.0/24网段的客户机自动配置网络参数。
用来给客户机自动分配的IP地址范围是:192.168.8.50-192.168.8.100、192.168.8.120-192.168.8.200。
客户机的默认网关地址设为192.168.8.254。
客户机所使用的DNS服务器设为192.168.8.254、202.96.209.133,默认搜索域后缀为pengpeng.com。
将默认租约时间设为8小时,最大租约时间24小时
2.为打印服务器分配保留地址(Win7)
这台打印机每次开启电源后获得的IP地址都应该是192.168.8.8。
3.验证DHCP服务器的IP分配情况、客户机的租约信息
一、首先安装dhcp
1、配置YUM
root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# cp rhel-debuginfo.repo rhel5.9.repo
[root@localhost yum.repos.d]# vim rhel5.9.repo
[root@localhost yum.repos.d]# yum clean all
Loaded plugins: product-id, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Cleaning up Everything
[root@localhost yum.repos.d]# yum list | wc -l
3347
2、安装dhcp
[root@localhost yum.repos.d]# yum -y install dhcp
检查已安装
[root@localhost yum.repos.d]# rpm -q dhcp
dhcp-3.0.5-31.el5_8.1
二、修改配置
[root@localhost ~]# vim /etc/dhcpd.conf
打开配置我们只能看到两行注释,其他什么也没有:
...
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
...
由第二行注释我们可以看出,我们需要通过dhcpd.conf.sample模板,直接来修改
执行末行模式
:r /usr/share/doc/dhcp*/dhcpd.conf.sample
将没有用的备注信息删掉:
ddns-update-style interim; //全局配置参数,一定要保留
subnet 192.168.8.0 netmask 255.255.255.0 { //网段声明
option routers 192.168.8.254; //配置参数
option subnet-mask 255.255.255.0;
option domain-name "pengpeng.com";
option domain-name-servers 192.168.8.254,202.96.209.133;
range dynamic-bootp 192.168.8.50 192.168.8.100;
range dynamic-bootp 192.168.8.120 192.168.8.200;
default-lease-time 28800;
max-lease-time 86400;
host win7 { //主机声明 (保留IP地址给win7)
hardware ethernet 00:0C:29:38:7A:91;
fixed-address 192.168.8.8;
}
}
三、启动服务
启动服务之前,先检查一下配置有无语法错误
[root@localhost ~]# service dhcpd configtest
Syntax: OK
语法没错,但是还是不能启动服务,只有一种可能了,server没配IP地址
[root@localhost ~]# service dhcpd restart
启动 dhcpd: [失败]
检查一下IP地址,果然没有配置
[root@localhost ~]# ifconfig eth0 | grep "inet addr:"
[root@localhost ~]#
配置静态IP地址:
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
# Intel Corporation 82545EM Gigabit Ethernet Controller (Copper)
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:0C:29:F4:AF:6E
ONBOOT=yes
IPADDR=192.168.8.5
NETMASK=255.255.255.0
重启network服务,再次检查IP地址
[root@localhost ~]# service network restart
正在关闭接口 eth0: [确定]
关闭环回接口: [确定]
弹出环回接口: [确定]
弹出界面 eth0: [确定]
[root@localhost ~]# ifconfig eth0 | grep "inet addr:"
inet addr:192.168.8.5 Bcast:192.168.8.255 Mask:255.255.255.0
此时,再开启dhcp服务
[root@localhost ~]# service dhcpd restart
启动 dhcpd: [确定]
[root@localhost ~]# service dhcpd restart
关闭 dhcpd: [确定]
启动 dhcpd: [确定]
正常监听UDP67端口:
[root@localhost ~]# netstat -anpu | grep :67
udp 0 0 0.0.0.0:67 0.0.0.0:* 26404/dhcpd
确保dhcp服务开机启动
[root@localhost ~]# chkconfig dhcpd on
[root@localhost ~]#
四、客户端测试:
因为整个实验都在虚拟机中进行,为了避免实验干扰,需要将虚拟机网络VMnet1 dhcp功能关闭
如图:
linux:
将客户端网卡设置为dhcp自动获取IP地址
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
# Intel Corporation 82545EM Gigabit Ethernet Controller (Copper)
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
HWADDR=00:0c:29:45:a3:22
重启网络服务
[root@localhost ~]# service network restart
正在关闭接口 eth0: [确定]
关闭环回接口: [确定]
弹出环回接口: [确定]
弹出界面 eth0:
正在决定 eth0 的 IP 信息...完成。
[确定]
检查ip地址获取情况
[root@localhost ~]# ifconfig eth0 | grep "inet addr"
inet addr:192.168.8.200 Bcast:192.168.8.255 Mask:255.255.255.0
检查DNS获取情况
[root@localhost ~]# vim /etc/resolv.conf
; generated by /sbin/dhclient-script
search pengpeng.com
nameserver 192.168.8.254
nameserver 202.96.209.133
windows:
按照我们在配置文件中的定义,该win7系统获取到的IP地址应该是保留的192.168.8.8
才算达到我们的预期:
如图:
完全符合预期。
五、检查服务端和客户端租约信息
服务端:
[root@localhost ~]# grep -vE "^#|^$" /var/lib/dhcpd/dhcpd.leases
lease 192.168.8.200 {
starts 2 2014/09/02 05:43:12;
ends 2 2014/09/02 13:43:12;
binding state active;
next binding state free;
hardware ethernet 00:0c:29:45:a3:22;
}
客户端(linux):
[root@localhost ~]# grep -vE "^#|^$" /var/lib/dhclient/dhclient-eth0.leases
lease {
interface "eth0";
fixed-address 192.168.15.132;
option subnet-mask 255.255.255.0;
option dhcp-lease-time 1800;
option routers 192.168.15.2;
option dhcp-message-type 5;
option dhcp-server-identifier 192.168.15.254;
option domain-name-servers 192.168.15.2;
option broadcast-address 192.168.15.255;
option domain-name "localdomain";
renew 3 2014/8/27 03:34:45;
rebind 3 2014/8/27 03:49:38;
expire 3 2014/8/27 03:53:23;
}
lease {
interface "eth0";
fixed-address 192.168.8.200;
option subnet-mask 255.255.255.0;
option routers 192.168.8.254;
option dhcp-lease-time 28800;
option dhcp-message-type 5;
option domain-name-servers 192.168.8.254,202.96.209.133;
option dhcp-server-identifier 192.168.8.5;
option domain-name "pengpeng.com";
renew 2 2014/9/2 09:28:19;
rebind 2 2014/9/2 12:43:12;
expire 2 2014/9/2 13:43:12;
}
本人初学linux,以上为学习中所做的 搭建dhcp服务 的实验,请各位大师指正,谢谢。