Cấp phát IP động

Một phần của tài liệu Giáo trình xây dựng hệ thống mạng nguồn mở (ngành công nghệ thông tin) (Trang 52 - 68)

2.3.1 Single Subnet

2.3.1.1 Khái nim

DHCP (Dynamic Host Configuration Protocol) được sử dụng với muc đích tập trung hoá việc quản lý và ấn định cấu hình TCP/IP của các máy client. Với những đặc điểm thuận lợi giúp cho người quản trị tiết kiệm thời gian trong việc cài đặt và quản trị một hệ thống mạng TCP/IP như sau

- Quản lý việc cấp phát địa chỉ ip cho các máy client khi có yêu cầu.

- Cung cấp những thông tin cấu hình mạng như subnet mask, default router, DNS Server.

- DHCP có thể làm việc thông qua nhiều TCP/IP router và ấn định IP dựa theo subnet mask gửi tới do đó bạn không cần phải cấu hình lại máy tính khi di chuyển qua những subnet khác nhau.

- Địa chỉ ip chỉ được cấp phát trong một khoảng thời gian nhất định, những địa chỉ ip không tiếp tục sử dụng sẽ bị thu hồi lại.

Để sử dụng DHCP bạn cần phải có một DHCP Server đểđápứng (cung cấp địa chỉ ip và thông tin cấu hình mạng) các yêu cầu từ các máy DHCP client gửi tới và ngược lại trên các máy client cung cần phải có DHCP client để gửi các request.

Có thể tóm tắt quá trình hoạt động DHCP request-resspond như sau:

- Lease request: dhcp client gửi broadcast gói tin dhcp request (địa chỉ nguồn là 0.0.0.0, địa chỉđích là 255.255.255.255 và địa chỉ MAC của client) , gói tin này được mở bởi DHCP Server

- Ip lease offer: DHCP Server ấn định cho client địa chỉ ip, subnet mask, domain name, địa chỉ name server, khoảng thời gian mà những thông tin cấu hình này client được phép sử dụng hợp lệ.

- Lease selection: client chấp nhận những thông tin cấu hình được cung cấp và nó gửi sẽ gửi một gói tin broadcast để thông báo với các DHCP Server không cần gửi các thông tin cấu hình khác cho nó nữa.

DHCP Server gửi đến client một gói tin ack và khi đó client đã được cấu hình TCP/IP và hoạt động bình thường

Lease renew: khi sử dụng những thông tin cấu hình được cung cấp đến một nửa khoảng thời gian được phép (default-lease-time) DHCP client nếu muốn tiếp tục sử dụng sẽ gửi một request mới tới DHCP Server.

DHCP là một dịch vụ phổ thông nên đã có sẵn trên mọi distro Linux nên bạn không cần để ý đến việc cài đặt nó. sau đay là một số kiến thức giúp bạn dễ dàng nắm bắt và sử dụng nó.

Một số tuỳ chọn để chạy DHCP Server với mục đích debug.

Có thể sửa đổi port mặc định( port 67) của dhcp với –p flag. Với DHCP reply port thường lớn hơn listen port một giá trị. Ví dụ nếu bạn ấn định cho DHCP Server lắng nghe request ở port 67 thì nó sẽ trả lời client ở port 68.

Có thểấn định DHCP Server chạy dưới dạng foreground process thay vì chạy dưới dạng deamon bằng -f flag.

Chạy DHCP Server với một file config khác (không phải file config mặc định

/etc/dhcp.conf) bạn dùng -cf flag, chạy với một file lease khác bạn dùng -lf flag. File cấu hình của DHCP Server là /etc/dhcpd.conf được đọc và phân tích bởi dhcpd. File gồm một loạt những khai báo và tham số cấu hình.

2.3.1.2 Mt s thiết lp hay được s dng.

shared-network name { [ parameters ]

}

Khai báo một số IP subnet và những tham số khởi động cho những client trên cùng một mạng vật lý.

subnet subnet-number netmask netmask { [ parameters ]

[ declarations ] }

Khai báo những địa chỉ ip và tham số khởi động cho những client trong một subnet cụ thể.

range [ dynamic-bootp ] low-address [ high- address];

