设为首页 收藏本站
查看: 2435|回复: 0

[经验分享] PXE安装Linux

[复制链接]

尚未签到

发表于 2018-5-24 08:51:25 | 显示全部楼层 |阅读模式
  PXE的工作流程:
  网卡里有内置的dhcp客户端程序和tftp客户端程序
  当把网卡当做第一顺序启动时,会激活PXE功能,客户端基于DHCP尝试发起广播请求
  当DHCP服务器收到请求后给它分配一个地址以及网关等各种网络属性进行配置,
  dhcp服务器还可以告诉网卡,网络中有tftp文件服务器,指令是next-server指定要找的tftp服务器
  并且告诉网卡,下载tftp服务器里的pxelinux.0(类似于bootloader提供引导界面)
   DSC0000.jpg
DSC0001.jpg

  一:所以我们要先来配置dhcp服务器:

  centos 6下的DHCP配置
  
  DHCP的服务脚本存放在/etc/rc.d/init.d/下
  利用rpm -ql  dhcp|less查看
  /etc/dhcp
  /etc/dhcp/dhcpd.conf
  /etc/dhcp/dhcpd6.conf
  /etc/openldap/schema/dhcp.schema
  /etc/portreserve/dhcpd
  /etc/rc.d/init.d/dhcpd-->提供的服务脚本
  /etc/rc.d/init.d/dhcpd6-->提供的服务脚本
  /etc/rc.d/init.d/dhcrelay-->作为中继服务器是使用的
  /etc/sysconfig/dhcpd
  /etc/sysconfig/dhcpd6
  /etc/sysconfig/dhcrelay
  /usr/bin/omshell
  /usr/sbin/dhcpd
  /usr/sbin/dhcrelay
  /usr/share/doc/dhcp-4.1.1
  /usr/share/doc/dhcp-4.1.1/3.0b1-lease-convert
  /usr/share/doc/dhcp-4.1.1/IANA-arp-parameters
  /usr/share/doc/dhcp-4.1.1/README.ldap
  /usr/share/doc/dhcp-4.1.1/api+protocol
  /usr/share/doc/dhcp-4.1.1/dhclient-tz-exithook.sh
  /usr/share/doc/dhcp-4.1.1/dhcpd-conf-to-ldap
  /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample-->帮助文件
  /usr/share/doc/dhcp-4.1.1/dhcpd6.conf.sample
  /usr/share/doc/dhcp-4.1.1/draft-ietf-dhc-ldap-schema-01.txt
  /usr/share/doc/dhcp-4.1.1/ms2isc
  /usr/share/doc/dhcp-4.1.1/ms2isc/Registry.perlmodule
  /usr/share/doc/dhcp-4.1.1/ms2isc/ms2isc.pl
  /usr/share/doc/dhcp-4.1.1/ms2isc/readme.txt
  /usr/share/doc/dhcp-4.1.1/sethostname.sh
  /usr/share/doc/dhcp-4.1.1/solaris.init
  /usr/share/man/man1/omshell.1.gz
  /usr/share/man/man5/dhcpd.conf.5.gz
  /usr/share/man/man5/dhcpd.leases.5.gz
  /usr/share/man/man8/dhcpd.8.gz
  /usr/share/man/man8/dhcrelay.8.gz
  /var/lib/dhcpd-->用于存储dhcp运行过程中的数据文件
  /var/lib/dhcpd/dhcpd.leases-->租约信息
  /var/lib/dhcpd/dhcpd6.leases-->租约信息
  将/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample文件复制到/etc/dhcp/dhcpd.conf替换dhcpd.conf
#红色字体是解释内容,不属于文件内容
#橙色底色表示需要哦修改的参数
#非段落结束后要跟分号***********

# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
#
# option definitions common to all supported networks...

option domain-name "magelinux.com";   <--配置域名(域名在/etc/resolv.conf)
DSC0002.jpg

option domain-name-servers 172.16.118.18; <--服务器IP地址,也就是提供DHCP服务的主机IP,多个IP以逗号分隔

default-lease-time 86400; <--默认租约期限
max-lease-time 100000; <--最大租约期限

# Use this to enble / disable dynamic dns updates globally.
#ddns-update-style none;

# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
#authoritative;

# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).

log-facility local7; <--日志交给谁来记录

# No service will be given on this subnet, but declaring it helps the
# DHCP server to understand the network topology.

  subnet 10.152.187.0 netmask 255.255.255.0 {
} ---------删除信息


# This is a very basic subnet declaration.

