Home » , , » Hướng dẫn cài đặt và cấu hình DHCP trên Linux

Hướng dẫn cài đặt và cấu hình DHCP trên Linux


Serial bài viết hướng dẫn quản trị mạng Linux. Phần 3: Cài đặt và cấu hình DHCP trên Linux


chúc các bạn thành công , idconline.vn luôn đồng hành cùng bạn với những

Dịch vụ chính : Thuê máy chủ ,Thuê chỗ đặt máy chủ ( idconline.vn ) ...

Yêu cầu trong bài Lab này:
Hãy đăng nhập vào máy chủ Linux và thực hiện các yêu cầu sau:
1) Thiết lập DHCP server theo các yêu cầu sau:
·         Scope : 192.168.1.50 – 192.168.1.100
·         SubnetMask: 255.255.255.0
·         Getway: 192.168.1.1
·         DNS: 192.168.1.2,8.8.8.8
·         Domain: sinhvienit.net

2) Kiểm tra cổng ứng dụng của DHCP.
3) Xem thông tin thống kê địa chỉ IP đã cấp phát.Hãy đăng nhập vào máy chủ Linux và thực hiện các yêu cầu sau:


Mô hình:


Mô hình cài đặt DHCP server


Mục tiêu
Hướng dẫn các bạn cách cấu hình và quản lý dịch vụ DHCP để cấp phát địa chỉ IP động.

Hướng dẫn:

1. Thiết lập DHCP server

Download mã nguồn của bản DHCP server mới nhất trên linux (Vào thời điểm viết lab)

Code:
# wget ftp://ftp.isc.org/isc/dhcp/dhcp-4.2.2.tar.gz
Giải nén file vừa download về
Code:
# tar -xvf dhcp-4.2.2.tar.gz
Vào thư mục vừa giải nén

Code:
# cd dhcp-4.2.2
Cấu hình tiền biên dịch

Code:
# ./configure
Biên dịch mã nguồn

Code:
# make

Cài đặt

Code:
# make install
Sau khi quá trình cài đặt hoàn tất. Tập tin cấu hình mẫu của dịch vụ DHCP nằm tại “/usr/local/etc/dhcpd.conf”. Ta chép file này sang thư mục /etc/ vì khi dịch vụ chạy sẽ kiểm tra file cấu hình trong thư mục này. Sau đó, ta tiến hành cấu hình DHCP server bằng cách chỉnh sửa file cấu hình nằm tại: /etc/dhcpd.conf

Chép file dhcpd.conf qua /etc

Code:
# cp /usr/local/etc/dhcpd.conf /etc/
Sau đó ta chỉnh sửa

Code:
#vi /etc/dhcpd.conf
Ta lưu ý các thông số sau:

+ Các thông số mặc định sẽ sử dụng cho những subnet ta định nghĩa cấp phát mà không có định nghĩa lại nó sẽ dùng các thông số mặc định đó (*1)


Code:
option domain-name "sinhvienit.net";
option domain-name-servers 192.168.1.1,8.8.8.8;


default-lease-time 600; 
# Thời gian mặc định cho client giữ IP đc cấp
max-lease-time 7200;  
# Thời gian tối đa cho client giữ IP đc cấp
+ Cấu hình cấp phát IP động cho mạng 192.168.1.0/24 dải từ 192.168.1.50 đến 192.168.100. Để làm điều này, bạn thêm vào dưới đoạn trên phần sau

Code:
subnet 192.168.1.0 netmask 255.255.255.0 {


# Dải cấp phát là 192.168.1.50 đến 192.168.1.100, 
# có thể thêm nhiều dải khác bằng cách thêm nhiều dòng
  range 192.168.1.50 192.168.1.100;


# có thể không cấu hình 4 dòng dưới 
# vì giống cấu hình mặc định ở (*1)
  option domain-name-servers 192.168.1.2,8.8.8.8;
  option domain-name "sinhvienit.net";
  default-lease-time 600;
  max-lease-time 7200;


# default gateway mà Client sẽ sử dụng
  option routers 192.168.1.1; 
# Địa chỉ Broadcast của mạng con
  option broadcast-address 192.168.1.255; 
}
+ Ví dụ, IP 192.168.1.55 là IP đẹp, bạn chỉ muốn cấp IP này cho máy của mình hay dùng. Máy đó có địa chỉ MAC của Card mạng là08:00:07:26:c0:a5 thì bạn thêm đoạn sau để làm điều đó

Code:
host MyPC {
  hardware ethernet 08:00:07:26:c0:a5;
  fixed-address 192.168.1.55;
}
Như vậy, ta đã cơ bản hoàn tất quá trình cấu hình DHCP. Trước khi khởi động DHCP server ta cần tạo leases file. Tập tin này dùng để lưu trữ những địa chỉ đã cấp phát cho từng Client và quản lý chúng. (Ta chỉ làm việc này nếu ta cài DHCP từ mã nguồn như bài Lab này)


Code:
# touch /var/db/dhcp.leases
Hoặc dùng lệnh sau nếu máy bạn không thể dùng lệnh trên

Code:
# cat /dev/null > /var/db/dhcp.leases
Ta khởi động dịch vụ DHCP server

Code:
# /usr/local/sbin/dhcpd
Muốn tắt DHCP server ta dùng lệnh

Code:
# killproc dhcpd
Muốn kiểm tra DHCP server chạy chưa ta dùng lệnh

Code:
# ps –A|grep dhcpd
Để DHCPD luôn khởi động khi máy được bật ta gõ lệnh sau

