用Linux 搭建 PXE 網路引導環境

2021-10-06 12:42:35 字數 4738 閱讀 8916

本例子中使用了centos7.4 minimal 系統,並且關閉了防火牆和selinux,並使用了dhcp、tftp、http和samba服務。

假設pxe伺服器是192.168.4.104 ,tftp的根目錄在/var/lib/tftpboot下面,以後引數配置,均按此配置。

關閉防火牆和selinux的步驟略。

1、安裝dhcp服務

yum -y install dhcp     #安裝dhcp伺服器

vi /etc/dhcp/dhcpd.conf   #修改dhcp配置檔案

option domain-name "pxe-os.org";     #按你的規劃指定乙個網域名稱

option domain-name-servers 192.168.1.2;     #按你的規劃指定乙個網域名稱伺服器

default-lease-time 600;

max-lease-time 7200;

authoritative;

subnet 192.168.4.0 netmask 255.255.255.0 {                           #定義乙個可供分配的ip位址段

range dynamic-bootp 192.168.4.200 192.168.4.250;

option broadcast-address 192.168.4.255;

option routers 192.168.4.1;

filename        "pxelinux.0";      #linux 的pxe引導檔案

next-server     192.168.4.104;    #指定192.168.4.104為pxe伺服器,從這裡找pxe啟動檔案。

#編輯完成,啟動dhcp服務

systemctl enable dhcpd

systemctl start dhcpd

2、安裝tftp服務

yum -y install syslinux xinetd tftp-server   #安裝tftp所需的元件,tftp的根目錄會在:/var/lib/tftpboot目錄下。

mkdir /var/lib/tftpboot/pxelinux.cfg    #建乙個目錄放pxe引導指令碼

#複製syslinux中引導系統經常用到的幾個軟體:

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

cp /usr/share/syslinux/memdisk /var/lib/tftpboot/

cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/

vi /etc/xinetd.d/tftp    #修改守護程序中的tftp-server配置檔案

disable = no   #把disable =yes改為no

#啟動tftp服務

systemctl enable xinetd

systemctl start xinetd

3、安裝http服務,這個服務在安裝linux系統時使用

yum -y install httpd    #安裝httpd

rm -f /etc/httpd/conf.d/welcome.conf   #刪除歡迎頁面

vi /etc/httpd/conf/httpd.conf    #修改http配置檔案,更改下列幾項:

serveradmin [email protected]    #修改管理員的email位址

servername srv.pxe-os.org:80    #按照你的規劃修改web server 名稱

allowoverride all

directoryindex index.html index.cgi index.php  #增加主頁檔名

servertokens prod    #在檔案末尾增加這兩行

keepalive on

#結束http配置檔案的編輯

vi /var/www/html/index.html  #編輯一下頁面,主要是驗證一下是否正常啟動webserver。

you are wellcom! 

this is srv.pxe-os.org

vi /etc/httpd/conf.d/pxeboot.conf     #把/var/lib/tftpboot設為乙個可在http訪問的目錄,讓http可以訪問下面的檔案:

alias /tftpboot /var/lib/tftpboot/

options indexes followsymlinks

# ip address you allow to access

require ip 127.0.0.1 192.168.4.0/24

#完成編輯,啟動http服務

#測試一下 看你寫的主頁能不能正常顯示

#測試一下 /tftpboot能不能顯示tftp根目錄下的檔案

4、安裝samba服務,這在windows環境中用得上,重點是不用輸入使用者、口令,任何人都能直接唯讀開啟共享目錄。

yum install samba samba-common samba-winbind -y  #安裝相關元件

mv /etc/samba/smb.conf /etc/samba/smb.conf.backup   #備份一下原來的配置檔案

vi /etc/samba/smb.conf   #建立新的配置檔案,請按你的規劃修改,內容如下:

[global]

workgroup = pxe-os.org

server string = samba server version %v

log file = /var/log/samba/log.%m

max log size = 50

idmap config * : backend = tdb

cups options = raw

netbios name = pxe-os

map to guest = bad user

dns proxy = no

public = yes

## for multiple installations the same time - not lock kernel

kernel oplocks = no

nt acl support = no

security = user

guest account = nobody

[tftpboot]

comment = windows 7 image

path = /var/lib/tftpboot

read only = no

browseable = yes

public = yes

printable = no

guest ok = yes

oplocks = no

level2 oplocks = no

locking = no

testparm

#啟動samba服務

systemctl enable samba

systemctl restart samba

5、準備centos7.4 minimal 安裝檔案,就是把iso檔案mount起來,然後把所有檔案複製到tftpboot根目錄下

mount  -o loop /centos7_minical.iso /media

mkdir /var/lib/tftpboot/centos7

cp -r /media/* /var/lib/tftpboot/centos7/

6、準備winpe檔案,以及windwos 安裝檔案,windows的安裝方法是先啟動winpe,然後在winpe環境下安裝你想要的windows系統

mount  -o loop /win7u.iso /media    #這裡我以win7旗艦版為例

mkdir /var/lib/tftpboot/win7u

cp -r /media/* /var/lib/tftpboot/win7u/

mkdir /var/lib/tftpboot/winpe

#修改許可權,將這兩個資料夾的所有人和組改為nobody,以便所有人都能訪問

chown -r nobody:nobody /var/lib/tftp/win7u

chown -r nobody:nobody /var/lib/tftp/winpe

7、寫pxe啟動指令碼,如果你想指令碼只對某台電腦有效,就用它的mac以01-mac-address的格式命名指令碼,如果找不到自己mac位址命名的指令碼pxe會跑default指令碼,也可以用ip位址的十六進製制格式命名指令碼,此處略。

vi /var/lib/tftpboot/pxelinux.cfg/default

default menu.c32      #指定預設的選單介面

timeout 50                #在選單介面停留5秒,如果沒有輸入執行選單中的第一項

menu title ######### pxe boot menu ##########

label 1       #第一項,本地硬碟引導,注意這只是通用方法,取決於你硬碟上作業系統的引導器,可能有時候會引導不起來,此處略

menu label ^1) boot from local drive

localboot

#編輯完成,開啟你主機板上pxe引導選項,來試下pxe引導吧。

rh401 簡單pxe網路引導環境的搭建

1.安裝與配置dhcp伺服器 yum install dhcp vim etc dhcp dhcpd.conf next server 10.100.0.254 filename pxelinux.0 subnet 10.100.0.0 netmask 255.255.0.0 host 401y s...

PXE引導無人值守安裝LINUX

簡介 目標 實現pxe安裝,只要開機設定從網路啟動即可自動安裝設定好的linux系統。準備環境 做一台server伺服器,需要dhcp nfs tftp的支援,kichstart做好的ks.cfg 步驟 1 dhcp服務設定 伺服器ip為192.168.0.254 設定完後起 目標 實現 pxe安裝...

PXE網路安裝linux原理

第一步 pxe client向dhcp傳送請求 首先,將支援pxe的網路介面卡 nic 的客戶端的bios設定成為網路啟動,通過pxe bootrom 自啟動晶元 會以udp 簡單使用者資料報協議 傳送乙個廣播請求,向網路中的dhcp伺服器索取ip位址等資訊。第二步 dhcp伺服器提供資訊 dhcp...