Giới thiệu về DHCP server

Một phần của tài liệu Đồ án xây dựng cấu hình các ứng dụng phía server trong hệ điều hành linux fedora 5 0 (Trang 32)

2.1.1 Khái niệm về DHCP server

Chúng ta biết rằng, để một PC hay các thiết bị mạng có thể truy cập vào mạng Internet nhất thiết PC phải có một địa chỉ IP và mỗi máy tính hay các thiết bị mạng trên thế giới đều có một địa chỉ IP riêng biệt. Việc cấu hình địa chỉ cho PC thật ra là đơn giản, người quản trị chỉ cần nhập địa chỉ IP mà nhà cung cấp dịch vụ ISP (Internet Service Provide) cho PC của mình là xong. Nếu là máy chủ thì bên cạnh địa chỉ IP còn phải có các dữ liệu quản trị cho máy đó. Tuy nhiên, điều khó khăn xuất hiện khi quy mô mạng mở rộng cũng như khoảng cách địa lý giữa các PC trở lên xa hơn nếu người quản trị lại phải đi cấu hình cho từng máy thì công việc trở lên rất khó khăn và mất thời gian, hiệu quả rất thấp. Để giải quyết vấn đề này cấn phải có một giải pháp kỹ thuật sao cho việc cấu hình và quản trị mạng với quy mô mạng với số lượng lớn trở nên đơn giản và hiệu quả hơn đó chính là tiền đề ra đời của DHCP và BOOTP.

DHCP là viết tắt của cụm từ Dynamic Host Configuration Protocol tạm dịch sang tiếng Việt là giao thức cấu hình máy chủ động. DHCP hoạt động với mô hình khách/chủ (client/server), cho phép các máy khách trong mạng nhận được các thông tin cấu hình của máy khách đó từ máy chủ DHCP. Điều này làm cho công việc của người quản trị hệ thống trở nên đơn giản và hiệu quả hơn. Thông tin quan trọng nhất mà một máy khách DHCP nhận được từ máy chủ là địa chỉ IP. DHCP sử dụng UDP – User Data Protocol của tầng giao vận (Transport layer) bởi ưu điểm của UDP là nhanh chóng khác với TCP, tuy TCP chậm hơn nhưng độ tin cậy cao hơn so với TCP. DHCP được tạo bởi nhóm làm việc cấu hình máy chủ động (DHCWG – Dynamic Host Configuration Working Group), đây là một phần của tổ chức IETF (Internet Engineering Task Force). DHCP là một giao thức chuẩn Internet, giao thức DHCP được định nghĩa trong RFC 2131. Các máy khách DHCP gửi các bản tin tới server qua cổng (port) 67, các máy chủ gửi lại cho các máy khách DHCP qua cổng 68.

Các máy khách DHCP có thể là những PC có hệ điều hành phổ biến trên thế giới hiện nay như Microsoft 9x/NT/2000/XP, Solaris, Linux,…Trong mạng phải có ít nhất 1 máy chủ DHCP để quản lý và cung cấp địa chỉ và các thông tin cấu hình khác cho các máy khi có yêu cầu của máy khách. Do vậy, trong mạng có thể có nhiều máy chủ

các máy khách. Địa chỉ cũng như các thông tin mà máy khách nhận được là tạm thời tức là sau một khoảng thời gian nào đó (do người quản trị cấu hình) thì máy chủ sẽ cung cấp một địa chỉ mới cho máy khách đó. Người quản trị mạng cấu hình cho máy chủ DHCP một dải địa chỉ cùng với subnet mask để gán cho các máy khách, bên cạnh đó là còn có các thông tin như địa chỉ máy chủ DNS, địa chỉ WINS server, tên miền. Thêm vào đó, phần lớn các máy chủ DHCP cho phép người quản trị mạng định nghĩa máy khách nào với địa chỉ vật lý MAC được phục vụ và tự động hoạt động khi cần thiết.

2.1.2 Các đặc trưng của DHCP

Có 3 kỹ thuật được sử dụng để gán địa chỉ IP cho một máy khách:

