如何快速为100多台主机快速分配IP地址?

如何为移动办公的员工分配主机地址?


DHCP的概念:动态主机配置协议 Dynamic Host Configuration Protocol


我们可以实现的自动分配包括:

--IP地址、子网掩码、广播地址

--默认网关地址

--DNS服务器地址


DHCP的工作过程


配置地址租约的四次回话

如图:

wKioL1QFYTWDJ3RSAAFUy1MCNzU373.jpg

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功能关闭

如图:

wKioL1QFYWyivfS2AAJgGuqwnqA518.jpg

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

才算达到我们的预期:

如图:

wKiom1QFYVfCTWp_AAG1KsJQ0vk155.jpg

完全符合预期。

五、检查服务端和客户端租约信息

服务端:

[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服务 的实验,请各位大师指正,谢谢。