linux下dhcp的配置

 

             Linux下dhcp的配置
一.dhcp的介紹
1.做用
爲電腦自動分配ip地址
2.  dhcp做用:
 1>減小管理員的工做量
 2>減少輸入錯誤的可能
 3>避免IP的衝突
 4>當網絡更改IP地址段時,不須要從新配置每臺計算機的IP
 5>提升了IP地址的利用率
3.DHCP動做原理
 1>DHCP的幾個名詞
 DHCP客戶:DHCP客戶是經過DHCP來得到網絡配置參數的Internet主機,一般就是所說的普通用戶的工做站
 DHCP服務器:DHCP服務器是提供網絡設置參數給DHCP客戶的Internet主機
  2>租約的產生
客戶端在啓動時會發生租約的產生過程,它的工做原理可使用下圖來歸納:
 


(1)客戶端請求IP租約.
     在客戶端鏈接上網絡時會在網絡中廣播一個DHCP Discover包,該數據包使用的是UDP的67端口,由於自己尚未IP地址,因此廣播時它的IP地址是:0.0.0.0,目的IP地址是255.255.255.255,該包還包含客戶端的MAC地址和計算機主機名
(2)服務器響應
      當服務器收到客戶端發送的請求IP地址的數據包以後,就會在本身的IP數據庫中查找是否有可用的IP地址,若是有的話,DHCP服務器就廣播一個DHCP Offer包,該數據包使用的是UDP的68端口,源IP地址爲DHCP服務器的IP地址,目的IP地址爲255.255.255.255,發送出去的Offer包內包含的內容有:DHCP客戶端的MAC地址;DHCP服務器提供的合法的IP地址;子網掩碼;租約期限;服務器IP地址
(3)客戶端選擇ip地址
     有時一個網段內會有多個DHCP服務器,也就是說,在客戶端發送Discover時會有多個DHCP服務器響應,這就須要DHCP客戶端選擇一個IP地址來使用,系統規定DHCP客戶端會從接收到的第一個DHCP Offer包中選擇IP地址,而且發送DHCP Request包進行廣播,代表它使用ip地址的服務器,該數據包使用UDP的67端口,源IP地址0.0.0.0,目的IP地址:255.255.255.255
(4)服務器確認
     DHCP服務器在收到DHCP Request包後,會以ACK包向客戶端廣播確認成功,該數據包使用UDP的68端口,源IP爲DHCP服務器IP地址,目的IP爲255.255.255.255,當客戶端收到DHCP ACK後,就使用獲得的IP地址,這時整個租約產生過程就成功結束.

 3>關於租約的更新
 當客戶端從新啓動時客戶端會從新提出租約的租用
 當租約到達50%時,也須要從新更新租約,這裏客戶端直接向服務器端發送DHCP Request包,要求更新租約,若是更新不成功的話,則客戶端會再次等到租約的87.5%時,會再次進行租約的更新,但此次DHCP客戶端是向網絡上全部的DHCP服務器進行廣播來更新現有的租約.
 二.  DHCP的配置
[root@localhost ~]# yum install -y dhcp
Loaded plugins: katello, product-id, security, subscription-manager
Updating certificate-based repositories.
[root@localhost ~]# rpm -ql dhcp
/etc/dhcpd.conf          //dhcp的配置文件
/etc/rc.d/init.d/dhcpd   //dhcp 的啓動腳本
/etc/rc.d/init.d/dhcrelay
/usr/share/doc/dhcp-3.0.5   //幫助文檔/var/lib/dhcpd/dhcpd.leases     //dhcp租約
[root@localhost ~]# vim /etc/dhcpd.conf 
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.sample  
#
[root@localhost ~]# cp /usr/share/doc/dhcp*/dhcpd.conf.sample  /etc/dhcpd.conf 
cp: overwrite `/etc/dhcpd.conf'? y
[root@localhost ~]# vim /etc/dhcpd.conf
ddns-update-style interim;         //定義所支持的DNS動態更新的型{none|adhoc|interim
ignore client-updates;             //allow/ignore容許/忽略客戶機更新DNS記錄
subnet 172.16.0.0 netmask 255.255.0.0 {        //定義dhcp服務的子網
# --- default gateway
        option routers                  172.16.1.1;       / /定義默認路由
        option subnet-mask              255.255.0.0;     //定義分配的子網掩碼
        option nis-domain               "domain.org";
       option domain-name              "domain.org";
        option domain-name-servers      192.168.1.1;    #定義dns地址
        option time-offset              -18000; # Eastern Standard Time
#       option ntp-servers              192.168.1.1;
#       option netbios-name-servers     192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
#       option netbios-node-type 2;
        range dynamic-bootp 172.16.1.20 172.16.1.200;      //ip地址池,從大向小分配ip

        default-lease-time 21600;        //默認租約時間,單位:秒
      max-lease-time 43200;              //最大租約時間
     # we want the nameserver to appear at a fixed address
        host ns {                                     //靜態分配ip
                next-server marvin.redhat.com;
                hardware ethernet 12:34:56:78:AB:CD; // 寫一臺固定機器的mac地址
                fixed-address 207.175.42.254;     //寫這臺機器的ip地址,分配固定ip
        }
}
[root@localhost ~]# /etc/init.d/dhcpd start
Starting dhcpd:                                            [  OK  ]
獲取ip在另一個redhat linux上,把ip設置成dhcp主機的ip地址。[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# ls
ifcfg-eth0    ifdown-isdn    ifup-aliases  ifup-plip    ifup-wireless
[root@localhost network-scripts]# vim ifcfg-eth0 
DEVICE=eth0
BOOTPROTO=dhcp            //這裏改成dhcp方式
HWADDR=00:0c:29:9f:44:0a
ONBOOT=yes
NETMASK=255.255.0.0
IPADDR=172.16.63.3
TYPE=Ethernet
[root@localhost network-scripts]# /etc/init.d/network restart
Shutting down interface eth0:                              [  OK  ]
[root@localhost ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:E6:BA:E8  
          inet addr:172.16.1.200  Bcast:172.16.255.255  Mask:255.255.0.0
          inet6 addr: fe80::20c:29ff:fee6:bae8/64 Scope:Link
   //Ip地址變成了172.16.1.200 
相關文章
相關標籤/搜索