Cấp địa chỉ tự động (automatic allocation): DHCP sẽ gán địa chỉ IP cố định cho máy khách.

Cấp địa chỉ thủ công (manual allocation): Người quản trị mạng định nghĩa địa chỉ IP cho máy khách sau đó DHCP sẽ gán địa chỉ đó cho máy khách.

Cấp địa chỉ động (dynamic allocation): DHCP gán một địa chỉ IP cho máy khách trong một khoảng thời gian cố định và trong giới hạn một dải địa chỉ. Tuy nhiên, trong giới hạn của đồ án này sẽ chủ yếu đi sâu vào kỹ thuật cấp địa chỉ động. Máy chủ DHCP tạo một dải địa chỉ IP và các thông số kết hợp. Khi một máy khách gửi một bản tin tới nhiều máy chủ DHCP và có nhiều máy chủ DHCP có thể phục vụ được nhưng máy khách chỉ có thể nhận các thông tin từ một máy chủ DHCP.

Hình 2.1: Mô hình hoạt động của DHCP

Để có thể hoạt động được các máy khách cần tối thiểu các thông tin dưới đây: < Địa chỉ IP

< Subnet mask

< Tên miền (domain name)

< Default gateway (chỉ các router sử dụng) < DNS (Domain Name Service)

2.1.3 Hoạt động của DHCP

Hoạt động của DHCP chủ yếu diễn ra giữa máy chủ và máy khách bao gồm 5 bước; để có cái nhìn tổng quát, xét trường hợp khi một máy khách gửi yêu cầu và có 2 máy chủ DHCP có thể phục vụ được như sau:

Hinh 2.2: Thiết lập kết nối giữa server và client

Bước 1: Máy khách gửi một bản tin gọi là DHCPDISCOVER với địa chỉ là địa chỉ quảng bá tới tất cả các máy khách trong mạng. Khi đó tất cả các máy trong mạng đều nhận được bản tin này, nếu là các máy chủ DHCP thì chúng sẽ gửi một bản tin trả lời còn nếu là các máy khách DHCP khách chúng sẽ không làm gì cả.

Bước 2: Các máy chủ DHCP sẽ gửi một bản tin gọi là DHCPOFFER với địa chỉ nhận là địa chỉ unicast tới máy khách vừa gửi yêu cầu đó. Khi máy chủ nhận được bản tin quảng bá của máy khách, nó sẽ kiểm tra các dịch vụ trong cơ sở dữ liệu của nó. Nếu máy chủ không thể đáp ứng được yêu cầu của máy khách thì máy chủ có thể gửi tiếp bản tin yêu cầu đó tới một máy chủ khách (phụ thuộc vào nội dung cấu hình ban đầu của người quản trị hệ thống). Ngược lại, nếu máy chủ có thể đáp ứng được yêu cầu của máy khách báo cho máy khách đó bằng bản tin DHCPOFFER.

Bước 3: Máy khách gửi một bản tin DHCPREQUEST với địa chỉ nhận là địa chỉ quảng bá tới tất cả các nút trong mạng: Nếu máy khách tìm thấy lời mời có thể chấp nhận được của một máy chủ nào đó, nó sẽ gửi một bản tin quảng bá DHCPREQUEST để định rõ máy khách đó sẽ nhận các thông tin từ máy chủ nào. Nguyên nhân là bởi vì

khách gây lãng phí tài nguyên mạng, để tránh tình trạng đó máy khách phải gửi một bản tin quảng bá tới tất cả các nút trong mạng. Máy chủ DHCP được chọn thường là máy chủ gửi bản tin DHCPOFFER mà máy khách nhận được sớm nhất.

Bước 4: Máy chủ gửi một bản tin DHCPACK tới máy khách để quá trình gửi các thông tin cần thiết có thể bắt đầu: Nếu máy khách phát hiện ra địa chỉ vừa nhận được đã được dùng trong mạng hoặc địa chỉ không phù hợp thì máy khách gửi tiếp 1 bản tin DHCPDECLINE để khởi động lại quá trình. Nếu máy khách nhận được bản tin DHCPNAK từ máy chủ sau khi gửi bản tin DHCPREQUEST thì quá trình sẽ được khởi động lại.

