Home / Lập Trình / Hướng dẫn cài đặt PXE Server (DHCP+Xinetd+TFTP) từ source code

Hướng dẫn cài đặt PXE Server (DHCP+Xinetd+TFTP) từ source code

Hướng dẫn cài đặt PXE Server (DHCP+Xinetd+TFTP) từ source code

Để cài đặt một hệ điều hành mới, thông thường bạn có thể sử dụng CD-ROM hay USB để tiến hành cài đặt. Nhưng với môi trường doanh nghiệp, bạn không thể cài đặt nhiều máy bằng cách này vì sẽ tốn thời gian chờ đợi.Thông thường, IT sẽ cài đặt OS mới cho các máy qua PXE Server hay nói nôm na là cài qua mạng. Bài viết này sẽ hướng dẫn cài đặt PXE Server chạy trên nền hệ điều hành CentOS.

1. Chuẩn bị:

2. Cài đặt: Giả sử bạn sẽ cài đặt toàn bộ các gói trên vào thư mục /opt/pxeserver và các gói trên hiện đặt tại/root

a. Cài đặt DHCPD

  • tar -xzvf dhcp-4.2.5-P1.tar.gz
  • cd dhcp-4.2.5-P1
  • ./configure –prefix=/opt/pxeserver
  • make
  • make install
  • Sau khi đã build thành công, bạn tiến hành test xem liệu dịch vụ dhcpd có hoạt động tốt không bằng cách tạo 1 file dhcpd.conf tại thư mục /opt/pxeserver/etc/dhcpd.conf với nội dung sau
  • allow booting;
    allow bootp;
    option option-128 code 128 = string;
    option option-129 code 129 = text;
    ddns-update-style interim;
    subnet 192.168.1.0 netmask 255.255.255.0 {
    default-lease-time 3600;
    max-lease-time 4800;
    option routers 192.168.1.1;
    option domain-name-servers 8.8.8.8;
    option subnet-mask 255.255.255.0;
    deny unknown-clients;
    }
    host laptop-01 {
    hardware ethernet 00:cb:b8:b9:70:b7;
    fixed-address 192.168.1.15;
    option host-name “laptop-01″;
    next-server 192.168.1.10;
    filename “pxelinux.0″;
    }
  • File configure trên là 1 file dùng để cấp IP cho máy có MAC 00:cb:b8:b9:70:b7 mà thôi, và tránh không cấp IP cho các máy khác, nhằm hạn chế nảy sinh rắc rối liên quan đến nhiều DHCPD server trong cùng mạng
  • Để khởi động DHCPD server ta sử dụng root và gõ lênh: /opt/pxeserver/sbin/dhcpd -cf /opt/pxeserver/etc/dhcpd.conf
  • Nếu máy test client có MAC như trên là Windows, bạn có thể ipconfig /release rồi ipconfig /renew để xem máy test đã nhận IP mới là 192.168.1.15 chưa, nếu có thì có nghĩa là bạn đã cài đặt thành công

b. Cài đặt TFTP chạy cùng Xinetd:

  • tar -xzvf tftp-hpa-0.40.tar.gz
  • cd tftp-hpa-0.40
  • ./configure –prefix=/opt/pxeserver
  • make
  • make install
  • Sau khi build thành công, bạn tiến hành tạo tftpboot home dir bằng cách: mkdir /opt/pxeserver/tftpboot
  • Tiến hành tạo file cấu hình tftp cho xinetd tại đường dẫn /opt/pxeserver/etc/tftp có nội dung
  • service tftp
    {
    disable = no
    socket_type       = dgram
    protocol             = udp
    wait                     = yes
    user                    = root
    server                 = /opt/pxeserver/sbin/in.tftpd
    server_args        = -s /opt/pxeserver/tftpboot -m /opt/pxeserver/etc/tftpd.remap -vvv
    per_source         = 11
    cps                     = 100 2
    flags                   = IPv4
    }
  • Bạn tạo tiếp 1 file mới ở đường dẫn: /opt/pxeserver/etc/tftpd.remap có nội dung: gr \ /
  • Sau đó bạn cần link file tftp trên vào xinetd home dir: ln -s /opt/pxeserver/etc/tftp /etc/xinetd.d/tftp
  • Và khởi động lại xinetd: service xinetd restart
  • Để tiến hành kiểm tra xem tftp server có hoạt động tốt không, bạn thử bằng cách: echo hello > /opt/pxeserver/tftpboot/test.txt
  • Sau đó dùng lệnh sau để kiểm tra: /opt/pxeserver/bin/tftp localhost
  • get test.txt
  • Nếu bạn có thể get được file test.txt với nội dung hello nghĩa là bạn đã setup thành công tftp server

