Cấu hình DHCP trên Linux
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. - Hỗ trợ BOOTP client Để 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. 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. Cấu hình DHCP : Cài đặt : #rpm –ivh packagename.rpm Tạo tập tin cấu hình /etc/dhcpd.conf và chỉnh sửa nội dung tập tin này. 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 "your-domain.org"; 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; } } 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 host ns2 { next-server ns2.your-domain.com; hardware ethernet 00:02:c3:d0:e5:83; fixed-address 40.175.42.254; } ấn định máy có địa chỉ MAC là 00:02:c3:d0:e5:83 sẽ có địa chỉ ip là 40.175.42.254. 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. 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| . . 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. 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. File cấu hình của DHCP Server là /etc/dhcpd.conf được đọc