Posted by : Admin Chủ Nhật, 20 tháng 10, 2013

yêu cầu:
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ụ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 kiểm tra trạng thái của dịch vụ DHCP
Code:
# service dhcpd status
Dữ liệu mẫu mình đính kèm có những thành phần sau:
1. Gói dài đặt dhcp server ở dạng nén .tar.gz
2. File cấu hình dhcpd.conf như trong bài viết hướng dẫn
3. File init script để thực hiện bật tắt dhcpd bằng lệnh service dhcpd ...
<up sau>

Leave a Reply

Subscribe to Posts | Subscribe to Comments

Welcome to My Blog

Tổng số lượt xem trang

Social Icons

Social Icons

List Post

Message From Admin

các bạn có thể tham gia bình luận,góp ý...những bình luận nào mang tính thô tục,chửi bậy..không tốt,admin sẽ xóa không báo trước Thân!

- Copyright © Hệ thống mạng unix/Linix -Robotic Notes- Powered by Blogger - Designed by Johanes Djogan -