Bước 5: Máy khách giải phóng địa chỉ: Máy khách sau khi đã nhận được tất cả các thông tin cần thiết nó gửi bản tin DHCPRELEASE tới máy chủ để xác nhận đã nhận đủ các thông tin và quá trình kết thúc.

2.1.4 So sánh BOOTP với DHCP

BOOTP là viết tắt của Bootstrap Protocol, đây là giao thức dùng để cấu hình cho các máy khách trong mạng đấu tiên được phát triển. BOOTP được định nghĩa trong RFC 915 vào năm 1985. Có thể nói DHCP chính là thế hệ “con cháu” của BOOTP, do vậy giữa chúng vẫn có những điểm giống nhau cơ bản như đều hoạt động với mô hình client/server, sử dụng UDP với các cổng 67,68.

BOOTP chỉ hỗ trợ cho các máy khách 4 thông số cơ bản đó là: Địa chỉ IP

Mặt nạ mạng con (subnet mask). Default gateway

Địa chỉ DNS server

Như vậy là BOOTP cung cấp thông tin tĩnh. Khi một máy khách gửi bản tin yêu cầu, máy chủ BOOTP tìm trong dữ liệu của nó để kỉểm tra địa chỉ MAC của máy khách. Nếu máy khách đó có tồn tại thì máy chủ BOOTP sẽ gửi một địa chỉ IP phù hợp cho máy khàch đó. Điều đó có nghĩa là sự tương hợp giữa địa chỉ vật lý MAC và địa chỉ logic IP phải được cấu hình trước trong máy chủ server.

DHCP định nghĩa máy khách nào có thể gán được một địa chỉ IP từ một dải địa chỉ cho trước trong một khoảng thời gian định sẵn, có thể cho phép gán lại chính địa chỉ đó cho một máy khách khác trong thời điểm khác, hoặc máy khách đó sẽ có địa chỉ IP khác nếu như nó được chuyển sang một mạng khác. (adsbygoogle = window.adsbygoogle || []).push({});

BOOTP DHCP

Cấp địa chỉ tĩnh Cấp địa chỉ động

Gán địa chỉ lâu dài Gán địa chỉ tạm thời

Chỉ hỗ trợ được 4 thông số mạng Hỗ trợ được trên 30 thông số Được dùng để gửi một bảng khởi động

hệ thống tới máy khách

Không thể dùng để có thể gửi một bảng khởi động hệ thống tới máy khách.

Bảng 2.1: So sánh DHCP với BOOTH

2.1.5 Cấu trúc gói tin DHCP

Gói tin mà cả phía máy chủ và máy khách sử dụng có cấu trúc định dạng như sau: OP Code Hardware Type Hardware Address

Length

HOPS Transaction ID (XID)

Seconds Flags

Client IP Address (CIADDR) Your IP Address (YIADDR)

Server IP (SIADDR) Gateway IP (GIADDR)

Client Hardware Address (CHADDR) – 16 Bytes Server Name (SNAME) – 16 Bytes

Filename – 128 Bytes DHCP Options

Bảng 2.2: Cấu trúc gói tin DHCP

Trong đó:

OP Code: là mã số tương ứng với các bản tin gửi đi, ví dụ: 1 (Request), 2 (Reply),…

Hardware Type: Kiểu phần cứng, ví dụ như số 1 tương ứng với Ethernet.

Hardware address length: Chiều dài địa chỉ phần cứng là 6 byte ứng với ethernet Hop count: số 0 tương ứng với máy khách

Transaction ID: là số nguyên dùng để so sánh phù hợp giữa reply với response Seconds: khoảng thời gian từ khi máy khách bắt đầu khởi động

Server IP: Địa chỉ IP của máy chủ DHCP Gateway IP: Địa chỉ IP của gateway

Client Hardware Address: Địa chỉ vật lý của máy khách Server Name: Tên máy chủ

Filename – 128 Bytes: Tên file

DHCP Options: Là số tương ứng với các loại bản tin như sau: Giá trị Kiểu bản tin

