通過 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為啟動順序第一位,然后保存配置重啟主機。
這個時候,不出意外的話,主機上就會顯示我們在pxe server里配置syslinux引導菜單了。
選擇 label 1 開始安裝。
附上pxe server的日志


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM