DHCP工作流程與簡單配置
阿新 • • 發佈:2019-05-09
文件 等級 請求 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工作流程與簡單配置