天天看點

通過 pxe(網絡安裝)完成centos 系統的網絡安裝

首先交代環境。本地2台主機,一台windows主機,一台等待安裝centos的主機。2台主機在同一個區域網路。通過路由器自動擷取ip上網。

網上大多數pxe安裝方式都采用自己搭建dns伺服器的方式來進行,but,我們的dns伺服器就是一個小破路由器,自然是做不來這個事情。

是以經過一番google,決定使用dnsmasq來搞定我們的dns伺服器。臨時湊合用用(主要是,突然發現家裡沒有一個大一點的U盤,也是醉了),網絡環境:路由器網關 192.168.2.1,win ip:192.168.2.2,pxe server ip:192.168.2.3

1.win主機上,hyper-v虛拟一個centos,暫稱為 pxe server

hyper-v 安裝centos

2.安裝配置dnsmasq。

#安裝dnsmasq
yum install dnsmasq
#配置dnsmasq
mv /etc/dnsmasq.conf  /etc/dnsmasq.conf.backup
vi /etc/dnsmasq.conf
#編輯如下類容
#網卡名字,通過ip addr擷取
 interface=eno16777736,lo
 domain=centos7.lan
 # DHCP range-leases
 dhcp-range= eno16777736,192.168.1.100,192.168.1.253,255.255.255.0,1h
 # PXE
 dhcp-boot=pxelinux.0,pxeserver,192.168.1.20
 # Gateway
 dhcp-option=3,192.168.1.1
 # DNS
 dhcp-option=6,92.168.1.1, 8.8.8.8
 server=8.8.4.4
 # Broadcast Address
 dhcp-option=28,10.0.0.255
 # NTP Server
 dhcp-option=42,0.0.0.0
 pxe-prompt="Press F8 for menu.", 60
 pxe-service=x86PC, "Install CentOS 7 from network server 192.168.1.20", pxelinux
 enable-tftp
 tftp-root=/var/lib/tftpboot           

參數解釋:

interface – 伺服器需要監聽并提供服務的網絡接口。

bind-interfaces – 取消注釋來綁定到該網絡接口

domain – 替換為你的域名。

dhcp-range – 替換為你的網絡掩碼定義的網段。

dhcp-boot – 替換該IP位址為你的網絡接口IP位址。

dhcp-option=3,192.168.1.1 – 替換該IP位址為你的網段的網關。

dhcp-option=6,92.168.1.1 – 替換該IP位址為你的DNS伺服器IP——可以定義多個IP位址。

server=8.8.4.4 – 這裡放置DNS轉發伺服器IP位址。

dhcp-option=28,10.0.0.255 – 替換該IP位址為網絡廣播位址——可選項。

dhcp-option=42,0.0.0.0 – 這裡放置網絡時鐘伺服器——可選項(0.0.0.0位址表示參考自身)。

pxe-prompt – 保持預設——按F8進入菜單,60秒等待時間。

pxe=service – 使用x86PC作為32為/64位架構,并在字元串引述中輸入菜單描述提示。其它類型值可以是:PC98,IAEFI,Alpha,Arcx86,IntelLeanClient,IA32EFI,BCEFI,XscaleEFI和X86-64EFI。

enable-tftp – 啟用内建TFTP伺服器。

tftp-root – 使用/var/lib/tftpboot——所有網絡啟動檔案所在位置。

3.安裝syslinux和tftp-server并完成配置

yum install syslinux
yum install tftp-server
#copy 安裝引導檔案
cp -r /usr/share/syslinux/* /var/lib/tftpboot
mkdir /var/lib/tftpboot/pxelinux.cfg
#建立安裝引導配置檔案并編輯為下面的内容
touch /var/lib/tftpboot/pxelinux.cfg/default
#我們使用syslinux引導安裝,通過ftp傳輸安裝包,是以,label 2,3,4可以删除。
default menu.c32
prompt 0
timeout 300
ONTIMEOUT local
menu title ########## PXE Boot Menu ##########
label 1
menu label ^1) Install CentOS 7 x64 with Local Repo
kernel centos7/vmlinuz
#我們自己搭建的ftp位址:ftp://192.168.1.20/pub
append initrd=centos7/initrd.img method=ftp://192.168.1.20/pub devfs=nomount

label 2
menu label ^2) Install CentOS 7 x64 with <http://mirror.centos.org> Repo
kernel centos7/vmlinuz
append initrd=centos7/initrd.img method=http://mirror.centos.org/centos/7/os/x86\_64/ devfs=nomount ip=dhcp

label 3
menu label ^3) Install CentOS 7 x64 with Local Repo using VNC
kernel centos7/vmlinuz
append  initrd=centos7/initrd.img method=ftp://192.168.1.20/pub devfs=nomount inst.vnc inst.vncpassword=password  

label 4
menu label ^4) Boot from local drive           

4.準備centos安裝包

#首先使用sftp之類的工具把我們的centos安裝鏡像上傳到我們的pxe server
#接着,挂在這個鏡像
5.mount -o loop /path/to/centos-dvd.iso  /mnt
#建立tftp安裝檔案下載下傳目錄,并copy鏡像内的檔案到目錄
mkdir /var/lib/tftpboot/centos7
cp /mnt/images/pxeboot/vmlinuz  /var/lib/tftpboot/centos7
cp /mnt/images/pxeboot/initrd.img  /var/lib/tftpboot/centos7  
#安裝ftp。copy鏡像檔案到ftp目錄。此處目錄要和syslinux配置的引導配置檔案中的位址要一緻
yum install vsftpd
cp -r /mnt/*  /var/ftp/pub/ 
#修改檔案權限
chmod -R 755 /var/ftp/pub           

5.準備工作已完成,接下來就是配置需要安裝centos的主機了。

檢查主機闆是否開啟并支援了pxe安裝方式。大約就是進blos配置一下

無恥的盜一下圖:
通過 pxe(網絡安裝)完成centos 系統的網絡安裝
通過 pxe(網絡安裝)完成centos 系統的網絡安裝

并且設定pxe為啟動順序第一位,然後儲存配置重新開機主機。

這個時候,不出意外的話,主機上就會顯示我們在pxe server裡配置syslinux引導菜單了。

選擇 label 1 開始安裝。

附上pxe server的日志

通過 pxe(網絡安裝)完成centos 系統的網絡安裝

繼續閱讀