Dùng để khai báo những địa chỉ ip mà DHCP Server sẽ cung cấp cho các client.

host hostname { [ parameters ] [ declarations ] }

Được sử dụng cho những BOOTP client (adsbygoogle = window.adsbygoogle || []).push({});

group {

[ parameters ] [ declarations ] }

Được dùng trong những trường hợp bạn muốn ấn định một hay nhiều tham số mạng cho một nhóm client cụ thể.

allow unknown-clients; deny unknown-clients;

Được dùng để điều khiển hoạt động của dhcp với những unknown-clients, mặc định là allow.

allow booting; deny booting;

Được dùng để điều khiển hoạt động của DHCP Server đối với những bootp query của một số client, nó chỉ có ý nghĩa khi nằm trong một khai báo host.

Là khoảng thời gian mà những tham sốấn định của DHCP Server cho client có hiệu lực đối với những client requesting không yêu cầu expiration time.

max-lease-time time;

Là khoảng thời gian lớn nhất mà những tham sốấn định của DHCP Server cho client có hiệu lực đối với những client requesting có yêu cầu expiration time.

Thời gian được tính theo giây

hardware hardware-type hardware-address;

Khai báo loại phần cứng thiết bị mạng và địa chỉ cứng của thiết bị mạng mà client dùng để gửi DHCP request.

Những loại thiết bị mạng thường được hỗ trợ là ethernet, token-ring, fddi.

filename "filename";

Xác định tên file mà client dùng để boot (boot qua mạng).

server-name "name";

Ấn định tên Server mà client có thể boot từ nó

next-server server-name;

Địa chỉ ip Server mà client có thể boot từ nó

fixed-address address [, address ... ];

Được dùng đểấn định một hay nhiều địa chỉ ip cho một client xác định, nó chỉ có ý nghĩa khi nằm trong khai báo host. Thường được dùng trong những trường hợp client hay di chuyển qua những subnet khác nhau.

2.3.1.3 Mt mu file dhcp.conf: ddns-update-style interim; ignore client-updates; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.128 192.168.1.254; option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; option routers 192.168.1.1;

option domain-name "hotec.info";

option domain-name-servers 40.175.42.254, 40.175.42.253; option netbios-name-servers 192.168.1.100;

# option ipforwarding off; default-lease-time 21600; max-lease-time 43200; option time-offset -18000; # option ntp-servers 192.168.1.1; # option netbios-name-servers 192.168.1.1; # option netbios-node-type 2; host ns2 { next-server ns2.your-domain.com; hardware ethernet 00:02:c3:d0:e5:83; fixed-address 40.175.42.254;

}

