Linux九阴真经之九阴白骨爪残卷3(DHCP、TFTP服务的安装与启动以及PXE安装Centos7)
DHCP实现
一、首先准备两台linux,一台做dhcp服务器,另一台做客户端(将服务器的桥接网卡禁用),并取消虚拟机的HPC服务
二、将服务器端的IP设置为静态IP,取消DHCP服务(不写默认为取消),确认selinux 和iptables 已经关闭
三、取消epel源,利用本地源安装DHCP服务,yum install dhcp
[root@laobai ~]#yum install dhcp
四、这时启动服务时提示错误,提示 配置文件有问题,我们进入dhcp的配置文件里去查看一下
五、按照提示,将被蓝色背景选中的文件复制到我们的dhcp配置文件里代替配置文件,注意上图的*号为版本号
[root@laobai ~]#cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.example /etc/dhcp/dhcpd.conf
六、重新编辑dhcp的配置文件,设置自己的网段,地址池 以及网关和DNS 也可以设置主机域后缀和租期,如下图
[root@laobai ~]#vim /etc/dhcp/dhcpd.conf
七、再次启动dhcp服务
八、查看网卡获取地址的详细信息
[root@laobai /var/lib/dhcpd]#less dhcpd.leases
如果想每次DHCP获得的地址都是一样的,可以将IP地址和MAC地址绑定,步骤如下
1、查看自己的MAC地址(ip a),复制下来
2、修改配置文件,添加红色方框内的内容。
[root@laobai /var/lib/dhcpd]#vim /etc/dhcp/dhcpd.conf
3、在服务器和客户机重启dhcp服务,查看是否生效。
tftp服务的安装与启动
一、首先在服务器端安装 用yum安装tftp-server,安装成功后启动此服务并设置为开机启动
[root@centos7 yum.repos.d]#yum install tftp-server
[root@centos7 yum.repos.d]#systemctl start tftp.service
[root@centos7 ~]#systemctl enable tftp
查看端口监听状态
二、在客户端安装tftp服务,并尝试用tftp 下载服务器的文件(事先服务器的/var/lib/tftpboot/目录内要有文件,如fstab)
三、tftp 已经启动成功
PXE安装Centos7
前期准备:关闭SELinux策略和 firewall 防火墙(iptables -F)
安装包 :dhcp、tftp、http、syslinux(pxelinux.0文件依赖的包)
开启服务:httpd、dhcpd、tftp.socket
一、准备yum源,并设置开机自动挂载
[root@centos7 centos]#cd /var/www/html/centos/7
[root@centos7 ~]#vim /etc/fstab
二、挂载光盘,重新读取
[root@centos7 ~]#mount /dev/sr0 /var/www/html/centos/7 [root@centos7 sysconfig]#mount -a
三、制作应答文件,在/var/www/html 目录下创建ksdir/7 的文件夹,用来存放应答文件,复制本机的应答文件放入刚创建的7 文件夹内并改名为ks7_desktop.cfg,
[root@centos7 ~]#mkdir /var/www/html/ksdir/7 -pv [root@centos7 ksdir]#cp /root/anaconda-ks.cfg 7/ks7_desktop.cfg
[root@centos7 7]#chmod 644 ks7_desktop.cfg
浏览器访问ks7_desktop.cfg 文件能正常访问
四、编辑应答文件 vim ks7_desktop.cfg
我们还可以在此添加ssh基于key的认证,使新系统安装后可直接适用ssh连接;可以用ssh-keygen生成一个秘钥,再用ssh-copy-id 192.168.2.3 拷贝给自己,在 . ssh 文件夹内查看服务器自授权的公钥
四、编辑应答文件
五、配置DHCP服务并重新启动
[root@centos7 dhcp]#systemctl restart dhcpd
六、制作启动菜单
[root@centos7 tftpboot]#mkdir pxelinux.cfg 创建文件夹
[root@centos7 tftpboot]#rpm -ql syslinux | grep pxelinux.0 搜索包路径
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/pxelinux.0
[root@centos7 tftpboot]#cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ 复制pxelinux.0到tftpboot下
[root@centos7 tftpboot]#cp /usr/share/syslinux/menu.c32 . 复制安装风格到工作目录下(蓝色)
[root@centos7 tftpboot]#tree
.
├── menu.c32
├── pxelinux.0
└── pxelinux.cfg
再将linux内核文件和加载文件系统的驱动复制到tftbboot文件夹下
[root@centos7 boot]#cd /var/www/html/centos/7/isolinux [root@centos7 isolinux]#ls boot.cat grub.conf isolinux.bin memtest TRANS.TBL vmlinuz [root@centos7 isolinux]#cp {vmlinuz,initrd.img} /var/lib/tftpboot/ [root@centos7 isolinux]#cd /var/lib/tftpboot/ [root@centos7 tftpboot]#ls initrd.img menu.c32 pxelinux.0 pxelinux.cfg vmlinuz [root@centos7 tftpboot]#tree . ├── initrd.img ├── menu.c32 ├── pxelinux.0 ├── pxelinux.cfg └── vmlinuz
七、复制 /var/www/html/centos/7/isolinux 下的 isolinux.cfg 到 /var/lin/tftpboot/pxelinux.cfg 里 并重名令为 default
八、编辑default文件
九、我们也可以自定义最小化安装,复制anaconda-ks.cfg 到工作目录下 并给与读的权限
[root@centos7 ~]#cp /root/anaconda-ks.cfg /var/www/html/ksdir/7/ks7_mini.cfg
[root@centos7 7]#chmod 644 ks7_mini.cfg
十、新添加一个虚拟机,设置网卡模式为 仅主机 ,开启虚拟机 安装系统