Dịch vụ mạng DHCP trên Linux - cài đặt - cấu hình

Bài viết này mình triển khai dịch vụ DHCP trên Linux. Cách cấu hình và theo dõi, kiểm thử, sử dụng dịch vụ DHCP trên Linux.
Mô hình chung các bạn xem ở Dịch vụ mạng trên linux
1. Giới thiệu DHCP
DHCP (DYNAMIC HOST CONFIGURATION PROTOCOL): Cấp phát địa chỉ IP động, có khả năng cấp phát một cách tự động tất cả các thông số về địa chỉ IP cho những máy tham gia vào hệ thống mạng.
Cơ chế hoạt động DHCP

2. Cài đặt và cấu hình DHCP trên Linux
2.1 Cài đặt
  • Gói cần cài đặt:
     dhcp-*
Kiểm tra xem gói dịch vụ DHCP đã được cài đặt hay chưa:

[root@centos_server ~]# rpm -qa dhcp
dhcp-3.0.1-68.el4             # Gói dhcp-3.0.1-68.el4 đã được cài đặt


Nếu gói dhcp chưa được cài đặt thì chúng ta tiến hành cài đặt. Trên file iso của centOS có tất cả các gói cài đặt. Hoặc các bạn có thể install online
Sau khi gói dhcp được cài đặt nó sẽ tạo ra một file nhưng file này chỉ là file rỗng.Ta có thể tìm thấy file cấu hình mẫu của nó ở đây:
/usr/share/doc/dhcp-3.0.1/dhcpd.conf.sample
2.2 Cấu hình DHCP Server
Để tiến hành cấu hình chúng ta cần copy file cấu hình mẫu dhcpd.conf.sample và đổi tên thành /etc/dhcp.conf

[root@centos_server ~]# cp /usr/share/doc/dhcp-3.0.1/dhcpd.conf.sample /etc/dhcpd.conf

Nội dung file cấu hình dhcpd.conf như sau:

ddns-update-style interim;
ignore client-updates;

subnet172.16.1.0 netmask 255.255.255.0 {

# --- default gateway
option routers 172.16.1.1;
option subnet-mask 255.255.255.0;

option nis-domain "cn08a.info";
option domain-name "cn08a.info";
option domain-name-servers 172.16.1.1;

option time-offset -18000; # Eastern Standard Time
# option ntp-servers 172.16.1.1;
# option netbios-name-servers 172.16.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;

range dynamic-bootp 172.16.1.2 172.16.1.100;
default-lease-time 21600;
max-lease-time 43200;

# we want the nameserver to appear at a fixed address
# **** Phan danh cho cau hinh cap phat IP tinh cho mot so may nhat dinh. ***
host ns {
next-server marvin.redhat.com;
hardware ethernet 12:34:56:78:AB:CD;
fixed-address 207.175.42.254;
}
}


Mô hình sử dụng subnet 172.16.1.0/255.255.255.0 :
Trong đó :
option routers : Khai báo default gateway.
option subnet-mask : Khai báo subnet mask.
option nis-domain : Tùy chọn tên miền chứng thực.
option domain-name : Khai báo Domain.
option domain-name-servers : Khai báo Dns server.
range dynamic-bootp : Khai báo dãy IP cấp phát.
default-lease-time 21600 : Thời gian sống của mỗi IP được cấp.
max-lease-time 43200 : Thời gian sống tối đa của mỗi IP được cấp
Sau khi cấu hình hoàn tất, để những thay đổi có hiệu lực ta cần khởi động lại dịch vụ deamon DHCP thông qua lệnh sau:

[root@centos_server ~]# service dhcpd restart
Shutting down dhcpd: [ OK ]
Starting dhcpd: [ OK ]
Tiến hành kiểm tra dịch vụ đã được cấu hình thành công hay không.

[root@centos_server /]# pgrep dhcpd
8010 #> Chỉ số ID này chứng tỏ dịch vụ đã hoạt động

Để đảm bảo dịch vụ DHCP khởi động cùng hệ thống ta chạy lệnh sau:

[root@centos_server /]# chkconfig dhcpd on

