2015年4月30日 星期四

架 DHCP Server 及 TFTP Server

上週課程延續問題:
可能遇到無法 update 的問題, apt-get update 輸出:
Release file for ftp://120.117.72.XX/debian/dists/wheezy-updates/Release is expired (invalid since 7d 4h 37min 49s). Updates for this repository will not be applied

這是因為自建鏡像站太久沒更新所造成的,可以先選擇連至其他鏡像站或以 getdeb.sh 更新。
getdeb.sh
#HOST=ftp.tw.debian.org
HOST=debian.nctu.edu.tw
#HOST=opensource.nchc.org.tw
#HOST=ftp.wa.au.debian.org
#HOST=120.117.72.71

# 國外鏡像站
#HOST=ftp.debian.org

debmirror \
        --arch=i386,amd64,armel,armhf,sha4 \
        --dist=jessie,jessie-updates \
        --di-arch=i386,amd64,armel \
        --di-dist=stable \
        --host=$HOST \
        --root=":debian" \
        --diff=none -p \
        --nosource \
        --method=rsync \
        --section main,contrib,non-free,main/debian-installer \
        --i18n \
        --ignore-release-gpg /home/ftp/debian/ ;

        #--section non-free,contrib,main,main/debian-installer,main/installer-armel,main/i18n,main/source \
#debmirror \
#       -v --nosource -d lenny/updates -a i386 \
#       -s non-free,contrib,main,main/debian-installer \
 #    --method=http -h security.debian.org \
 #    --ignore-release-gpg -r /debian-security /home/ftp/debian/security/
#       --section main,contrib,non-free,main/debian-installer,main/installer-armel,main/i18n,main/source \

#wget -r -l1 -nH ftp://$HOST/debian/dists/squeeze/main/source/
date


一、於 PXE 虛擬機架 DHCP Server

1. 安裝 dhcp
sh runpxeserver.sh

apt-get install isc-dhcp-server

裝完會出現 Start Faild 訊息,這是正常的,因為我們還沒改設定檔。

2. 修改設定檔 dhcpd.conf
vi /etc/dhcp/dhcpd.conf
option domain-name "example.org";
option domain-name-servers 120.117.2.1;

default-lease-time 600;
max-lease-time 7200;
allow booting;

subnet 192.168.10.0 netmask 255.255.255.0{
        range 192.168.10.100 192.168.10.200;
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.10.255;
        option routers 192.168.10.1;
        option domain-name-servers 120.117.2.1;
#      next-server 192.168.10.254;
#      filename "pxelinux.0";

注意,若直接從網頁上複製貼上會出現亂碼,
遇到問題,需要 Debug 可以從 /var/log/syslog 查看訊息。
其中 DNS 要設為對學校的 120.117.2.1 ,router 即是 gateway 意思。

3. 重啟
/etc/init.d/isc-dhcp-server restart
systemctl enable isc-dhcp-server
systemctl status isc-dhcp-server

二、建 linux1.img 虛擬機
1. 於實體機建置
cd ~/qemu-img/virtual_classroom/
qemu-img create linux1.img 20G

2. 修改 build script 檔
複製 build.sh 檔,並做修改
cp buildpxe.sh buildlinux1.sh

記得修改最重要的兩項:
HDA=linux1.img
MAC="DE:AD:BE:CF:EC:B8"

3. 啟動測試 DHCP
sh buildlinux1.sh

只要 DHCP 的部份有順利連到即可,這週進度先不安裝。

三、開啟 winXP 虛擬機

1. 於 runwinXP.sh 加入虛擬網路卡
下面加入網卡:e1000, i82551, i82557b, i82559er, ne2k_pci, pcnet, rtl8139, virtio
-net nic,model=rtl8139
還有在 -hda $HDA 後方加入 -sdl

詳細設定如下:
CPU=host
SMP=4
MEMORY=2048
HDA=WinXp.img
MAC="DE:AD:BE:CF:EC:B9"
BRIDGE=br10
CDROM=/home/lin/iso/WindowsXP_Pro_SP2_CHT.iso

qemu-system-x86_64 -enable-kvm -cpu $CPU -smp $SMP -m $MEMORY \
-hda $HDA -sdl \
-cdrom $CDROM -boot c \
-net nic,macaddr=$MAC,model=rtl8139 -net bridge,br=$BRIDGE


2.進去更新 XP 
此時開機 XP,若之前有手動修改網路設定,現在要改為自動取得 IP,
正常要自動可以連到 DHCP 且有網路可以使用。

做 Windows 更新、升級至 XP SP3再去下載有的沒的需求:
Firefox
IE8
avira
FileZilla
...

四、於 PXE 虛擬機安裝 TFTP Server

1. 安裝 tftp
apt-get -y install tftpd-hpa

2. 下載網路開機套件 netboot.tar
wget http://ftp.debian.org/debian/dists/jessie/main/installer-amd64/current/images/netboot/netboot.tar.gz

3. 解壓至目錄 /srv/tftp 並重新啟動
tar xfva netboot.tar.gz -C /srv/tftp
/etc/init.d/tftpd-hpa restart
update-rc.d tftpd-hpa defaults
systemctl enable tftpd-hpa

4. 修改 /etc/dhcp/dhcpd.conf 設定
vi /etc/dhcp/dhcpd.conf

打開註解:
next-server 192.168.10.254;
filename "pxelinux.0";

5. 修改 buildlinux1.sh
vi buildlinux2.sh
CPU=host
SMP=2
MEMORY=1024
HDA=linux1.img
MAC="DE:AD:BE:CF:EC:B8"
BRIDGE=br10
CDROM=/home/lin/iso/debian-testing-amd64-CD-1.iso

qemu-system-x86_64 -enable-kvm -cpu $CPU -smp $SMP -m $MEMORY \
-hda $HDA \
-boot n \
-net nic,macaddr=$MAC -net bridge,br=$BRIDGE


執行 sh buildlinux1.sh 應該要可以連至網路






沒有留言:

張貼留言