1 DHCPDISCOVER 2 DHCPOFFER 3 DHCPREQUEST 4 DHCPDECLINE 5 DHCPACK 6 DHCPNAK 7 DHCPRELEASE

Bảng 2.3: Giá trị của các loại bản tin DHCP

2.2 Tìm kiếm và cài đặt gói DHCP

2.2.1 Tìm kiếm gói DHCP (adsbygoogle = window.adsbygoogle || []).push({});

Nói chung việc tìm kiếm và tiến hành cài đặt gói DHCP khá là đơn giản. Để có được gói DHCP có thể có được từ CD.ROM, download trên mạng,…nhưng thuận tiện và tránh những xung đột do sự không tương thích giữa các phần mềm khác nhau là các version khác nhau nên dùng các phần mềm có sẵn trong đĩa CD.ROM. Thực tế ở Việt Nam hiện nay giá cho bộ đĩa hệ điều hành Linux khá rẻ phù hợp với thu nhập đa số người dùng.

Gói DHCP cho hệ điều hành Linux Redhat hoặc Fedora thường có tên như sau: dhcp< 3.0.1rc14<1.i386.rpmhoặc có thể thay đổi chút ít, tuy nhiên cấu trúc của gói luôn có tên bắt đầu là dhcp sau đó là các con số chỉ số version của bản DHCP đó. Cuối cùng là đuôi mở rộng là “.rmp”. Các gói DHCP có thể có được từ mạng Internet, từ các PC khác,…nhưng tất cả đều phải có tên như trên mới đảm bảo hoạt động chính xác. 2.2.2 Cài đặt gói DHCP

2.2.2.1 Cài đặt gói DHCP

Việc cài đặt cũng hết sức đơn giản, khi đã có gói DHCP rồi, trước khi có thể sử dụng DHCP server cần phải tiến hành cài đặt phần mềm server vào PC. Qua bước tìm kiếm gói DHCP ở trên lúc này nó được đặt ở 2 nơi: trên ổ cứng của PC hoặc trong ổ CD. ROM. Sau đây là quá trình cài đặt gói dhcp cho mỗi trường hợp:

a) Sử dụng file trên HDD

Sau khi file RPM đã download được thường có phần đuôi mở rộng là “.rpm”, bước tiếp theo là dùng lệnh: rpm –Uvh để cài đặt gói dhcp. Sau đây ví dụ minh họa các lệnh được sử dụng trong quá trình cài đặt gói dhcp server:

[root@dhxd tmp]# rpm 9Uvh dhcp93.0.1rc1491.i386.rpm Preparing... ####################### [100%] 1: dhcp ################## [100%]

[root@ dhxd tmp]#

b) Sử dụng file trong ổ CD<ROM

Các bước trong quá trình cài đặt RPM từ ổ CD tương tự như khi cài đặt từ ổ cứng HDD. Sự khác nhau chính ở đây là phải truy nhập vào CD.ROM trước khi tiến hành cài đặt bằng cách vào (mounting): /media/disk. Gói RPM sau đó được đặt trong thư mục con CD.ROM’s Fedora/RPMs. Quá trình cụ thể như sau:

Đưa đĩa vào ổ CD.ROM, kiểm tra file trong thư mục: /media/cdrom/Fedora/RPMS và tiến hành cài đặt gói RPM:

[root@ dhxd tmp]# cd /media/disk/Fedora/RPMS [root@ dhxd RPMS]# ls dhcp93.0.1rc1491.i386.rpm

[root@ dhxd RPMS]# rpm 9Uvh dhcp93.0.1rc1491.i386.rpm Preparing... ####################### [100%] 1: dhcp ####################### [100%] [root@ dhxd RPMS]#

Khi quá trình kết thúc, bỏ đĩa CD ra:

[root@ dhxd RPMS]# cd /tmp [root@ dhxd tmp]# eject cdrom [root@ dhxd tmp]#

Để tránh những sai sót có thể gặp phải nên cài đặt dhcp server ngay từ khi cài đặt hệ điều hành

2.2.2.2 Cài đặt file /etc/dhcpd.conf