c. Thiết lập PXE Menu

  • cd /opt/pxeserver/tftpboot
  • cp /usr/share/syslinux/menu.c32 .
  • cp /usr/share/syslinux/pxelinux.0 .
  • mkdir pxelinux.cfg
  • cd pxelinux.cfg
  • tạo file default có nội dung sau:
  • default menu.c32
    prompt 0
    timeout 600
    MENU TITLE Welcome to PXE Boot Menu
    label centos59-x86_64
    kernel image/CentOS/vmlinuz-centos5.9-x86_64
    append initrd=image/CentOS/initrd.img-centos5.9-x86_64
    label win7
    kernel Boot/startrom.0
    append –
  • Đây là file cấu hình dùng để cài đặt 2 OS qua mạng là CentOS5.9 và Windows 7.
  • Để test xem pxe server đã hoạt động được chưa bạn chỉ cần khởi động lại máy test có MAC trên, và chọn Boot từ Network (PXE Boot)
  • Nếu mày test thấy dòng thông báo: “Welcome to PXE Boot Menu” nghỉa là pxeserver đã hoạt động tốt.

d. Thiết lập Image cho PXE server:

  • Trong ví dụ này tôi sẽ hướng dẫn tạo image để cài đạt CentOS5.9
  • Theo file cấu hình trên thì image boot sẽ đặt ở: /opt/pxeserver/tftpboot/image/CentOS
  • Chính vì vậy bạn cần mkdir -p /opt/pxeserver/tftpboot/image/CentOS
  • Bạn download file ISO của CentOS5.9 về, sau đõ extract 2 files: vmlinuz và initrd.img có trong file ISO đó
  • đặt tên nó lại và copy vào địa chỉ: /opt/pxeserver/tftpboot/image/CentOS/vmlinuz-centos5.9-x86_64; /opt/pxeserver/tftpboot/image/CentOS/initrd.img-centos5.9-x86_64
  • Khởi động lại máy test, sau đó cho máy test chọn centos59-x86_64 và enter, nếu thành công bạn sẽ thấy màn hình cài đặt của CentOS.
  • Cách này cũng hoạt động tốt cho các Linux OS khác như RedHat, Ubuntu…

e. PXE server Linux hổ trợ cài đặt Windows:

  • Bạn theo hướng dẫn sau để tạo thư mục Boot cho Windows: http://blog.oberghmans.be/?p=77
  • Download toàn bộ thư mục Boot đặt vào /opt/pxeserver/tftpboot
  • sau đó: cd /opt/pxeserver/tftpboot
  • ln -s Boot/bootmgr.exe
  • cd Boot
  • ln -s winpe.wim boot.wim
  • Sau khi khởi động lại máy test, nếu chọn win7 mà bạn có thể thấy màn hình cài đặt Windows thì nghĩa là bạn đã thành công.
Print Friendly

About dongpolice

Check Also

cài đặt ffmeg

Cài đặt FFmpeg + FFmpeg-PHP +Lame + Ruby + Mplayer + Mencoder + flv2tool

Cài đặt FFmpeg + FFmpeg-PHP +Lame + Ruby + Mplayer + Mencoder + flv2tool Để …