I : Cấu Hình DHCP Server Lấy ví dụ là Router của Nhất Nghệ cấu hình thành DHCP Server để cấp IP add cho các client là các máy trong phòng 6 . các ip 6.1 đến 6.20 đặt cho máy rồi nên mình xài Subnet 25 bits , lấy địa chỉ từ 6.128 trở lên . DF-router và DNS lấy là “ máy 200 “ và 210.245.31.130 của FPT . 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> - Cú pháp trên không thay đổi mấy khi cấu hình . - Còn với các Computer thì đơn giản là Set ip và DNS về automatic là xong NhatNghe support team
Tiếp theo III : Cấu Hình DHCP Relay Agent bằng lệnh IP Helper-address Trong mô hình mạng nhiều Subnet , các client không cùng Network với DHCP Server . cần cấu hình DHCP relay Agent để forward DHCPdiscover đến DHCP Server . 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.201 Router1#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 . IV : Cấu Hình Địa Chỉ Đăng Ký Riêng ( Static assign ) Việc này cũng thường phải làm để gán IP cho các Server cần ip static . *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#
Tiếp theo 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:bindsave@192.168.6.199/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://dhcp@192.168.6.199/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:bindsave@172.25.1.1/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:bindsave@172.25.1. 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#