#實驗環境爲debian10.2-64位linux
PXE的工做過程:vim
#虛擬機添加了兩塊網卡,一塊默認nat模式,能夠直接訪問Internet;另外一塊設置成LAN區段t模式,模擬成內網環境,經過nat訪問Internet,以保證PXE客戶機能夠正常從網絡源下載軟件包。服務器
一、eth0設置爲VMnet的nat模式(默認便可訪問外網)網絡
二、eth1設置爲LAN區段模式(客戶端網卡也設爲LAN區段)async
#若是服務器是兩塊網卡,eth0接外網,eth1接內網的話,那麼想經過內網來安裝系統就須要作NAT,這樣經過內網PXE上來的客戶機才能夠正常從網絡源下載包,命令以下:測試
iptables -t nat -A POSTROUTING -o eth0 -s 內網地址段(例如:10.1.1.0/24) -j SNAT --to 外網網卡IP地址 --("-o eth0" 此處爲外網網卡,若是隻有兩塊網卡,該參數也可省略)ui
vim /etc/network/interfacesrest
auto eth0 iface eth0 inet static address 192.168.206.134 netmask 255.255.255.0 gateway 192.168.206.2 //此爲VMnet8 下的網關 auto eth1 iface eth1 inet static address 192.168.205.210 netmask 255.255.255.0
echo "1" > /proc/sys/net/ipv4/ip_forwardcode
sysctl -prouter
a.先修改系統使用的源,若是有本地ISO鏡像源將其註釋掉。
vim /etc/apt/sources.list
deb http://mirrors.163.com/debian buster main contrib non-free
b.更新網絡源
apt-get update
apt-get install fai-quickstart -y
apt-get會將FAI Server所需的相關服務一併安裝,好比DHCP、TFTP、NFS
apt-get install qemu-user-static -y
qeme-user-static若是未安裝,須要安裝上
vim /etc/dhcp/dhcpd.conf
next-server 192.168.205.210; ddns-update-style none; default-lease-time 600; max-lease-time 7200; server-name "192.168.205.210"; filename "pxelinux.0"; #filename "/boot/pxeboot"; allow booting; allow bootp; include "/etc/dhcp/vlan100.conf";
vim /etc/dhcp/vlan100.conf
subnet 192.168.205.0 netmask 255.255.255.0 { option routers 192.168.205.210; range 192.168.205.10 192.168.205.250; option subnet-mask 255.255.255.0; allow booting; allow bootp; }
vim /etc/default/tftpd-hpa
TFTP_USERNAME="tftp" TFTP_DIRECTORY="/srv/tftp/fai" TFTP_ADDRESS="192.168.205.210:69" --修改此行 TFTP_OPTIONS="--secure"
vim /etc/fai/fai.conf
LOGUSER=fai --開啓此行 FAI_CONFIG_SRC=nfs://192.168.205.210/srv/fai/config --修改此行
vim /etc/fai/nfsroot.conf
FAI_DEBOOTSTRAP="buster http://mirrors.163.com/debian" --修改此行 FAI_ROOTPW='$1$kBnWcO.E$djxB128U7dMkrltJHPf6d1' NFSROOT=/srv/fai/nfsroot TFTPROOT=/srv/tftp/fai NFSROOT_HOOKS=/etc/fai/nfsroot-hooks/ FAI_DEBOOTSTRAP_OPTS="--include=aptitude --arch amd64 --exclude=dhcp-client,info" --修改此行(「--include=aptitude」須要保留,不然初始化會失敗) NFSROOT_ETC_HOSTS="192.168.205.210" --添加此行 FAI_CONFIGDIR=/srv/fai/config
c.拷貝sources.list替換fai的sources.list
cp /etc/apt/sources.list /etc/fai/apt/sources.list
fai-setup -v
初始化須要一些時間,出現下面的信息就表示初始化成功了。若是中途卡死,從新初始化的時候須要加上參數「f」即「fai-setup -vf」
a.此時/srv/fai/config下沒有具體的配置文件,將模板複製過來
cp -a /usr/share/doc/fai-doc/examples/simple/* /srv/fai/config
b.生成default
fai-chboot -IBv -u nfs://192.168.205.210/srv/fai/config default --不要使用fai-chboot -IFv default來生成,可能會出現沒法鏈接nfs的問題。
vim /etc/exports
/srv/fai/config 192.168.205.210/24(async,ro,no_subtree_check) --初始化生成的exports會將eth0,也就是橋接到物理網卡的地址做爲nfs服務器的地址,須要手動修改。 /srv/fai/nfsroot 192.168.205.210/24(async,ro,no_subtree_check,no_root_squash)
/etc/init.d/networking restart
/etc/init.d/isc-dhcp-server restart
/etc/init.d/tftpd-hpa restart
/etc/init.d/rpcbind restart
/etc/init.d/nfs-kernel-server restart
/etc/init.d/nfs-common restart