配置Linux系統實現dhcp功能


配置Linux系統實現dhcp功能

1、背景及原理
    DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)通常被應用在大型的局域網絡環境中,主要作用是集中的管理、分配IP地址,使網絡環境中的主機動態的獲得IP地址、Gateway地址、DNS服務器地址等信息,並能夠提升地址的使用率。DHCP協議采用客戶端/服務器模型,主機地址的動態分配任務由網絡主機驅動。當DHCP服務器接收到來自網絡主機申請地址的信息時,才會向網絡主機發送相關的地址配置等信息,以實現網絡主機地址信息的動態配置。

2、環境模擬

    克隆兩台或三台Linux機器,第一台命名為dhcpd作為dhcp服務端,第二台和第三台分別命名為dhcp-client1和dhcp-client2作為dhcp客戶端

3、配置dhcpd服務端

3.1    修改dhcpd服務端的網卡配置文件

eth0 ip 192.168.214.210 網關192.168.214.2(同VMware網關地址)

eth1 ip 192.168.1.1

3.2 清空網卡相關信息

克隆的機器除了修改網卡配置文件(去掉網卡UUID和MAC地址)之外還需要執行命令

> /etc/udev/rules.d/70-persistent-net.rules 清空網卡信息文件

3.3 重啟機器查看ip並檢查能否與外網建立通信

3.4 安裝配置dhcp服務

執行命令yum install dhcp –y安裝dhcp服務相關軟件

3.5 修改dhcp的配置文件

cat /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample |grep -Ev '^$|#'

查看示例,過濾掉注釋和空行

截取紅框部分內容,並修改為此處需要的配置,將配置寫入 /etc/dhcp/dhcpd.conf

subnet 192.168.1.0 netmask 255.255.255.0 {        #網段和子網掩碼

range 192.168.1.100 192.168.1.254;            #可自動獲取的IP地址范圍

option domain-name-servers 223.5.5.5;        #dns服務器名稱

option routers 192.168.1.1;                    #網關地址

option broadcast-address 192.168.1.255;        #廣播地址

default-lease-time 600;                        #默認租約期限,單位秒

max-lease-time 7200;                        #最長租約期限,單位秒

}

3.6 啟動dhcpd服務

4、獲取dhcp並檢驗

4.1 在dhcp-client1上重啟網絡服務

在dhcpd上進行tcpdump指定網卡eth1,指定默認dhcp服務端端口67進行抓包

包含獲取到ip的機器的mac地址,獲取時間,通信記錄等內容

4.2 服務端cat /var/lib/dhcpd/dhcpd.leases查看dhcp緩存

客戶端也可cat /var/lib/dhclient/dhclient-eth0.leases查看dhcp緩存

4.3 在dhcp-client1上重啟網絡服務

通過Windows平台的wireshark抓取名為bootp的包,可以看到相關dhcp信息

第一個包是客戶端向dhcp服務器請求分配IP、dns、默認網關和子網掩碼

第二個包是服務端回應客戶端請求

第三個包是客戶端詢問服務端是否確認該請求信息

第四個包是服務端回應客戶端的確認信息

4.4 此時dhcp-client並不能連接外網,需要在dhcp服務端(dhcpd)做如下配置

修改配置開啟ip轉發功能

vim /etc/sysctl.conf

net.ipv4.ip_forward = 1

sysctl –p        加載內核參數

此時可以ping通192.168.214.210

配置iptables轉發規則nat

iptables –F    

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE

此時可以ping通外網

5、通過dhcp獲取固定分配的ip

若想給某一主機分配固定的IP地址,前提是知道要分配IP地址主機的網卡mac地址(物理地址)和主機名,也能固定為主機分配一個ip地址

5.1 cat /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample |grep -Ev '^$|#'查看示例

修改為此處需要的配置,利用ifconfig查看網卡mac地址

host dhcp-client{

hardware ethernet 00:0C:29:E4:81:9A;

fixed-address 192.168.1.199;

}

5.2 將此內容追加到/etc/dhcp/dhcpd.conf文件中

5.3 /etc/init.d/dhcpd restart 重啟dhcp服務

5.4 在dhcp-client1上重啟網絡服務,查看ip,可以發現已經成功重新獲取到新指定的ip地址

 

博主原創文章,轉載請務必注明出處


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM