#实验环境为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