Keết nối dhcp server với client linux

DHCP ( Dynamic Host Configuration Protocol ) hay còn gọi là giao thức cấu hình động máy chủ. DHCP giúp cấp phát địa chỉ IP một cách tự động, trong đó bao gồm các thông số Subnet Mask và Gateway. Dịch vụ DHCP giúp máy tính trong mạng được cấu hình địa chỉ IP một cách tự động, giảm thiểu thời gian cấu hình thủ công. Dịch vụ này đặc biệt hữu ích trong các hệ thống máy tính có hàng trăm, hàng ngàn máy con.

DHCP Server có thể là một thiết bị chuyên dụng như Router, Access Point, cũng có thể là một máy chủ server ( Windows, Linux ). Bài viết này anninhmang.edu.vn sẽ hướng dẫn cho bạn cách cấu hình DHCP server từ máy chủ chạy hệ điều hành CentOS 7Ubuntu.

Máy tính cần chuẩn bị :

  • DHCP Server : CentOS 7 64 bit.
  • DHCP Server : Ubuntu Server 15.04
  • DHCP Client : Ubuntu 17.10.

Lưu ý : không sử dụng đồng thời 2 máy chủ DHCP Server trên một hệ thống mạng. Sử dụng đồng thời 2 máy chủ DHCP sẽ dẫn đến nhiều vấn đề xung đột IP cấp phát, dẫn đến nghẽn hệ thống mạng hoặc máy con sẽ không thể nhận được địa chỉ IP. Sử dụng CentOS 7 làm DHCP Server, đồng nghĩa với việc bạn sẽ phải tắt chức năng cấp phát DHCP trên các thiết bị như Router.

Và thêm một điều quan trọng cần lưu ý nữa, là bạn cần phải cấu hình địa chỉ IP tĩnh cho máy chủ DHCP .

1 – Tiến hành cài đặt DHCP Server CentOS :

Đầu tiên chúng ta cần tiến hành các bước cài đặt DHCP Server trên hệ điều hành CentOS 7 64 bit. Cách cấu hình này cũng có thể áp dụng trên các hệ điều hành CentOS 6.X trở về trước.

Sử dụng tài khoản root. Chạy dòng lệnh :

yum install dhcp

Lúc này hệ thống sẽ tự tìm và cài đặt DHCP. Đợi một khoảng thời gian để hệ thống hoàn thành tiến trình cài đặt.

2- Cấu hình DHCP Server trên CentOS :

Ở những hệ thống CentOS 6.X trở về trước, bạn phải gán card mạng nào bạn muốn chạy dịch vụ DHCP trong file cấu hình nằm ở /etc/sysconfig/dhcpd . Ở bài viết, người dùng chỉ có một card mạng vì vậy card được gán là eth0.

Chú ý : phương thức này không còn được sử dụng trong CentOS 7. DHCP Server sẽ chỉ lắng nghe các truy vấn từ các giao diện mà subnet được khai báo trong dhcpd.conf

Nếu bạn đang sử dụng hệ thống CentOS 6.X, tiến hành chỉnh sửa              file /etc/sysconfig/dhcpd :

vi etc/sysconfig/dhcpd

Gán network interface :

DHCPDARGS=eth0

Lưu và đóng file.

Sau đó, copy file cấu hình DHCP mẫu sang địa chỉ /etc/dhcp/ :

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

Tiến hành chỉnh sửa file dhcpd.conf :

vi /etc/dhcp/dhcpd.conf

Tiến hành chỉnh sửa lần lượt :

Cấu hình domain name và domain name-server :

[...]

# option definitions common to all supported networks...

 option domain-name "anninhmang.edu.vn";

 option domain-name-servers server.anninhmang.edu.vn;

[...]

Nếu máy chủ DHCP Server này là máy chủ chính thức trong hệ thống mạng nội bộ, bạn hãy tìm và bỏ comment dòng này :

[...]

authoritative;

[...]

Cấu hình Subnet, dãy IP,  domain và domain name-server :

[...]

# A slightly different configuration for an internal subnet.

 subnet 192.168.1.0 netmask 255.255.255.0 {

 range 192.168.1.50 192.168.1.100;

 option domain-name-servers server.anninhmang.edu.vn;

 option domain-name "anninhmang.edu.vn";

 option routers 192.168.1.1;

 option broadcast-address 192.168.1.255;

 default-lease-time 600;

 max-lease-time 7200;

 }

[...]

Nếu bạn muốn gán cố định một địa chỉ IP cố định cho một máy cố định, bạn cần phải khai báo địa chỉ MAC address máy muốn gán và địa chỉ IP muốn gán.  Ví dụ, người viết muốn gán địa chỉ 192.168.1.50 cho máy con Ubuntu. Vậy chúng ta sẽ tiến hành chỉnh sửa các dòng sau :

[...]

host ubuntu-client {

 hardware ethernet 90:2B:34:95:74:F1;

 fixed-address 192.168.1.50;

}

[...]

