Ubuntu的PXE 服务器搭建(已搭可行)
1、简介
系统:ubuntu14.04
DHCP:是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。
NFS:是基于UDP/IP协议的应用,其实现主要是采用远程过程调用RPC机制,RPC提供了一组与机器、操作系统以及低层传送协议无关的存取远程文件的操作。RPC采用了XDR的支持。XDR是一种与机器无关的数据描述编码的协议,他以独立与任意机器体系结构的格式对网上传送的数据进行编码和解码,支持在异构系统之间数据的传送。
TFTP:(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。
- Client向PXE Server上的DHCP发送IP地址请求消息,DHCP检测Client是否合法(主要是检测Client的网卡MAC地址),如果合法则返回Client的IP地址,同时将启动文件pxelinux.0的位置信息一并传送给Client。
- Client向PXE Server上的TFTP发送获取pxelinux.0请求消息,TFTP接收到消息之后再向Client发送pxelinux.0大小信息,试探Client是否满意,当TFTP收到Client发回的同意大小信息之后,正式向Client发送pxelinux.0。
- Client执行接收到的pxelinux.0文件。
- Client向TFTP发送针对本机的配置信息(记录在TFTP的pxelinux.cfg目录下),TFTP将配置文件发回Client,继而Client根据配置文件执行后续操作。
- Client向TFTP发送Linux内核请求信息,TFTP接收到消息之后将内核文件发送给Client。
- Client向TFTP发送根文件请求信息,TFTP接收到消息之后返回Linux根文件系统。
- Client启动Linux内核(启动参数已经在4中的配置文件中设置好了)。
- Client通过NFS下载镜像文件,读取autoyast自动化安装脚本。
2、NFS 服务搭建
1.1 安装nfs相关包
apt-get install nfs-kernel-server
apt-get install isc-dhcp-server-ldap
1.2 修改配置文件
将/opt/nfs设置为nfs的根目录
1.3 文件放置
在/opt/nfs/创建一个ce300zuos的目录
将整个iso 挂载的文件内容拷贝至/opt/nfs/ce300zuos
mount –o loop xx.iso /mnt/
rsync –a /mnt/ /opt/nfs/ce300zuos/
重启服务 systemctl restart nfs-kernel-server
3、TFTP 服务器搭建
3.1 安装tftp相关包
apt-get install tftp-hpa tftpd-hpa
3.2 修改配置文件
将tftpboot 设为tftp的根目录
Vim /etc/default/tftpd-hpa
将/tftpboot 权限设置为777 :chmod 777 /var/lib/tftpboot/
3.3文件放置
3.3.1 引导文件
将附件debian-installer拷贝至 /var/tftp下
cp –r /debian-installer /var/lib/tftpboot
3.3.2 内核文件
Uos:内核文件放置路径
将uos安装包内/live复制到/var/lib/tftpboot/debian-installer/amd64下面
cp –r /opt/nfs/live /var/lib/tftpboot/debian-installer/amd64
cp /var/lib/tftpboot/debian-installer/amd64/grubx64.efi /var/lib/tftpboot/
根据实际情况修改tftpboot/debian-installer/amd64/grub下的grub.cfg
menuentry 'Install UOS 20 desktop' {
set backgroud_color=black
linux /debian-install/amd64/live/vmlinuz console=tty boot=live netboot=nfs nfsroot=192.168.20.10:/opt/nfs/ce300zuos/
components union=overlay livecd-installer ethdevice-timeout=60 local=zh_CN quiet splash --
initrd /debian-installer/amd64/live/initrd.lz
}
Kylin OS 放置路径:
在tftpboot目录下新建一个文件夹ZX_PC_kylin, 将安装文件夹casper中的vmlinuz 和initrd.lz 拷贝至ZX_PC_kylin。
4.dhcp 服务器搭建
4.1 安装dhcp相关包
apt-get install isc-dhcp-server isc-dhcp-client
注意:服务器配置静态IP,dhcpd.conf中设置对应的服务器IP, 网段,子网掩码
IPV4 配置:
4.2 修改配置文件
IPV4: /etc/dhcp/dhcpd.conf
4.3 修改网络设备
Ifconfig 查看server的网络设备
若使用eth0,则:vim /etc/default/isc-dhcp-server
INTERFACES=”eth0”
几个指令:
关闭防火墙 sudo ufw disable
启动nfs /etc/init.d/nfs-kernel-server restart
启动dhcp /etc/init.d/isc-dhcp-server restart
启动 tftp /etc/init.d/tftpd-hpa start
run sudo netstat –uap ,netstat -anulp可以查看dhcp服务启动状况,能查看到dhcpd表示dhcp服务启动正常。
5、搭建虚拟网络遇到的问题
1、VMware虚拟机系统网络通信失败ifconfig显示UP BROADCAST MULTICAST没有inet地址修复。
Ubuntu不能获取IP地址,尽管虚拟机上的虚拟网络编辑器有了NAT模式,虚拟机设置的网络适配器也改为NAT模式,
2、sudo vi /etc/network/interfaces
动态获取
auto lo
iface lo inet loopback
静态IP
auto enp0s3
iface enp0s3 inet static
address 192.168.0.1
netmask 255.255.255.0
gateway 192.168.0.1