Khi DHCP khởi động, nó đọc file: “/etc/dhcpd.conf”. Đây là nội dung thông tin về mạng mà máy chủ DHCP lưu trữ và sẽ gửi cho các máy khách DHCP khi máy khách có yêu cầu, gói DHCP RPM không tự động cài đặt file này,nhưng có thể tìm file này theo đường đẫn như sau: /usr/share/doc/dhcp_3.0.3/dhcpd.conf.sample

soạn thảo như: vi, emacs,… sẽ được trình bày rõ hơn trong phần phụ lục của chương này. Đơn giản và tiện dụng hơn nhiều so với hệ soạn thảo trong chế độ câu lệnh, việc sử dụng hệ soạn thảo OpenOfficetrong chế độ đồ hoạ tốt hơn nhiều.

Cú pháp câu lệnh dùng để copy file trong Fedora 5.0 như sau:

[root@ dhxd tmp]#cp /usr/share/doc/dhcp93.0.3/dhcpd.conf.sample /etc/dhcpd.conf

Dưới đây là nội dung của file dhcp.conf, quan trọng nhất là phải có một subnet cho mỗi giao diện (interface) của Linux. Các tuỳ chọn toàn cục có thể được định rõ cho tất cả các máy khách, một số tuỳ chọn khác có thể chỉ có tác dụng cho một số máy khách ở mỗi hệ thống máy khách khác nhau hay nói cách khác là ở các subnet khác nhau. File config có chứa thêm những dòng trống, các câu lệnh được phân cách nhau bởi dấu chấm hỏi (;) và mỗi dòng được bắt đầu bằng dấu thăng (#) thì đó là các lời chú giải. Có 2 kiểu câu câu lệnh trong file cấu hình:

Các tham số: trạng thái để thực hiện một thao tác, tức là các tuỳ chọn cấu hình mạng được gửi tới máy khách.

Các khai báo: mô tả cấu trúc mạng, mô tả các máy khách, cung cấp địa chỉ cho các máy khách, hoặc áp dụng nhóm các tham số tới các khai báo. Vài tham số phải bắt đầu với những từ khoá và được tham chiếu như các tuỳ chọn. Các tham số bao gồm cả các tuỳ chọn được khai báo trước khi một đoạn mã có giới hạn nội dung trong hai dấu móc đơn ( { } ) thì được coi như là các tham số toàn cục. Các tham số toàn cục có ảnh hưởng tới toàn bộ các đoạn trong đó.

Tuy nhiên, để có các tác dụng như mong muốn như trong nội dung file cấu hình vừa biên soạn trước hết phải khởi động lại hệ thống bằng lệnh:

/etc/init.d/dhcpd restart hoặc lệnh service dhcpd restart

Sau đây là nội dung file dhcpd.conf sau khi đã được biên dịch trong hệ điều hành Linux Fedora 5.0:

ddns9update9style interim ignore client9updates

# Dia chỉ mang va mat na cua mang

subnet 192.168.1.0 netmask 255.255.255.0 { (adsbygoogle = window.adsbygoogle || []).push({});

# Dai dia chi IP ma may chu DHCP

# se dung de gan cho cac may khách DHCP nhu cac PC # su dung khi khoi dong

range 192.168.1.201 192.168.1.220;

# Thiet lap thoi gian ma cac may khách DHCP # co the duoc dung mot dia chi IP

default9lease9time 86400; max9lease9time 86400;

# Thiet lap cong vao mac dinh ( default gateway) # cho cac may khach DHCP nhu cac PC

option routers 192.168.1.1;

# Tu choi gui cac yeu cau DHCP (DHCP request) tu # cong NIC nay toi

# bat ky cong NIC nao khac

option ip9forwarding off;

# Thiet lap dia chi quang ba ba mat na mang con # cho cac may khach DHCP su dung

option broadcast9address 192.168.1.255; option subnet9mask 255.255.255.0;

# Thiet lap may chu DNS

# cho cac may khach DHCP co the dung duoc

Một phần của tài liệu Đồ án xây dựng cấu hình các ứng dụng phía server trong hệ điều hành linux fedora 5 0 (Trang 32)