DHCP+TFTP+PXE自动网络引导安装Linux操作系统

简介:

DHCP+TFTP+PXE自动网络引导Linux+NFS/FTP/HTTP Push多个Linux操作系统

原理:

1)客户端PXE网卡启动

2)DHCP服务器获得IP

3)TFTP服务器上下载pxelinux.0default

4)根据配置文件default指定的vmlinuzinitrd.img启动系统内核,并下载指定的ks.cfg文件

5)跟据ks.cfg(HTTP/FTP/NFS)服务器下载RPM包并安装系统

6)完成安装

·DHCP:


  1. [root@rhel6 ~]# cat /etc/dhcp/dhcpd.conf

  2. ddns-update-style none;

  3. option routers 192.168.1.119;

  4. option subnet-mask 255.255.255.0;

  5. option domain-name "xfcy.org";

  6. option domain-name-servers 192.168.1.119;

  7. default-lease-time 21600;

  8. max-lease-time 43200;

  9. subnet 192.168.1.0 netmask 255.255.255.0 {

  10. range 192.168.1.101 192.168.1.200;

  11. #  TFTP Server

  12. filename "pxelinux.0";

  13. next-server rhel6.xfcy.org;

  14. host vm.xfcy.org {

  15. hardware ethernet 00:0c:29:c0:a7:99;

  16. fixed-address 192.168.1.19;

  17. }

  18. }

  19. [root@rhel6 tftpboot]# /etc/init.d/dhcpd restart

  20. Shutting down dhcpd:          [ OK ]

  21. Starting dhcpd:            [ OK ]

154055797.png

