1. 程式人生 > >DHCP工作流程與簡單配置

DHCP工作流程與簡單配置

文件 等級 請求 etc 監聽 定義 dhcp服務 大量 gateway

一、前言

      當我們面對局域網中大量的主機需要配置ip地址時,手動配置很
難保證各主機ip不會產生沖突,為了能夠有序、自動配置局域網的ip
地址需要用到DHCP,該協議能實現ip地址的自動配置,並且對分配出
去的ip地址進行記錄。

二、與DHCP相關的參數

    DHCP: Dynamic Host Configuration Protocol 主機動態配置協議
    IP/Netmask      能與其他主機通信的必要條件
    Gateway          與外網通信經過網關
    DNS Server     域名解析服務,可解析域名ip訪問主機

三、DHCP的工作流程

bootp: boot protocol --> dhcp
DHCP請求流程
ARP:IP-->MAC   該廣播協議中知道目標ip地址請求mac
RARP:MAC-->IP 該廣播協議中知道自己的MAC請求獲取ip
    1、Client: dhcp discover:客戶端在局域網中用廣播尋找
    DHCP服務器。
    2、Server: dhcp offer:(IP/netmask, gw):服務器收到廣播後
    響應客戶端,告知其ip/netmask和gw。
    3、Client:dhcp request :客戶端收到dhcp的ip和gw後
    用RARP對其發起IP獲取請求。
    4、Server: dhcp ack:服務器收到請求後在自己的可用ip列表挑選
    一個ip給客戶端,同時對其進行等級。

    續租:
    DHCP服務器對分配出去的地址實行租約形式
    一般形式如下:
        2hours:列如服務器規定租約期限是2小時
            50%: 1hours --> 2hours  :
            當我們使用了1小時(每50%請求一次),客戶端就
            向服務端發出續租請求,如此直到續租成功。
            75%: 0.5hours --> 2hours 
            87.5%: 0.25hours --> 2hours

            dhcp discover:如果續租不成功,就再次執行dhcp
            服務器發現命令

        Client: dhcp request
        Server: dhcp ack

        Server: dhcp nak

四、Linux DHCP協議的實現程序:dhcp, dnsmasq

    dhcp:
        1、/usr/sbin/dhcpd   DHCP服務器程序
            配置文件
            /etc/dhcp/dhcpd.conf --> /etc/rc.d/init.d/dhcpd
            /etc/dhcp/dhcpd6.conf --> /etc/rc.d/init.d/dhcpd6
        2、/usr/sbin/dhcrelay  DHCP中繼服務器
        配置文件
            /etc/rc.d/init.d/dhcrelay

        67/udp                服務器監聽端口
        dhclient: 68/udp 客戶端監聽端口

    3、配置文件
        dhcpd.conf:
        常用選項
        option :用於指明除ip和掩碼外的其他選項,可以在全局中
        定義也可以在subnet定義
        default-lease-time 600 :默認租約時間
        max-lease-time    7200 :最大租約時間
        subnet  172.16.0.0 netmask 255.255.0.0 {
            range 172.16.100.151 172.16.100.170
            option routers 172.168.100.1
            ...
        } :作用域,指定一個子網,該處為子網為172.16.0.0(一定是
        當前主機所在的網絡)子段內的主機分配ip,分配的ip範圍是,
        起172.16.100.151到 172.16.100.170,並且為其指定網關是
        172.168.100.1。

        host {

        }

     4、查看地址分配記錄
     cat /var/lib/dhcpd/dhcpd.leases

    5、其它配置選項:
        filename: 指明引導文件名稱;
        next-server:提供引導文件的服務器IP地址;

        filename "pxelinux.0";
        next-server 172.16.100.67;

DHCP工作流程與簡單配置