2.3 Theo dõi và sử dụng dịch vụ DHCP
Khởi động máy Client trong mạng để xin IP từ máy DHCP. Quá trình khởi động hoàn tất , dùng lệnh ipconfig /all đối với máy Windows và ifconfig trên máy linux để kiểm tra xem máy này có xin được IP từ máy DHCP không.
Kết quả trả về
Trên client Windows
  • Trên Linux
Để nhận được địa chỉ IP cấp phát từ server cần chỉnh lại thông số BOOTPROTO=dhcp trên card mạng nội bộ qua đường dẫn /etc/sysconfig/network-scripts/ifcfg-eth0.

# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
HWADDR=00:0d:14:l1:12:90

Sử dụng lệnh ifconfig để xem các thông số cấu hình:

Eth0 Link encap:Ethernet HWaddr 00:0C:29:54:88:BA
inet addr:172.16.1.100 Bcast:172.16.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe54:88ba/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:299 errors:0 dropped:0 overruns:0 frame:0
TX packets:119 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:32827 (32.0 KiB) TX bytes:18034 (17.6 KiB)
Interrupt:169 Base address:0x2080

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 vào file log theo đường dẫn /var/lib/dhcp/dhcpd.leases

lease172.16.1.100 {
starts 2 2012/02/28 20:14:44;
ends 3 2012/02/29 02:14:44;
tstp 3 2012/02/29 02:14:44;
binding state active;
next binding state free;
hardware ethernet 00:0d:14:l1:12:90;
}
lease172.16.1.99 {
starts 2 2012/02/28 21:59:09;
ends 3 2012/02/29 03:59:09;
binding state active;
next binding state free;
hardware ethernet 00:0c:29:75:8a:b5;
uid "\001\000\014)u\212\265";
client-hostname "black-fe4062c4f";
}
lease 10.10.10.98 {
starts 2 2012/02/28 23:16:59;
ends 3 2012/02/29 05:16:59;
binding state active;
next binding state free;
hardware ethernet 00:0c:29:95:7a:a4;
}

DHCP server không thể làm làm việc nếu thiếu file dhcpd.leases. Nó được 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.
Vì thế nếu chưa có file này, chúng ta cần tạo ra một file dhcpd.leases rỗng bằng lệnh:

touch /var/lib/dhcp/dhcpd.lease
Video demo mình sẽ gửi cho các bạn có yêu cầu comment để lại email bên dưới.
Update video Demo


Cảm ơn các bạn đã theo dõi
Chúc các bạn vui
Chuyên mục: ,

15 comments:

  1. ac.....k ngờ là thg nhà quê trong cn08a :))))))))

    ReplyDelete
  2. @.@ thằng ma nào đây ? ? ?

    ReplyDelete
  3. chào bạn ,rat cảm ơn bạn đã tận tình tạo bài lap rất hay .nó giup rất nhiều cho những người như mình.Bạn có thể cho minh xin video demo nhe.mail của mình :xuongrong_9490@yahoo.com.vn .

    ReplyDelete
    Replies
    1. Mình gửi rồi. Check mail lấy nha bạn.

      Delete
    2. chào bạn, rất cảm ơn bạn về bài viết. bạn có thế gửi video demo cho mình nữa được ko? cogaibuon.xauxi@gmail.com

      Delete
    3. Bạn check mail lấy nhé !

      Delete
  4. Cam on ve bai viet cua ban,ban gui video cho minh voi nha,qua dia chi mail la pc056c2tc@gmail.com,cam on ban truoc nha

    ReplyDelete
    Replies
    1. Ok ! Mình gửi Video full rồi nhé. Bạn check mail

      Delete
  5. cho em xin video nhé
    tungtq92@gmail.com

    ReplyDelete
  6. bạn oi gui cho minh voi
    cayxanh20005@gmail.com
    thank bạn.

    ReplyDelete
  7. Bạn cho mình xin video với !
    Email:buingoctai19@gmail.com
    Thank!

    ReplyDelete
  8. bạn cho mình xin video với! email:tranngochvan@gmail.com
    cảm ơn bạn

    ReplyDelete