Tìm kiếm gói DHCP

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 37)

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 {

# Dai dia chi IP ma may chu DHCP (adsbygoogle = window.adsbygoogle || []).push({});

# 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

option nis9domain "domain.org"; option domain9name "domain.org"; option domain9name9servers 192.168.1.100;

# Thiet lap may chu NTP

# cho cac may khach DHCP su dung

option nntp9server 192.168.1.100;

# Neu xac dinh ro mot may chu WINS cho cac may khach DHCP chay he dieu hanh Windows

# thi can phai cau hinh file dhcpd.conf them phan nay:

option netbios9name9servers 192.168.1.100;

# Cung co the gan dia chi IP cu the dua vao dia chi MAC # cua cac thiet bi nhu may in voi ten la” laser9printer":

host laser9printer {

} } #

# Danh sach cac cong khong su dung khac #

subnet 192.168.2.0 netmask 255.255.255.0 {

}

Bên cạnh đó để có thể gán một địa chỉ IP cho một máy khách dựa vào địa chỉ MAC của thẻ giao diện mạng (NIC<Network Interface Card), sử dụng các tham số để định rõ thẻ giao diện mạng có địa chỉ vật lý là: 00:A0:78:8E:9E:AA sẽ nhận được địa chỉ IP là: 192.168.1.1. Chi tiết như sau:

host apex {

option host9name "apex.example.com"; hardware ethernet 00:A0:78:8E:9E:AA; fixed9address 192.168.1.4; }

(adsbygoogle = window.adsbygoogle || []).push({});

2.2.2.3 Cơ sở dữ liệu cho mượn (lease database)

Trong máy chủ DHCP, file /var/lib/dhcp/dhcpd.leases chứa cơ sở dữ liệu cho máy khách mượn. File này sẽ không được chỉnh sửa bằng tay đươc. Thông tin DHCP lease cho mỗi địa chỉ IP được gán cho máy khách gần đây được lưu vào trong cơ sở dữ liệu này một cách tự động. Thông tin bao gồm chiều dài của file, địa chỉ IP vừa được gán, ngày bắt đầu và kết thúc cho mượn, và địa chỉ MAC của NIC được lấy ra cho mượn. Trục thời gian sử dụng trong cơ sở dữ liệu là GMT – Greenwich Mean Time chứ không phải là thời gian địa phương. Cơ sở dữ liệu theo định kỳ được tạo lại để kích cỡ không quá to lớn. Đầu tiên, tất cả các thông tin được biết sẽ được lưu vào cơ sở dữ liệu tạm thời trong file dhcpd.leases~ thay cho dhcpd.leases, tất cả cơ sở dữ liệu cho thuê tạm thời được viết cho dhcpd.leases.

Các chương trình tiện ích hoạt động phía sau (deamon) có thể bị hỏng hoặc hệ thống bị sụp đổ sau khi cơ sở dữ liệu cho mượn bị thay đổi tên trước khi file mới được tạo ra . Nếu điều này xảy ra, sẽ không có file dhcpd.leases để khởi động các dịch vụ, không thêm vào file cơ sở dữ liệu cho mượn nếu xuất hiện các sự kiện mới. Như vậy tất cả các dữ liệu cho mượn cũ sẽ bị mất và đó là nguyên nhân của nhiều vấn đề phát sinh. Giải pháp chính xác là thay đổi tên dhcpd.leases~ thành dhcpd.leases sau đó khởi động lại hệ thống.

Sau khi hệ thống đã hoạt động, máy chủ đang chạy và đang “nghe” các yêu cầu của các máy khách DHCP. Khi một PC truy nhập vào hệ thống, PC đó sẽ nhận được một địa chỉ IP và các thông tin khác, các thông tin này sẽ tự động được lưu vào trong file

cơ sở dữ liệu cho mượn. Nội dung file đó như sau:

lease 192.168.1.0 {

starts 2 2006/12/11 20:07:05; ends 3 2006/12/12 08:07:05;

hardware ethernet 00:00:e8:4a:2c:5c; uid 01:00:00:e8:4c:5d:31;

client9hostname "Node1"; }

2.3 Khởi động DHCP server

Trước khi có thể khởi động máy chủ DHCP lần đầu tiên, quá trình sẽ không thể thành công nếu như file dhcpd.lease không có. Khi đó để có thể tạo file này sử dụng câu lệnh sau:

[root@dhxd tmp]# /var/lib/dhcp/dhcpd.leases

Khởi động máy chủ DHCP lần đầu tiên sử dụng lệnh chkconfig như sau:

[root@dhxd tmp]# chkconfig dhcpd on

Những lần sau đó để khởi động máy chủ không dùng lệnh trên mà có thể sử dụng 1 trong 2 lệnh sau:

[root@dhxd tmp]# /etc/init/dhcpd start

Hoặc lệnh service dhcpd

[root@dhxd tmp]#service dhcpd start

Để có thể biết thêm các lệnh điều khiển khác nữa nhấn phím Enter trên bàn phím sau khi đã gõ chkconfig dhcpd hoặc /etc/init/dhcpd sẽ xuất hiện hộp thoại như sau:

Hình 2.4: Hộp thoại lệnh “service”

Trong đó:

Start: Khởi động lại máy chủ DHCP, câu lệnh này chỉ có tác dụng khi máy chủ DHCP đã được boot (khởi động lần đầu) và hiện đang tạm dừng hoặc không hoạt động.

Stop: Dừng hẳn sự hoạt động của máy chủ DHCP, lệnh này sẽ dừng tất cả các dịch vụ và hoạt động bên trong hệ thống máy chủ DHCP.

Restart: Khởi động lại quá trình hoạt động của các dịch vụ của máy chủ DHCP, lệnh này có tác dụng với cả hai trường hợp là máy chủ DHCP đang hoạt động hoặc máy chủ DHCP đã dừng hẳn. Bởi quy trình hoạt động của lệnh này là không cấn kiểm tra trạng thái hoạt động của hệ thống như thế nào mà nó sẽ thực hiện theo đúng quy trình đã lập sẵn là: dừng hẳn hệ thống sau đó khởi động lại. Có thể nói lệnh này là tổng hợp của hai lệnh start và stop. Câu lệnh này rất có tác dụng khi cấu hình của máy chủ DHCP có sự thay đổi, khi đó để máy chủ có thể hoạt động chính xác thay vì việc khởi động lại cả máy chủ thì chỉ cần dùng lệnh này là máy chủ DHCP sẽ tự động cập nhật những sự thay đổi giúp hệ thống hoạt động chính xác.

Condrestart: Tương tự như lệnh “restart” nhưng chỉ khởi động lại các PID (Process Identification)

Configtest: Lệnh này có tác dụng kiểm tra lại nội dung cấu hình của hệ thống giúp người quản trị biết được nộii dung cấu hình có chính xác không, đặc biệt là những người mới cấu hình lần đầu. Ở một số phiên bản khác của Linux như Redhat, Debian,… còn hỗ trợ người dùng bằng cách chỉ ra hoặc khoanh vùng lỗi có thể là nguyên nhân khi người quản trị cấu hình không chính xác.

Status: Sử dụng câu lệnh này người quản trị có thể biết được trạng thái hoạt động của máy chủ DHCP chính xác hay không chính xác. Nếu chính xác nó sẽ cho biết số ID của các tiến trình đang hoạt động còn nếu không chính xác thì nguyên nhân có thể là những nguyên nhân nào. Có thể kiểm tra để biết được có những tiến trình nào đang chạy với lệnh sau (khi đó hệ thống sẽ cho biết số ID của những tiến trình nào đang hoạt động)

[root@dhxd tmp]# pgrep dhcpd

là sử dụng công cụ trong cửa sổ “tool service” như sau:

Hình 2.5: C ửa sổ điều khiển DHCP (adsbygoogle = window.adsbygoogle || []).push({});

Để khởi động, dừng hoạt động hay khởi động lại máy chủ DHCP, công việc chỉ đơn giản là kích chuột vào lựa chọn có ghi chú là dhcpd như trong cửa sổ bên trái phía dưới. Tác dụng và hoạt động của các nút start, stop, restart ở phía trái bên trên giống như các lệnh start, stop, restart trong tập lệnh của lệnh [root@dhxd tmp]#service dhcpd hoặc [root@dhxd tmp]# /etc/init/dhcpd. Tuy nhiên, so với việc sử dụng các câu lệnh thì việc sử dụng này không thuận tiện ở chỗ là người quản trị khó có thể biết được các nguyên nhân nếu như họ cấu hình không chính xác.