Code:
# chckconfig --level 35 dhcpd on
3: Là chế độ làm việc dòng lệnh
5: Là chế độ làm việc có giao diện đồ họa

Câu lệnh trên sẽ khởi động ssh khi bạn đang chạy ở Run level 3 hoặc 5

2. Kiểm tra cổng ứng dụng của DHCP

Code:
# netstat -npl|grep dhcp
Kết quả


3. Xem địa chỉ IP đã cấp phát

Code:
# cat /var/db/dhcpd.leases
Kết quả



Thử nghiệm:


Dựng 1 máy XP cùng đường mạng với máy Linux vừa cấu hình DHCP server. Trên máy XP này thiết lập cho nhận IP động



Vào Start -> Run -> cmd

Code:
ipconfig    /release
(Để trả IP trước đã nhận nếu có)

Code:
ipconfig    /renew
(Để xin ip mới qua DHCP)


Kết quả:



Lưu ý: 

+ Nếu Card mạng của máy ảo bạn để chế độ liên thông với máy thật (Bridging) thì nên rút cáp mạng giữa máy thật và modem ra rồi thử (Vì nhiều khi máy ảo XP này sẽ nhận đc IP do DHCP của modem cấp chứ không phải do máy ảo Linux ta vừa cài DHCP)

+ Tương tự, Nếu máy thật có cài Firewall thì nên tắt đi khi thử nghiệm vì 1 số loại firewall nó sẽ chặn các gói tin đi từ máy ảo ra hoặc vào.

+ Phải chắc chắn máy XP và máy Linux cài DHCP phải đang cùng trên 1 Switch.

+ Trong kết quả ở hình trên, máy XP đã nhận đúng thông tin như ta cấu hình nhưng có báo lỗi nhỏ ở IP 192.168.1.2 là do máy này chưa cài DNS server nên nó chuyển sang dùng DNS server thứ 2 là 8.8.8.8 như ta đã cấu hình.

+ Bài lab này được thực hiện trên Fedora 14. Bản Fedora này không cài sẵn DHCP server và trong DVD cài đặt Fedora cũng không có file cài đặt DHCP rpm nên chúng ta phải cài đặt bằng source code.

+ Nếu không thể download source và gõ lệnh và script vì quá dài, bạn có thể tham khảo file config mẫu kèm theo Lab và file source code kèm theo Lab để cài.

Tuy nhiên, việc khởi động dhcp server bằng dòng lệnh trên có thể thay thế bằng các lệnh quen thuộc như: service dhcpd start , service dhcpd stop …..
Để làm được việc này, ta cần viết 1 shell script để làm các việc đó và lưu tại /etc/init.d/

Code:
# vi /etc/init.d/dhcpd
Nhập vào nội dung như sau (Nội dung file này có kèm theo Lab):

Code:
#!/bin/sh
#
# dhcpd        Init Script to start/stop dhcpd.
#
# chkconfig:    - 61 39
# description:    If you dont know you shouldnt be here
#
# processname: dhcpd
config_file=/etc/dhcpd.conf
pidfile=/var/run/dhcpd.pid
lease_file=/var/db/dhcpd.leases




# Source function library
. /etc/rc.d/init.d/functions


# Get network config
. /etc/sysconfig/network


  if [ ! -e $config_file ]; then
    echo " No config file at $config_file"
    exit 0
  fi


RETVAL=0


start() {
  if [ ! -e $lease_file ]; then
        echo "  Creating $lease_file"
        touch $lease_file


  elif [ -f $pidfile ]; then
        PID=`cat $pidfile`
        echo "    ISC-DHCPD already running: $PID"
        exit 2;
  else
    echo -n $"Starting ISC-DHCPD: "
    daemon /usr/local/sbin/dhcpd -q 
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/dhcpd        
    return $RETVAL
  fi
}


stop() {
    echo -n $"Stopping ISC-DHCPD: "
    killproc dhcpd
    RETVAL=$?
    echo
[ $RETVAL -eq 0 ] && rm -f /var/run/dhcpd.pid /var/lock/subsys/dhcpd
    return $RETVAL
}


restart() {
    stop
    start
}


reload() {
        echo -n $"Reloading dhcpd: "
        killproc dhcpd -USR2
        RETVAL=$?
        echo
        return $RETVAL
}




case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  status)
    status dhcpd
    ;;
  restart)
    restart
    ;;
  condrestart)
    [ -f /var/lock/subsys/dhcpd ] && restart || :
    ;;
  reload)
    reload
    ;;
  *)
    echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
    exit 1
esac


exit $?
Ta cấp quyền thực thi file script vừa rồi

Code:
#chmod 755 /etc/init.d/dhcpd
Bây giờ ta có thể khởi động dịch vụ DHCP bằng lệnh sau

Code:
# service dhcpd start
Muốn dừng lại ta dùng lệnh

Code:
# service dhcpd stop
Muốn khởi động lại ta dùng lệnh: (Thường sau khi sửa file config)

Code:
# service dhcpd restart
Muốn khởi động lại ta dùng lệnh: (Thường sau khi sửa file config)

Code:
# service dhcpd status

0 nhận xét:

Hotline : 0982 69 52 57

Phòng kinh doanh

  • Hỗ trợ tư vấn dịch vụ 24/7

    * Mr:Quân

    * Holine: 0982.69.52.57

  • Phòng kĩ thuật

  • Mr:Khoa

    * Hotline: 0975 764 428

  • Bài viết được xem nhiều

    Video