subnet 172.16.0.0(指向自己的网络) netmask 255.255.0.0 { <--工作的网络
  range 172.16.118.10  172.16.118.40<--地址范围
  option routers 172.16.0.1; <--网关
  option domain-name “aolens.com";<-- 指定域名   可有可无
  option domain-name-servers  172.16.100.7;  <--指定IP地址   可有可无
host ubuntu {
        hardware ethernet 00:0c:29:eb:0d:65
        fixed-address 172.16.118.118
  option routers   172.16.0.2  <--Ubuntu的网关 可有可无
  }
DSC0003.jpg

}
  :. , $d -->删除光标到文本末尾的数据
  中以option开头的是为客户端提供配置信息的
  非option开头的是定义DHCP自己的工作特性
  service dhcpd start 启动DHCP服务
  tail /var/log/message查看日志,DHCP启动有没有错误
  DHCP默认监听在UDP:67号端口   DSC0004.jpg
  iptables在Linux系统上默认是启动的
  iptables -L -n
  service iptables start
  service iptables stop 关闭防火墙
  另一台电脑连接服务器获得的地址
DSC0005.jpg

  tail /var/lib/dhcpd/dhcpd.leases  租约信息
    DSC0006.jpg

  dhclient监听在UDP:68号端口;客户端的
  保留地址:不应该使用dhcp.conf里限定范围内的地址
DSC0007.jpg

  我们给个IP地址172.16.118.118
  在/etc/dhcp/dhcpd.conf中加入
DSC0008.jpg

  重启dhcp服务service dhcpd  restart
  结果目标主机的IP地址变为
    DSC0009.jpg

  chkconfig dhcpd on   开机启动
  dhcp服务器就配置好了。
  

  二:tftp 配置:
  

  tftp 小型文件传输协议:
  tftp使用UDP协议,工作在69号端口,也是基于C/S架构
  首先要安装tftp 和tftp-server服务器端包
  chkconfig查看发现瞬时守护进程都是关闭的
DSC00010.jpg

  打开的方法有二:
  1:chkconfig  SERVICE_NAME   on
  chkconfig  tftp on
  2:vim  /etc/xinetd.d/tftp
  该disnable=no
    DSC00011.jpg

  然后重启xinetd服务service xinetd restart
  rpm -ql tftp-server的
  /etc/xinetd.d/tftp
  /usr/sbin/in.tftpd
  /usr/share/doc/tftp-server-0.49
  /usr/share/doc/tftp-server-0.49/CHANGES
  /usr/share/doc/tftp-server-0.49/README
  /usr/share/doc/tftp-server-0.49/README.security
  /usr/share/doc/tftp-server-0.49/README.security.tftpboot
  /usr/share/man/man8/in.tftpd.8.gz
  /usr/share/man/man8/tftpd.8.gz
  /var/lib/tftpboot<--基于TFTP服务的文件都是放在此目录下
  在主机上也装上tftp,便可链接tftp-server服务器端。
  

  三:开始配置pxe:
  
  系统安装需要的文件
  vesamenu.c32-->用来启动一个图形界面
  splash.jpg-->图形界面背景图片
  vmlinux-->系统内核
  initrd.img-->
  isolinux.cfg-->图形界面的菜单选项
DSC00012.jpg

  配置dhcp服务器
  在subnet中加入
  next-server 192.168.1.23;
  filename “pxelinux.0”;
DSC00013.jpg

  service dhcpd force-reload加载dhcp服务器
  也可service  dhcpd restart重启
  此时我们就要开始往/var/lib/tftpboot/文件夹下存放需要从tftp服务器下载的文件
  首先是pxelinux.0文件,它存在于syslinux安装包,先安装syslinux
  rpm -ql syslinux|less查看pxelinux.0位置在:/usr/share/syslinux/pxelinux.0
  复制pxelinux.0到/var/lib/tftpboot/目录下
  cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/
  在/var/lib/tftpboot/目录下创建pxelinux.cfg文件目录
  mkdir  /var/lib/tftpboot/pxelinux.cfg
  复制vmlinuz和initrd.img内核文件到 /var/lib/tftpboot/下
  vmlinuz 和initrd.img在光盘镜像下的/images/pxeboot/下
  为了让安装程序显示为图形界面需要复制光盘镜像中
  /isolinux/{vesamenu.c32,splash.jpg}/var/lib/ttftpboot/
  还要复制光盘镜像中/isolinux/isolinux.cfg/var/lib/tftpboot/default目录下
      为default,给用户图形界面的安装菜单
  此时我们新创建一个虚拟机,把网卡设为第一顺序启动,结果
DSC00014.jpg

  创建yum源:
  将光盘镜像挂载到/var/www/html/cdroms/目录下即可
  现在还需要ks文件
  复制/root/anaconda-ks.cfg到/var/www/html/ksfile/ks.cfg下改名为ks.cfg
  给755权限
  修改ks文件的repo指向自己制作的yum源
  KS文件配置:
DSC00015.jpg

DSC00016.jpg

DSC00017.jpg


  打开新虚拟机即可

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-480491-1-1.html 上篇帖子: linux学习命令总结③ 下篇帖子: GoAgent_Linux Linux/Mac OSX系统使用教程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表