·TFPT:


  1. [root@rhel6 ~]# rpm -qa | egrep 'tftp|xinetd'

  2. tftp-0.49-7.el6.x86_64

  3. xinetd-2.3.14-33.el6.x86_64

  4. tftp-server-0.49-7.el6.x86_64

  5. [root@rhel6 ~]# cat /etc/xinetd.d/tftp

  6. # default: off

  7. service tftp

  8. {

  9. socket_type       = dgram

  10. protocol        = udp

  11. wait          = yes

  12. user          = root

  13. server         = /usr/sbin/in.tftpd

  14. server_args       = -s /var/lib/tftpboot

  15. disable         = no

  16. per_source       = 11

  17. cps           = 100 2

  18. flags          = IPv4

  19. }

  20. [root@rhel6 ~]# chkconfig xinetd on

  21. [root@rhel6 ~]# /etc/init.d/xinetd restart

  22. Stopping xinetd:             [ OK ]

  23. Starting xinetd:             [ OK ]

  24. [root@rhel6 ~]# netstat -lnup | grep :69

  25. udp  0  0 0.0.0.0:69  0.0.0.0:*    2751/xinetd

  26. [root@rhel6 ~]# yum -y install syslinux

  27. [root@rhel6 ~]# mkdir -p /var/lib/tftpboot/pxelinux.cfg/

  28. [root@rhel6 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

  29. [root@rhel6 ~]# cp /media/isolinux/initrd.img /var/lib/tftpboot/

  30. [root@rhel6 ~]# cp /media/isolinux/vmlinuz /var/lib/tftpboot/

  31. [root@rhel6 ~]# cp /media/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

  32. [root@rhel6 ~]# ls -R /var/lib/tftpboot/

  33. /var/lib/tftpboot/:

  34. boot.msg initrd.img pxelinux.0 pxelinux.cfg vmlinuz

  35. /var/lib/tftpboot/pxelinux.cfg:

  36. default

  37. [root@rhel6 ~]# vi /var/lib/tftpboot/pxelinux.cfg/default

  38. default rhel6_nfs

  39. prompt 1                #显示"boot: " 提示进行选择以下lable

  40. timeout 100               #10s 的超时后进入default所定义的lable

  41. display boot.msg            #以boot.msg进行文本提示(与以下的*.msg文件结合,非必选项)

  42. F1 boot.msg

  43. F2 options.msg

  44. F3 general.msg

  45. F4 param.msg

  46. F5 rescue.msg

  47. #可通过以下3种方式下载ks.cfg文件,通过default定义lable或在timeout时间之内选择lable即可

  48. label rhel6_nfs             #通过NFS方式

  49. kernel vmlinuz

  50. append ksdevice=eth0 load_ramdisk=1 initrd=initrd.img network ks=nfs:192.168.1.119:/var/ftp/pub/ks.cfg

  51. label rhel6_ftp             #通过FTP方式

  52. kernel vmlinuz

  53. append ksdevice=eth0 load_ramdisk=1 initrd=initrd.img network ks=ftp://192.168.1.119/pub/ks.cfg

  54. label rhel6_http            #通过HTTP方式

  55. kernel vmlinuz

  56. append ksdevice=eth0 load_ramdisk=1 initrd=initrd.img network ks=http://192.168.1.119/pub/ks.cfg

  57. label rescue              #用于rescue模式

  58. kernel vmlinuz

  59. append load_ramdisk=1 initrd=initrd.img rescue

154324985.png

154430246.png

·NFS


  1. [root@rhel6 ~]# ls /var/ftp/pub/

  2. images ks.cf  Packages  repodata  Server

  3. [root@rhel6 ~]# cat /etc/exports

  4. /var/ftp/pub  192.168.1.0/24(rw,sync,no_root_squash)  #共享路径必须与default文件定义的ks.cfg路径一致

  5. [root@rhel6 ~]# /etc/init.d/rpcbind status

  6. rpcbind (pid 1418) is running...

  7. [root@rhel6 ~]# /etc/init.d/nfs start

  8. Starting NFS services:         [ OK ]

  9. Starting NFS quotas:          [ OK ]

  10. Starting NFS daemon:          [ OK ]

  11. Starting NFS mountd:          [ OK ]

  12. [root@rhel6 ~]# showmount -e

  13. Export list for rhel6.xfcy.org:

  14. /var/ftp/pub 192.168.1.0/24

·HTTS


  1. [root@rhel6 ~]# cat /etc/httpd/conf/httpd.conf | grep DocumentRoot

  2. DocumentRoot "/var/ftp"#共享路径必须与default文件定义的ks.cfg路径一致

  3. [root@rhel6 ~]# /etc/init.d/httpd start

  4. Starting httpd:            [ OK ]

·Kickstart

使用红帽的Kickstart配置程序可以通过图形界面创建或直接修改Kickstart文件。

# yum install system-config-kickstart

该配置程序主要包含11个模块:

基本设置、安装方式、引导器设置、分区信息、网络配置、认证、防火墙配置、显示配置、软件包、Pre脚本、Post脚本

关于Kickstart文件的配置内容请看:http://missedyou.blog.51cto.com/2014866/1091631

154923999.png






     本文转自Vnimos51CTO博客,原文链接:http://blog.51cto.com/vnimos/1063154,如需转载请自行联系原作者




相关文章
|
1月前
|
Windows
Windows操作系统部署安装Kerberos客户端
详细介绍了在Windows操作系统上部署安装Kerberos客户端的完整过程,包括下载安装包、安装步骤、自定义安装路径、修改环境变量、配置hosts文件和Kerberos配置文件,以及安装后的验证步骤。
82 3
Windows操作系统部署安装Kerberos客户端
|
1月前
|
Ubuntu 网络安全 开发工具
Ubuntu19.04的安装过程详解以及操作系统初始化配置
本文详细介绍了Ubuntu 19.04操作系统的安装过程、初始化配置、网络设置、软件源配置、SSH远程登录以及终端显示设置。
67 1
Ubuntu19.04的安装过程详解以及操作系统初始化配置
|
5天前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控总结
Linux系统命令与网络,磁盘和日志监控总结
24 0
|
5天前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控三
Linux系统命令与网络,磁盘和日志监控三
21 0
|
2月前
|
存储 Linux Shell
在Linux中,如何使用脚本,实现判断 192.168.1.0/24 网络里,当前在线的 IP 有哪些?能ping 通则 认为在线。
在Linux中,如何使用脚本,实现判断 192.168.1.0/24 网络里,当前在线的 IP 有哪些?能ping 通则 认为在线。
|
2月前
|
监控 网络协议 Linux
在Linux中,如何实时抓取并显示当前系统中tcp 80 端口的网络数据信息?
在Linux中,如何实时抓取并显示当前系统中tcp 80 端口的网络数据信息?
|
2月前
|
存储 Linux 网络安全
【Azure 存储服务】如何把开启NFS 3.0协议的Azure Blob挂载在Linux VM中呢?(NFS: Network File System 网络文件系统)
【Azure 存储服务】如何把开启NFS 3.0协议的Azure Blob挂载在Linux VM中呢?(NFS: Network File System 网络文件系统)
|
2月前
|
存储 Linux 网络安全
【Azure 应用服务】App Service For Linux 如何在 Web 应用实例上住抓取网络日志
【Azure 应用服务】App Service For Linux 如何在 Web 应用实例上住抓取网络日志
|
2月前
|
网络协议 Linux Shell
【Azure 应用服务】App Service For Linux 中安装paping, 用于验证从App Service向外请求的网络连通性
【Azure 应用服务】App Service For Linux 中安装paping, 用于验证从App Service向外请求的网络连通性
|
1天前
|
安全 算法 网络安全
网络安全与信息安全:守护数字世界的坚盾在这个高度数字化的时代,网络安全和信息安全已成为全球关注的焦点。无论是个人隐私还是企业数据,都面临着前所未有的风险和挑战。本文将深入探讨网络安全漏洞、加密技术以及安全意识的重要性,旨在为读者提供实用的知识,帮助构建更加安全的网络环境。
【10月更文挑战第4天】 在数字化浪潮中,网络安全与信息安全成为不可忽视的议题。本文通过分析网络安全漏洞的类型与成因,探讨加密技术的原理与应用,并强调提升安全意识的必要性,为读者提供一套全面的网络安全知识框架。旨在帮助个人和企业更好地应对网络威胁,保护数字资产安全。