host laser-printer-lex1 {

hardware ethernet 08:00:2b:4c:a3:82; fixed-address 192.168.1.120;

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

Thông tin cấu hình được áp dụng với subnet 192.168.1.0/255.255.255.0

- range: ấn định giới hạn địa chỉ ip cung cấp cho các client. Bạn có thểấn định nhiều giải địa chỉ ip trong cùng một subnet mask ởđây.

- option subnet mask: ấn định giá trị subnet mask mặc định được sử dụng bởi DHCP client

- option broadcast-address: ấn định giá trịđịa chỉ broadcast mặc định được sử dụng bởi DHCP Client.

- option routers: ấn định địa chỉ routers được sử dụng bởi DHCP client

- option domain-name-servers: ấn định địa chỉ DNS server cho DHCP Client

- option netbios-name-servers: ấn định địa chỉ WINS server

- option ipforwarding off: không cho phép các dhcp request được phép forward qua máy DHCP server (máy dhcp server co nhiều card mạng ).

- default-lease-time và max-lease-time: ấn định khoảng thời gian (tính theo giây) máy client có thể giữđịa chỉ ip

2.3.1.4 DHCP log file

Hoạt động cấp phát địa chỉ ip và thông tin cấu hình mạng của dhcp server sẽ được ghi log vào file /var/lib/dhcp/dhcpd.leases (lease database) để dùng trong những trường hợp service restart hay system reboot nó sẽ vẫn biết được những thông tin cấu hình mà nó đã cấp phát cho client, đảm bảo hệ thống vẫn làm việc bình thường.

Khi DHCP Server chạy lần đầu nó sẽ không có file này, bạn có thểđơn giản tạo một file dhcp.leases trống .

Những mục log trong file này có dạng:

lease ip-address { statements... }

ví dụ:

lease 192.168.1.128 {

starts 2 2004/12/01 20:07:05; ends 3 2004/12/02 08:07:05;

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

client-hostname "Node1"; }

Có nghĩa là máy client có tên host là Note 1, địa chỉ MAC 00:00:e8:4a:2c:5c đã được cấp địa chỉ ip là 192.168.1.128 trong khoảng thời gian 2004/12/01 20:07:05 đến 2004/12/02 08:07:05.

Với mục đích giới hạn kích thước file “lease database” sau một khoảng thời gian nó sẽ được đổi tên thành /var/lib/dhcp/dhcpd.leases~ và một file /var/lib/dhcp/dhcpd.leases mới sẽđược tạo

Với những mạng LAN được phân cách bởi router bạn phải config để router cho phép relay những DHCP request.

Tương tựnhư những dịch vụ bạn có thể sử dụng DHCP thông qua script khởi động của nó.

/etc/init.d/dhcpd start|stop|status|...

Hoặc: service dhcpd start/stop/restart/status/….

2.3.1.5 Quy trình cài đặt và cu hình dhcp

Thường thì dịch vụ này đãđược setup khi ta cài đặt OS linux theo chuẩn server. Nếu hệ điều hành chưa cài đặt dịch vụ DHCP thì ta phải download gói cài đặt dạng

rpm về sử dụng. Hoặc sử dụng gói có sẵn trong đĩa cài đặt thư mục Centos version dhcp-3.0.1rc14-1.i386.rpm.

Giả dụ tôi sử dụng gói cài đặt trong đĩa vài đặt thì sẽ có các bước sau:

mkdir /media/cdrom # to thư mc s mmount ti cdrom (adsbygoogle = window.adsbygoogle || []).push({});

mount /dev/cdrom /media/cdrom # mount cdrom vào thư mc va to

cd /media/cdrom/Centos/ # chuyn vào thư mc cha các gói cài đặt

Cuối cùng là cài đặt gói dhcpd

#rpm -ivh dhcp-3.0.1rc14-1.i386.rpm

Sau khi hoàn tất xong quá trình cài đặt, bật dịch vụ DHCP lên, nó tựđộng đọc tập tin /etc/dhcpd.conf, nhưng theo mặc định gói cài đặt này không tự tạo ra file /etc/dhcpd.conf. Mà chúng ta sẽ tạo và cấu hình để dịch vụ này có thể hoạt động theo ý muốn của chúng ta.

Thường thì tập tin này ta copy từ tập tin

/usr/share/doc/dhcp-x.x.x/dhcpd.conf.sample

Sử dụng lệnh sau:

cp /usr/share/doc/dhclient-

3.0.1/dhclient.conf.sample /etc/dhcpd.conf

Soạn hoặc copy chỉnh sữa file cấu hình /etc/dhcpd.conf :

# tt chế độ auto update ddns-update-style interim; ignore client-updates;

subnet 192.168.0.0 netmask 255.255.255.0 {

#KHAI BÁO SUBNET MI BNG CÁCH COPY NGUYÊN ĐON TRONG DU KÉP NÀY

# Khai báo default gateway

option routers 192.168.0.1; #TÙY CHỌN NẾU TRONG MÁY CÓ GATEWAY

# Khai báo subnet mask

option nis-domain “domain.org”; #TÙY CHN TÊN MIN CHNG THC

option domain-name “domain.org”; # Khai báo Domain option domain-name-servers 192.168.1.1; # Khai báo Dns server

option time-offset -18000; # Eastern Standard Time option ntp-servers 192.168.1.1;

option netbios-name-servers 192.168.1.1; option netbios-node-type 2;

# Khai báo dãy IP cp phát

range dynamic-bootp 192.168.0.128 192.168.0.254; # Thi gian sng ca mi IP được cp

default-lease-time 21600; max-lease-time 43200;

# Phn dưới dành cho cu hình cp phát IP tĩnh cho mt s máy nht định s gii thích bên dưới

host ns {

next-server marvin.redhat.com;

hardware ethernet 12:34:56:78:AB:CD; fixed-address 207.175.42.254;

} }

Sau khi chỉnh sữa trong file cấu hình ta phải khởi động lại dịch vụ: (adsbygoogle = window.adsbygoogle || []).push({});

/etc/rc.d/init.d/dhcpd restart Hay service dhcpd restart

Cho phép DHCP tựđộng khởi động khi boot :

chkconfig dhcpd on

Quay lại vấn đề hỗi này tôi chưa giải thích ởđoạn cuối cấu hình dhcpd.conf

2.3.2 Multi Subnet

Trường hợp một máy chủ DHCP cung cấp IP cho nhiều mạng kết nối với một server hoặc cấp IP xuyên qua một router đến một mạng khác ta phải cấu hình nhiều subnet trong file cấu hình dhcp.conf. Một mẫu cấu hình như sau:

default-lease-time 600; max-lease-time 7200; subnet 10.0.0.0 netmask 255.255.255.0 { option subnet-mask 255.255.255.0; option routers 10.0.0.1; range 10.0.0.5 10.0.0.15; } subnet 172.16.0.0 netmask 255.255.255.0 { option subnet-mask 255.255.255.0; option routers 172.16.0.1; range 172.16.0.5 172.16.0.15; }

Tất cả các cấu hình của từng Subnet trên một Multi Subnet đều có cấu trúc của một Subnet. Mô hình 3 nhánh mạng: Server DC, DNS DHCP ROUTER PC2 Auto PC1 Auto .1 .2 .254 IP: 192.168.10.254 SN: 255.255.255.0 GW: 192.168.10.1 DNS: 192.168.10.254 PC3 Auto .3 GW: 192.168.10.1 255.255.255.0 GW: 172.16.20.2 255.255.255.0 GW: 10.10.30.3 255.255.255.0

Hình 2.28-Mô hình 3 nhành mạng cấp xuyên Router

Máy chủ DHCP nằm ở nhánh mạng có net_id: 192.168.10.0/24 cấp IP cho 3 nhánh mạng 192.168.10.0, 172.16.20.0 và 10.10.30.0 (/24). Vậy cơ sở dữ liệu cấu hình được khai báo gồm 3 subnet. Ví dụ một file cấu hình dhcpd.conf cấp IP cho 3 mạng như sau:

# Network_1: 192.168.10.0/24

option routers 192.168.10.1;#GW option subnet-mask 255.255.255.0; option domain-name-servers 192.168.10.254; option time-offset -18000; range dynamic-bootp 192.168.10.100 192.168.10.200; default-lease-time 21600; max-lease-time 43200; } # Network_2: 172.16.20.0/24 subnet 172.16.20.0 netmask 255.255.255.0 { option routers 172.16.20.2;#GW option subnet-mask 255.255.255.0; option domain-name-servers 192.168.10.254; option time-offset -18000; range dynamic-bootp 172.16.20.51 172.16.20.150; default-lease-time 21600; max-lease-time 43200; } #Network_3 subnet 10.10.30.0 netmask 255.255.255.0 { option routers 10.10.30.3;#GW option subnet-mask 255.255.255.0; option domain-name-servers 192.168.10.254; option time-offset -18000; range dynamic-bootp 10.10.30.100 10.10.30.200; default-lease-time 21600;

max-lease-time 43200; }

