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,如需转载请自行联系原作者




相关文章
|
27天前
|
人工智能 分布式计算 大数据
Linux操作系统:开源力量的崛起与影响###
一场技术革命的火种,如何燎原? 本文将带您深入探索Linux操作系统的诞生背景、核心特性及其对现代科技世界的深远影响。从1991年芬兰学生Linus Torvalds的一个小众项目,到如今成为支撑全球无数服务器、超级计算机及物联网设备的基石,Linux的发展既是一部技术创新史,也是开源文化胜利的见证。通过剖析其设计哲学、安全性、灵活性等关键优势,结合实例展示Linux在云计算、大数据处理等领域的广泛应用,本文旨在揭示Linux为何能在众多操作系统中脱颖而出,以及它如何塑造了我们今天的数字生活。 ###
|
25天前
|
安全 Linux 编译器
探索Linux内核的奥秘:从零构建操作系统####
本文旨在通过深入浅出的方式,带领读者踏上一段从零开始构建简化版Linux操作系统的旅程。我们将避开复杂的技术细节,以通俗易懂的语言,逐步揭开Linux内核的神秘面纱,探讨其工作原理、核心组件及如何通过实践加深理解。这既是一次对操作系统原理的深刻洞察,也是一场激发创新思维与实践能力的冒险。 ####
|
7天前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
27 9
|
5天前
|
安全 Linux 网络安全
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息。本文分三部分介绍 nmap:基本原理、使用方法及技巧、实际应用及案例分析。通过学习 nmap,您可以更好地了解网络拓扑和安全状况,提升网络安全管理和渗透测试能力。
30 5
|
7天前
|
缓存 运维 网络协议
深入Linux内核架构:操作系统的核心奥秘
深入Linux内核架构:操作系统的核心奥秘
24 2
|
11天前
|
缓存 网络协议 Linux
Linux操作系统内核
Linux操作系统内核 1、进程管理: 进程调度 进程创建与销毁 进程间通信 2、内存管理: 内存分配与回收 虚拟内存管理 缓存管理 3、驱动管理: 设备驱动程序接口 硬件抽象层 中断处理 4、文件和网络管理: 文件系统管理 网络协议栈 网络安全及防火墙管理
32 4
|
10天前
|
安全 网络协议 Linux
Linux操作系统的内核升级与优化策略####
【10月更文挑战第29天】 本文深入探讨了Linux操作系统内核升级的重要性,并详细阐述了一系列优化策略,旨在帮助系统管理员和高级用户提升系统的稳定性、安全性和性能。通过实际案例分析,我们展示了如何安全有效地进行内核升级,以及如何利用调优技术充分发挥Linux系统的潜力。 ####
29 1
|
13天前
|
物联网 Linux 云计算
Linux操作系统的演变与未来趋势####
【10月更文挑战第29天】 本文深入探讨了Linux操作系统从诞生至今的发展历程,分析了其在服务器、桌面及嵌入式系统领域的应用现状,并展望了云计算、物联网时代下Linux的未来趋势。通过回顾历史、剖析现状、预测未来,本文旨在为读者提供一个全面而深入的视角,以理解Linux在当今技术生态中的重要地位及其发展潜力。 ####
|
18天前
|
边缘计算 人工智能 运维
Linux操作系统:开源力量的崛起与影响###
一场技术革命的回顾 回溯至1991年,当Linus Torvalds宣布Linux操作系统的诞生时,世界或许并未意识到这一举措将如何深刻地改变技术领域的面貌。本文旨在探讨Linux操作系统的发展历程、核心特性、以及它如何引领了一场开源运动,重塑了软件行业的生态。从最初的个人爱好项目成长为全球最广泛采用的服务器操作系统之一,Linux的故事是技术创新与社区精神共同推动下的辉煌篇章。 ###
|
17天前
|
人工智能 安全 Linux