14.4 分配固定IP地址

2023-05-12 11:30 更新

在DHCP協(xié)議中有個(gè)術(shù)語(yǔ)是“預(yù)約”,它用來(lái)確保局域網(wǎng)中特定的設(shè)備總是獲取到固定的IP地址。換句話(huà)說(shuō),就是dhcpd服務(wù)程序會(huì)把某個(gè)IP地址私藏下來(lái),只將其用于相匹配的特定設(shè)備。

要想把某個(gè)IP地址與某臺(tái)主機(jī)進(jìn)行綁定,就需要用到這臺(tái)主機(jī)的MAC地址。MAC地址是網(wǎng)卡上面的一串獨(dú)立的標(biāo)識(shí)符,具備唯一性,因此不會(huì)存在沖突的情況,如圖14-6所示。

圖14-6 查看運(yùn)行Linux系統(tǒng)的主機(jī)MAC地址

在Linux系統(tǒng)或Windows系統(tǒng)中,都可以通過(guò)查看網(wǎng)卡的狀態(tài)來(lái)獲知主機(jī)的MAC地址。在dhcpd服務(wù)程序的配置文件中,按照如下格式將IP地址與MAC地址進(jìn)行綁定。

    host 主機(jī)名稱(chēng) {             
    hardware    ethernet    該主機(jī)的MAC地址;  
    fixed-address   欲指定的IP地址;       
    }               

如果不方便查看主機(jī)的MAC地址,該怎么辦呢?比如,要給老板使用的主機(jī)綁定IP地址,總不能隨便就去查看老板的主機(jī)信息吧。針對(duì)這種情況,劉遄老師告訴大家一個(gè)很好的辦法。我們首先啟動(dòng)dhcpd服務(wù)程序,為老板的主機(jī)分配一個(gè)IP地址,這樣就會(huì)在DHCP服務(wù)器本地的日志文件中保存這次的IP地址分配記錄。然后查看日志文件,就可以獲悉主機(jī)的MAC地址了(即下面加粗的內(nèi)容)。

    [root@linuxprobe ~]# tail -f /var/log/messages 
    Mar 30 05:33:17 localhost dhcpd: Copyright 2004-2013 Internet Systems Consortium.
    Mar 30 05:33:17 localhost dhcpd: All rights reserved.
    Mar 30 05:33:17 localhost dhcpd: For info, please visit https://www.isc.org/software/dhcp/
    Mar 30 05:33:17 localhost dhcpd: Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were not specified in the config file
    Mar 30 05:33:17 localhost dhcpd: Wrote 0 leases to leases file.
    Mar 30 05:33:17 localhost dhcpd: Listening on LPF/eno16777728/00:0c:29:c4:a4:09/192.168.10.0/24
    Mar 30 05:33:17 localhost dhcpd: Sending on LPF/eno16777728/00:0c:29:c4:a4:09/192.168.10.0/24
    Mar 30 05:33:17 localhost dhcpd: Sending on Socket/fallback/fallback-net
    Mar 30 05:33:26 localhost dhcpd: DHCPDISCOVER from 00:0c:29:27:c6:12 via eno16777728
    Mar 30 05:33:27 localhost dhcpd: DHCPOFFER on 192.168.10.50 to 00:0c:29:27:c6:12 (WIN-APSS1EANKLR) via eno16777728
    Mar 30 05:33:29 localhost dhcpd: DHCPDISCOVER from 00:0c:29:27:c6:12 (WIN-APSS1EANKLR) via eno16777728
    Mar 30 05:33:29 localhost dhcpd: DHCPOFFER on 192.168.10.50 to 00:0c:29:27:c6:12 (WIN-APSS1EANKLR) via eno16777728
    Mar 30 05:33:29 localhost dhcpd: DHCPREQUEST for 192.168.10.50 (192.168.10.10) from 00:0c:29:27:c6:12 (WIN-APSS1EANKLR) via eno16777728
    Mar 30 05:33:29 localhost dhcpd: DHCPACK on 192.168.10.50 to 00:0c:29:27:c6:12 (WIN-APSS1EANKLR) via eno16777728

之前我在線下講課時(shí),講完DHCP服務(wù)后總是看到有些學(xué)員在撓頭。起初我很不理解,畢竟dhcpd服務(wù)程序是Linux系統(tǒng)中一個(gè)很簡(jiǎn)單的實(shí)驗(yàn),總共就那么十幾行的配置參數(shù)還能寫(xiě)錯(cuò)?后來(lái)發(fā)現(xiàn)了原因—有些學(xué)員是以Windows系統(tǒng)為對(duì)象做的IP與MAC地址的綁定實(shí)驗(yàn)。而在Windows系統(tǒng)中看到的MAC地址,其格式類(lèi)似于00-0c-29-27-c6-12,間隔符為減號(hào)(-)。但是在Linux系統(tǒng)中,MAC地址的間隔符則變成了冒號(hào)(:)。

    [root@linuxprobe ~]# vim /etc/dhcp/dhcpd.conf 
    ddns-update-style none;
    ignore client-updates;
    subnet 192.168.10.0 netmask 255.255.255.0 {
    range 192.168.10.50 192.168.10.150;
    option subnet-mask 255.255.255.0;
    option routers 192.168.10.1;
    option domain-name "linuxprobe.com";
    option domain-name-servers 192.168.10.1;
    default-lease-time 21600;
    max-lease-time 43200;
    host linuxprobe {
    hardware ethernet 00:0c:29:27:c6:12;
    fixed-address 192.168.10.88;
    }
    }

確認(rèn)參數(shù)填寫(xiě)正確后就可以保存退出配置文件,然后就可以重啟dhcpd服務(wù)程序了。

    [root@linuxprobe ~]# systemctl restart dhcpd

需要說(shuō)明的是,如果您剛剛為這臺(tái)主機(jī)分配了IP地址,則它的IP地址租約時(shí)間還沒(méi)有到期,因此不會(huì)立即換成新綁定的IP地址。要想立即查看綁定效果,則需要重啟一下客戶(hù)端的網(wǎng)絡(luò)服務(wù),如圖14-7所示。

圖14-7 重啟客戶(hù)端的網(wǎng)絡(luò)服務(wù),查看綁定效果

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)