Hoạt động:

- Khi một máy trong mạng xin IP nó sẽ broadcast trên toàn mạng để mong nhận được câu trả lời từ DHCP Server. Nhánh 192.168.10.0/24 nằm cùng mạng với máy chủ DHCP nên sẽ tìm thấy máy chủ và xin được IP

- Nhánh 172.16.20. và 10.20.30. nằm ngoài đường mạng thì phải qua một đơn vị đại diện xin cấp phát IP. Đơn vị này sẽ nhận yêu cầu và chuyển yêu cầu đó đến Server DHCP chỉ định và đúng đường mạng mà máy yêu cầu gởi đến.

Một DHCP multi subnet thường trang bị cho các mạng có nhiều nhánh và liên lạc với nhau thông qua router có dhcp relay agent

2.3.3 IP reservation

2.3.3.1 Địa ch DHCP dành sn là gì?

Địa chỉ IP dành sẵn là một dải địa chỉ IP được gán cốđịnh. Nó là dải địa chỉ IP được tạo ra trong một phạm vi (scope) dành riêng, dải địa chỉ IP dành riêng này được dùng để gàn cho các máy Client (Chúng là các địa chỉ IP tĩnh trong mạng được gán cho các máy client).

Một dải địa chỉ IP dành sẵn bao gồm có các thông tin sau

