I : Cấu Hình DHCP Server
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#service dhcp
Router1(config)#ip dhcp pool 192.168.6.128/25
Router1(dhcp-config)#network 192.168.6.128 255.255.255.128
Router1(dhcp-config)#default-router 192.168.6.200
Router1(dhcp-config)#dns-server 210.245.31.130
Router1(dhcp-config)#lease 2
Router1(dhcp-config)#exit
Router1(config)#ip dhcp excluded-address 192.168.6.129 192.168.6.140
Router1(config)#ip dhcp excluded-address 192.168.6.200 192.168.6.254
Router1(config)#end
Router1#
Ở đây :
– Service DHCP : khởi tạo dịch vụ DHCP Server .
– IP DHCP Pool : Xác định khoảng địa chỉ mà DHCP server sẽ cấp cho Client . cú pháp là địa chỉ Network liền với /Subnetmask bits . Có thể thay bằng tên Pool rồi xác định khoảng địa chỉ bằng lệnh Network ( ngay sau trong ví dụ )
– Các Options : Default-router tương đương Default-gateway , và DNS server
– Ip dhcp excluded-address : bỏ lại 1 số địa chỉ cho các mục đích sử dụng khác , như các Server – đăng ký riêng địa chỉ tĩnh , địa chỉ của DHCP Server …-à để tránh xung đột về địa chỉ sau này .
– Lease : Thời gian cliet giữ ip add , mặc định là 1 ngày . có thể thay đổi . trên ví dụ là để 2 ngày . Tối đa là 365 ngày 23 giờ 59 phút , tối thiểu là 1 phút . cú pháp : Lease [ngày] [giờ] [phút] _ giờ và phút là các options có hay ko cũng được.
*Các Options
– Các options thường được cấu hình là : default-router ( Default-gateway ) , DNS-server , Lease ….đã có trên ví dụ .
– Sau đây là 1 vài options thêm. ( Chỉ config options được khi ở trong mode DHCP-config – đã vào trong pool )
Router1(dhcp-config)#domain-name [ tên domain ]
Router1(dhcp-config)#netbios-name-server [ tên Wins Server ]
Router1(dhcp-config)#netbios-node-type [ loại node-type ]
Router1(dhcp-config)#client-name [ Tên client à chỉ sử dụng khi đăng ký riêng 1 địa chỉ tĩnh cho client )
Router1(dhcp-config)#host [ địa chỉ đăng ký riêng cho client và Subnetmask ]
Ngoài tên options , các options này còn được định số thứ tự để tiện cấu hình .
1 số options cơ bản và số thứ tự của options :
VD : như trên ví dụ trên cùng ta có thể thay :
Router1(dhcp-config)#default-router 192.168.6.200
Router1(dhcp-config)#dns-server 210.245.31.130
Router1(dhcp-config)#lease 2
Bằng .
Router1(dhcp-config)#option 3 ip 192.168.6.200
Router1(dhcp-config)#option 6 ip 210.245.31.130
Router1(dhcp-config)#option 58 2
1 số options khác :
Router1(dhcp-config)#option 66 ip 10.1.1.1
Router1(dhcp-config)#option 33 ip 192.0.2.1 172.25.1.3
Router1(dhcp-config)#option 31 hex 01
option 66 : TFTP server, option 33 : static routes, và option 31 buộc Client sử dụng ICMP Router Discovery Protocol (IRDP).
* 1 Số Điểm Cần Lưu Ý
– DHCP sử dụng port 67 và 68 , nếu hệt thống có xài tường lửa thì phải mở các port này .
– 1 Số options có thể gán nhiều hơn 1 giá trị . VD là default-router và dns-server . nhưng với option 3 ( default-router ) chỉ nên đặt 1 giá trị .
– Các options có tính thừa kế ( Inherited ) . bởi vậy khi cấu hình nhiều pool cấp địa chỉ cho nhiều subnet thì nên tạo 1 pool “ Cha “ bao gồm các pool “ con “ rồi cấu hình các options chung . sau đó tạo các pool con – có địa chỉ nằm trong pool cha . các options sẽ tự động được thừa kế .
– Nếu pool co có cấu hình cùng options nhưng khác value với pool cha . cấu hình của pool con được ưu tiên hơn .
– Có 1 option duy nhất không được thừa kế , đó là Lease . bởi vậy nếu pool con không cấu hình Lease . option này trả về giá trị DF là 1 (ngày)
– Không nên để giá trị Lease lâu : vì các cập nhật options mới từ DHCP server sẽ chậm được triển khai đến Client . cũng không nên đặt quá ngắn à tăng lưu lượng mạng . Giá trị DF=1 được nhiều người chấp nhận .
II : Cấu Hình DHCP Client
-Việc cấu hình DHCP Client đơn giản hơn nhiều . đơn giản là Set interface của router ở trạng thái DHCP Client là xong . Tuy nhiên, việc này không được khuyên dung cho Router . đơn giản là Router làm nhiều việc quan trọng , nên set địa chỉ tĩnh . vả lại , Client thì nhiều chứ Router thì có bao nhiêu
-Trong 1 số trường hợp , DHCP Server gởi luôn 1 DF route cho Client với AD cao à Client . Router sẽ sử dụng khi Destination không có trong routing table .Nhưng đã nói ở trên , không nên cho Router làm DHCP client nên options này không quan trọng lắm .
-1 Điểm nữa là hiện tại các router làm DHCP client không coi được mình đã nhận được các options gì từ DHCP Server . các IOS sau này có hay không thì chưa biết
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#interface Ethernet0
Router1(config-if)#ip address dhcp client-id Ethernet0
Router1(config-if)#no shut
Router1(config-if)#end
Router1#
Interface Ethernet0 assigned DHCP address 192.168.6.141, mask 255.255.255.128
Router1#
Thông tin về interface sẽ có dạng như vầy :
Router1#show ip interface e0
Ethernet0 is up, line protocol is up
Internet address is 192.168.6.141/25
Broadcast address is 255.255.255.255
Address determined by DHCP
MTU is 1500 bytes
<removed for brevity>
Mô hình DHCP Server cùng net với client , mạng đơn giản thì không cần làm việc này .
Cú pháp cũng rất đơn giản : Trong ví dụ này mình cấu hình Router làm DHCP Server có địa chỉ F0/0 là 192.168.6.201Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#interface Ethernet0
Router1(config-if)#ip helper-address 192.168.6.201
Router1(config-if)#end
Router1#
* 1 Số Diểm Cần Lưu ý
– Interface E0 là interface cùng Lan với DHCP Server .
– Khi 1 Client gởi DHCP Discover , nó dùng địa chỉ Source là 0.0.0.0 và đia chỉ Destination là 255.255.255.255 ( broadcast )
– Khi DHCP Relay Agent nhận được tín hiệu DHCP Discover , nó sẽ thay địa chỉ source của gói tin thành chính nó và địa chỉ đích là DHCP Server xác định trong lệnh ip helper-address . Địa chỉ MAC vẫn là của DHCP Client
– DHCP Server sẽ nhận ra được Subnet mà Client đang ở thông qua địa chỉ mà DHCP relay Agent gán vào . Nó sẽ chọn địa chỉ phù hợp và gởi lại cho DHCP relay agent ( tín hiệu unicast ) . DHCP RA sẽ gởi lại cho client ( qua Mac add trong gói tin )
– Có thể chỉ định nhiều DHCP Server ( mỗi lệnh ip helper-add chỉ định 1 DHCP server ) . khi đó tín hiệu DHCP Discover sẽ được forward đi nhiều hướng . Khi có nhiều hơn Response cho 1 DHCP discover, Client sẽ nhận địa chỉ IP trả về sớm hơn .
– Để coi thông tin về các IP helper-add đã xác định : coi trong output của : sh ip int [ int ]
-1 Lưu ý quan trọng là “ IP helper-add” không chỉ forward DHCP Discover đến DHCP server , các tín hiệu UDP khác cũng sẽ được forward theo ảnh hưởng đến hoạt động của DHCP Server . các tín hiệu UDP được forward bởi IP heler-add :
-Các client chạy Windows phát khá nhiều tín hiệu Netbios , những tín hiệu khác ít xảy ra hơn . Nếu không chặn hết thì nên chặn tín hiệu Netbios không thôi cũng được .
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#no ip forward-protocol udp netbios-ns
Router1(config)#no ip forward-protocol udp netbios-dgm
Router1(config)#no ip forward-protocol udp tftp
Router1(config)#no ip forward-protocol udp nameserver
Router1(config)#no ip forward-protocol udp domain
Router1(config)#no ip forward-protocol udp time
Router1(config)#no ip forward-protocol udp tacacs
Router1(config)#end
Router1#
Có thể thay tên bằng số Port tương ứng phía trên .
*1 Số lưu ý trước khi cấu hình .
– Đương nhiên là việc gán này dựa theo địa chỉ MAC . điểm khác biệt là router cisco xài Client-identifier có gán thêm giá trị 01 trước MAC add ( giá trị 01 được gán cho các interface chạy tốc độ 10/100/1000 )
– Địa chỉ MAC có thể viết liền tù tì , router tự cách ra khỏi lo .
– Phải tạo Pool riêng cho mỗi lần đăng ký địa chỉ tĩnh .
– Nên Exclue sẵn 1 số địa chỉ trong Root Pool cho việc này ( như ví dụ trên cùng )
-Các options sẽ được thừa hưởng từ pool cha, nếu canh thấy okie rồi thì khỏi config nữa …– Trong VD mình lấy địa chỉ MAC card mạng của mình là 009099169EFC . tên là WebServer , ip 6.199 ,DF GW 6.200 , DNS 210.245.31.130 ,Lease 5 ( option này không được thừa kế )
Router1(config)#ip dhcp pool WEB
Router1(dhcp-config)#host 192.168.6.199 255.255.255.128
Router1(dhcp-config)#client-identifier 01009099169EFC
Router1(dhcp-config)#client-name WebServer
Router1(dhcp-config)#default-router 192.168.6.200
Router1(dhcp-config)#domain-name hohoho.com
Router1(dhcp-config)#dns-server 210.245.31.130
Router1(dhcp-config)#lease 5
Router1(dhcp-config)#end
Router1#
V : Lưu Trữ DHCP Database
– DHCP database được lưu trong RAM -> mất đi khi reload . nếu không có lưu trữ về database ở 1 điểm khác . Sauk hi Reload , DHCP Server bắt đầu như trạng thái mới hoạt động à sẽ cấp những địa chỉ mà client còn đang sử dụng ( vì nó có biết ai đang xài địa chỉ gì của nó đâu ) gây ra xung đột ( Conflic ip ) mạng
– Việc cấu hình như VD . ở đây mình lấy FTP Server , TFTP Server và RCP Server đều là 192.168.6.199 . đây là những DV được hỗ trợ , với TFTP ( Có lẽ thông dụng và dễ SD nhất ) thì nhớ bật sẵn TFTP Server lên chờ nó nhé
FTP :
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#ip dhcp database ftp://dhcp:[email protected]/dhcp-r2a ( tên tùy thích )
Router1(config)#end
Router1#
(dhcp:bindsave : user + Pass )
TFTP :
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#ip dhcp database tftp://192.168.6.199/dhcp-r2a
Router1(config)#end
Router1#
RCP :
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#ip dhcp database rcp://[email protected]/dhcp-r2a
Router1(config)#end
Router1#
– Khi đã up data lên data server , 1 khi reload , DHCP server sẽ tự lấy lại data và hoạt động tiếp tục 1 cách bình thường .
– Cấu hình dịa chỉ tĩnh đăng ký cho các server nằm trong NVRAM và không bị ảnh hưởng gì , reload thoải mái không sao
VI : Cấu Hình Nhiều DHCP Trên 1 Subnet
– Bình thường như cấu hình 1 DHCP Server trên 1 subnet vậy thôi . chẳng qua là làm trên 2 cái Router
– Lưu ý 1 chút là vì trên cùng Subnet , Pool giống nhau là đương nhiên . do đó , cần exclue đi 1 phần cho DHCP Server bên kia cấp . Tránh việc 2 DHCP cấp cùng 1 khoảng địa chỉ à Conflic IP ngay .
– Khi up data lên Data Server , đặt tên sao cho dễ nhận ra data nào là của DHCP nào , tiện việc sau này ……
VII : Theo Dõi Trạng Thái DHCP Server
Dùng các lệnh :
–SH ip DHCP Binding : thông tin về các địa chỉ đã cấp , các Mac add của địa chỉ được cấp , thời hạn còn lại ………
–SH ip DHCP Conflic : Tìm coi thằng nào đang xung đột với thằng nào
–SH ip DHCP Database : thông tin về các lần up data lên server
– SH ip DHCP Server Statistics : Chi tiết tỉ mỉ các thứ còn lại ….
-Không muốn DHCP Server ghi lại các sự kiện về xung đột địa chỉ : dùng lệnh
Router(config)#no ip dhcp conflict logging
– Xóa binding database :
Router#clear ip dhcp binding *
Có thể thay * bằng địa chỉ ip nếu muốn xóa 1 entry nào đó thôi .
VIII : Debugging DHCP
-Có 2 lệnh thôi
Router1#debug ip dhcp server events
(output thí dụ )
Router1#debug ip dhcp server events
Sep 15 00:58:17.218: DHCPD: returned 172.25.1.51 to address pool COOKBOOK
Sep 15 00:58:22.566: DHCPD: assigned IP address 172.25.1.51 to client 0100.0103.85e9.
87.
Sep 15 0115.056: DHCPD: writing bindings to ftp://dhcp:[email protected]/dhcp-
leases-rtr1.
Sep 15 0115.132: DHCPD: writing address 172.25.1.51.
Sep 15 0115.148: DHCPD: wrote automatic bindings to ftp://dhcp:[email protected].
1/dhcp-leases-rtr1.
Sep 15 0158.816: DHCPD: checking for expired leases.
Sep 15 01:03:58.841: DHCPD: checking for expired leases.
Sep 15 0158.859: DHCPD: checking for expired leases.
Sep 15 0158.874: DHCPD: checking for expired leases.
Sep 15 01:09:58.885: DHCPD: checking for expired leases.
Sep 15 01:09:58.885: DHCPD: the lease for address 172.25.1.51 has expired.
Sep 15 01:09:58.885: DHCPD: returned 172.25.1.51 to address pool COOKBOOK.
Router1#debug ip dhcp server packet
(output thí dụ )
Router1#debug ip dhcp server packet
Sep 15 01:19:41.211: DHCPD: DHCPDISCOVER received from client 0100.0103.85e9.87 on
interface FastEthernet0/0.1.
Sep 15 01:19:43.212: DHCPD: Sending DHCPOFFER to client 0100.0103.85e9.87 (172.25.1.
51).
Sep 15 01:19:43.212: DHCPD: creating ARP entry (172.25.1.51, 0001.0385.e987).
Sep 15 01:19:43.212: DHCPD: unicasting BOOTREPLY to client 0001.0385.e987 (172.25.1.
51).
Sep 15 01:19:43.216: DHCPD: DHCPREQUEST received from client 0100.0103.85e9.87.
Sep 15 01:19:43.216: DHCPD: Sending DHCPACK to client 0100.0103.85e9.87 (172.25.1.
51).
Sep 15 01:19:43.216: DHCPD: creating ARP entry (172.25.1.51, 0001.0385.e987).
Sep 15 01:19:43.216: DHCPD: unicasting BOOTREPLY to client 0001.0385.e987 (172.25.1.
51).
Router1#