2.4 Máy chủ DHCP có nhiều NIC

Khi một DHCP cấu hình cho PC để khởi động được, nó yêu cầu một địa chỉ IP từ máy chủ DHCP. Để có thể làm được điều đó nó gửi một bản tin quảng bá tới máy chủ DHCP với địa chỉ nguồn là 255.255.255.255. Nếu máy chủ DHCP trong mạng có nhiều hơn một cổng, khi đó phải thêm một đường cho địa chỉ 255.255.255.255 để nó biết được cổng nào sẽ chịu trách nhiệm gửi lại địa chỉ IP cũng như các thông tin mạng khác cho máy khách vừa có yêu cầu. Nếu không nó sẽ gửi tới defaul gateway (cổng ra mặc định).

Chú ý rằng không thể chạy máy chủ DHCP với nhiều cổng (interface) bởi chỉ có một đường tới mạng 255.255.255.255. Để tạo thêm các đường cho địa chỉ 255.255.255.255 có thể sử dụng một trong hai giải pháp sau:

2.4.1 Giải pháp tạm thời

Câu lệnh này sẽ chỉ cho máy chủ biết cách gửi địa chỉ cũng như các thông tin mạng khác về đúng địa chỉ máy khách. Tuy nhiên, trong bảng định tuyến của các thiết bị định tuyến không biết con đường này mà chỉ máy chủ biết được do vậy sau khi máy chủ DHCP khởi động lại thì những thông tin tạm thời đó sẽ bị mất. Nếu muốn đường mới này vẫn tồn tại sau khi đã khởi động lại hệ thống thì không thể sử dụng phương pháp này mà phải dùng phương pháp lâu dài được trình bày ngay sau đây.

2.4.2 Giải pháp lâu dài

Các phiên bản mới của Linux Fedora sử dụng phương pháp thêm một vài đường tĩnh nhưng không hỗ trợ các dòng dữ liệu chuyển ra ngoài một giao diện mà không xác định rõ từ trước địa chỉ IP của gateway. Gói tin DHCP xác định rõ từ trước địa chỉ 255.255.255.255 không được dùng để gửi tới gateway, nhưng nó sẽ được gửi bằng cách căn cứ vào địa chỉ MAC của máy khách DHCP trong frame Ethernet. Có thể chọn một trong hai cách sau: hoặc là thêm đường bằng thêm lệnh tới tập lệnh:

/etc/rc.local, hoặc là thêm một mục nhập vào file: /etc/sysconfig/static_routes.

#

# File /etc/sysconfig/static9routes #

eth0 host 255.255.255.255

2.5 Cấu hình máy khách để dùng DHCP

Các máy khách phổ biến hiện nay trên thế giới sử dụng chủ yếu là hệ điều hành Windows của tập đoàn Microsoft bên cạnh hệ điều hành Linux. Mặc dù, máy chủ DHCP được cấu hình trong hệ điều hành Linux Fedora như trình bày nhưng may mắn thay mặc định hệ điều hành Windows sử dụng DHCP cho tất cả các NIC do đó không phải thay đổi file cấu hình mà chúng vẫn hoạt động bình thường.

Tuy nhiên, với các máy khách sử dụng hệ điều hành Linux thì mỗi giao diện NIC có thể được cấu hình để nhận được địa chỉ IP bằng cách sử dụng DHCP. Tức là để các máy khách DHCP sử dụng hệ điều hành Linux thì phải cấu hình để hệ thống nhận được NIC và sẽ được trình bày cụ thể hơn ở phần phụ lục của chương 2.

2.6 Sử dụng một máy chủ DHCP cho nhiều mạng.

Như đã đề cập ở các phần trước, các máy khách DHCP gửi yêu cầu để có được địa chỉ IP cùng với các thông số mạng khác với địa chỉ quảng bá trong một mạng giới hạn trong mạng LAN hoặc đoạn mạng có sự phân cách bởi các thiết bị lớp 3 như router. Switch lớp3,…Vậy phải chăng mỗi máy chủ DHCP chỉ có thể phục vụ được các máy khách trong mạng nội bộ của nó?

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 37)