Sau khi tiến hành thay đổi thông số như ý muốn, bạn lưu lại và đóng file. Lưu ý rằng nếu bạn có thêm dư một dòng lệnh nào, hãy comment chúng lại, nếu không có thể bạn sẽ gặp tình trạng không khởi động được dịch vụ DHCP.

Bây giờ bắt đầu tiến hành dịch vụ DHCP và cấu hình cho dịch vụ tự chạy mỗi lần máy khởi động.

Ở hệ thống CentOS 7.x :

systemctl enable dhcpd
systemctl start dhcpd

Ở hệ thống CentOS 6.x:

service dhcpd start
chkconfig dhcpd on

Vậy là xong. Bạn có thể chuyển qua máy con Client để cấu hình Client tự động nhận địa chỉ IP cấp phát từ DHCP Server.

2-  Cài đặt và cấu hình DHCP trên Ubuntu :

Nếu đang sử dụng máy chủ Ubuntu Server, thì phần cấu hình này sẽ dành cho bạn. Nhập vào dòng lệnh sau để tiến hành cài đặt :

sudo apt-get install isc-dhcp-server

Cấu hình DHCP Server trên Ubuntu không quá phức tạp, khá giống với trên CentOS. Đầu tiên chúng ta cần gán Interface sẽ lắng nghe các DHCP request từ máy con trong mạng. Ở bài viết, do chỉ có một Interface, người viết sẽ gán là eth0.

Để tiến hành gán, mở và chỉnh sửa file /etc/default/isc-dhcp-server

sudo vi /etc/default/isc-dhcp-server

Gán network interface :

[...]

INTERFACES="eth0"

Lưu và đóng file lại.

Tiến hành chỉnh sửa tiếp file dhcpd.conf :

sudo vi /etc/dhcp/dhcpd.conf

Chỉnh sửa theo như hướng dẫn :

Đặt tên cho domain và domain name-server :

[...]

# option definitions common to all supported networks...

 option domain-name "anninhmang.edu.vn";

 option domain-name-servers server.anninhmang.edu.vn;

[...]

Nếu máy chủ DHCP Server này là máy chủ chính thức trong hệ thống mạng nội bộ, bạn hãy tìm và bỏ comment dòng này :

[...]

authoritative;

[...]

Cấu hình Subnet, dãy IP,  domain và domain name-server :

[...]

# A slightly different configuration for an internal subnet.

 subnet 192.168.1.0 netmask 255.255.255.0 {

 range 192.168.1.50 192.168.1.100;

 option domain-name-servers server.anninhmang.edu.vn;

 option domain-name "anninhmang.edu.vn";

 option routers 192.168.1.1;

 option broadcast-address 192.168.1.255;

 default-lease-time 600;

 max-lease-time 7200;

 }

[...]

Nếu bạn muốn gán cố định một địa chỉ IP cố định cho một máy cố định, bạn cần phải khai báo địa chỉ MAC address máy muốn gán và địa chỉ IP muốn gán.  Ví dụ, người viết muốn gán địa chỉ 192.168.1.51 cho máy con Ubuntu. Vậy chúng ta sẽ tiến hành chỉnh sửa các dòng sau :

[...]

host ubuntu-client {

 hardware ethernet 90:2B:34:95:74:F1;

 fixed-address 192.168.1.51;

}

[...]

Cũng giống như trên CentOS 7, hãy comment những dòng thừa trong file cấu hình dhcpd.conf để không bị báo lỗi khi tiến hành khởi chạy dịch vụ dhcpd.

Bắt đầu tiến hành Restart dịch vụ DHCP :

Ở Ubuntu 15.04 :

sudo systemctl restart isc-dhcp-server

Ở Ubuntu 14.04 trở về trước :

sudo service isc-dhcp-server restart

Bạn cũng có thể Stop/Start dịch vụ DHCP bằng những dòng lệnh sau :

Ở Ubuntu 15.04 :

sudo systemctl stop isc-dhcp-server

sudo systemctl start isc-dhcp-server

Ở Ubuntu 14.04 :

sudo service isc-dhcp-server stop

sudo service isc-dhcp-server start

3- Cấu hình DHCP Client :

Tiến hành cấu hình để máy con nhận IP từ DHCP Server . Vào Editing connection và chọn Method là Automatic.

Keết nối dhcp server với client linux

Restart máy tính để bắt đầu nhận địa chỉ IP tự động từ DHCP Server.

Bây giờ bạn đã có thể thấy DHCP Client đã nhận được IP từ DHCP Server.

Từ Terminal, nhập vào dòng lệnh :

sudo ifconfig

Keết nối dhcp server với client linux

Như bạn đã thấy, mấy Ubuntu Client đã nhận được địa chỉ IP 192.168.1.51 dành riêng cho địa chỉ Mac 90:2B:34:95:74:F1. Như vậy là chúng ta đã hoàn thành cài đặt DHCP Server trên Linux.

  • DHCP Service
  • DHCP Server
  • Cài đặt và cấu hình DHCP trên Ubuntu Server
  • Cài đặt và cấu hình DHCP trên CentOS