- Reservation Name: Là tên được gán bởi nhà quản trị.

- IP Address: Là phạm vi dải địa chỉ IP được gán cho các máy Client.

- MAC Address: Là địa chỉ MAC của mỗi thiết bị mà bạn muốn dành sẵn một địa chỉ IP cho nó.

- Description: Những mô tả do nhà quản trịđưa ra.

- Supported Type:Kiểu hỗ trợ này có thế là: DHCP dành sẵn, BOOTP dành sẵn, hoặc cả hai.

2.3.3.2 Cu hình IP dành riêng:

Vị trí đặt IP dành riêng nằm sau các options trong một subnet (scope) theo cấu trúc mô tả ở trên.

host ns2 { (1)

next-server ns2.hotec.info; (2) (adsbygoogle = window.adsbygoogle || []).push({});

hardware ethernet 00:02:c3:d0:e5:83; (3) fixed-address 172.16.10.254; (4)

}

Giải thích cấu trúc khai báo IP dành sẵn:

- Dòng (1): khai báo tên của máy có IP dành riêng, hay còn gọi là tên của vùng khai báo IP dành sẵn. thường khai báo gợi nhớ bằng tên máy được gán IP.

- Dòng (2): khai báo tên FQDN của máy được gán IP

- Dòng (3): ghi nhận địa chỉ MAC của máy cần gán IP dành sẵn

- Dòng (4): xác định địa chỉ IP gán cho MAC tươngứng ở dòng (3)

Ví dụ trên cho biết: Ấn định máy có địa chỉ MAC là 00:02:c3:d0:e5:83 sẽ có địa chỉ ip là 172.16.10.254. Như vậy máy này sẽ luôn được gán IP 172.16.10.254 mỗi khi nó yêu cầu IP.

host laser-printer-lex1 {

hardware ethernet 08:00:2b:4c:a3:82; fixed-address 192.168.1.120;

}

Ấn định cho máy in có địa chỉ MAC 08:00:2b:4c:a3:82 sẽ có địa chỉ ip là 192.168.1.120.

2.3.4 DHCP relay Agent

2.3.4.1 Gii thiu:

DHCP Relay Agent là bộ trung chuyển DHCP Discover/DHCP Request đến DHCP Server. DHCP Relay Agent cho phép forward các truy vấn của Client đến DHCP server và trả lại IP cho Clients (làm nhiệm vụnhư Proxy).

Trong trường hợp Client và DHCP Server không nằm cùng subnet và được kết nối qua bộ định tuyến (router) thì cần phải có giải pháp cho phép truy vấn từ Client vượt qua router để đến DHCP Server (như bạn biết thì Router sẽ chặn các gói tin Broadcast, mà gói tin DHCP Discovery được gửi lúc đầu bởi Client lại là thuộc dạng Broadcast). Trong trường hợp này, DHCP Relay Agent (tác nhân chuyển tiếp DHCP) được sử dụng. DHCP Relay Agent là một thực thể trung gian cho phép chuyển tiếp (relay) các DHCP Discover (hoặc DHCP Request), mà thường bị chặn ở ngay router, từ DHCP Client đến DHCP Server.

2.3.4.2 Mô hình:

Trong bài này, mình sử dụng mô hình đơn giản. Bao gồm: 1 DHCP Server, 1 DHCP Relay Anget, 2 máy Client thuộc 2 Subnet khác nhau cần xin IP.

Hình 2.29-Mô hình DHCP Relay Agent trên Router

Trong bài này: DHCP Server và DHCP Relay Agent mình sử dụng hệđiều hành CentOS. Hai máy Client xin IP sử dụng hệ điều hành Windows. Dãy IP được cấp

Một phần của tài liệu Giáo trình xây dựng hệ thống mạng nguồn mở (ngành công nghệ thông tin) (Trang 52 - 68)