码迷,mamicode.com
首页 > 其他好文 > 详细

CentOS7 网络安装流程

时间:2015-04-13 07:04:55      阅读:609      评论:0      收藏:0      [点我收藏+]

标签:centos pxe linux网络安装

一直就很想通过网络安装一下我钟爱的linux系统,老是搞不定,昨天花了一整天的时间来琢磨研究,功夫不负有心人,搞定啦!highing(妹的,怕用错单词 去查了下,妹的字典也骗人)我就要highing ^-^

怕以后忘了,特记作在此,废话少说,开始吧!

先说下原理:首先开机从网络启动,它需要从网络里面找dhcp服务器,dhcp服务器会给它分配ip地址、网关、dns、还有tftp服务,然后在tftp服务器里面找启动文件和启动配置文件,启动文件也就是所谓的bootloader,根据bootloader的配置文件,加载tftp服务器上的linux内核(vmlinuz)和虚拟文件系统(initrd.img),内核的配置参数 在bootloader配置文件里面已经指定,这里我不明白内核的配置参数为什么会由bootloader的配置文件提供,原来内核是由bootloader加载的,所以参数是它给内核提供,这样一看也不难理解了。内核参数里面,会包涵一个系统安装源,我选择nfs安装源,内核加载后,会加载安装源的文件并运行,(其实安装源上的文件就是一个linux安装光盘上的文件)这样其实相当于我们给系统运行了一张系统安装光盘,下面你就可以安装你的系统在你的机器上啦。

好了 说说具体怎么做的吧

一、安装配置dhcp服务器 它能提供ip、网关、dns、tftp服务器的地址和tftp服务器上bootloader的名字。

1、安装dhcp服务器sudo apt-get install isc-dhcp-server -y

2、配置dhcp服务:配置文件为/etc/dhcp/dhcpd.conf,内容如下

option space pxelinux;
option pxelinux.magic code 208 = string;
option pxelinux.configfile code 209 = text;
option pxelinux.pathprefix code 210 = text;
option pxelinux.reboottime code 211 = unsigned integer 32;
option architecture-type code 93 = unsigned integer 16;
option domain-name-servers 202.100.64.68;   \\dns
subnet 192.168.1.0 netmask 255.255.255.0 {
  option routers 192.168.1.1;    \\网关
  range 192.168.1.100   192.168.1.110; \\分配地址池

  class "pxeclients" {
      match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
      next-server 192.168.1.53;  \\nfs服务器地址

        filename "pxelinux/pxelinux.0";    \\nfs服务器上bootloader文件路径
      
  }
}
 注意:\\(注释)是我后面加上去的,真正的配置文件里面没有\\后面的内容,也包括\\(怕有些朋友不理解\\是注释的意思,啰嗦一下),下面的配置文件都是这样注释的。


二、安装配置tftp服务器  它能提供bootloader文件和配置文件 linux内核,linux虚拟文件系统文件。

1、安装tftp服务器sudo apt-get install tftpd tftp -y
    其实这一步我把tftp客户端也装上了

2、配置tftp服务器

配置文件为/etc/xinetd.d/tftp

内容如下:

service tftp
{
protocol        = udp
port            = 69
socket_type     = dgram
wait            = yes
user            = nobody
server          = /usr/sbin/in.tftpd
server_args     = /tftpboot\\tftp根目录
disable         = no \\xinet服务里是否关闭tftp服务 no即为开
}

3、放置相应的文件在/tftpboot目录下

    3.1/tftpboot/pxelinux目录下文件及目录

initrd.img  pxelinux.0  pxelinux.cfg(此处为目录)  vesamenu.c32  vmlinuz

分别说明各文件

    initrd.img(linux虚拟文件系统文件,linux安装光盘isolinux目录里面的)

    pxelinux.0(bootloader文件,网上下载的,各处找不到,云盘里面搜的)

    vesamenu.c32(bootloader调用的一个文件,我是安装了syslinux,然后(dpkg -L syslinux| grep vesamenu.c32)搜索这个文件的安装位置,copy过来的。)

    vmlinuz(linux内核文件,linux安装光盘isolinux目录里面的)

    3.2添加pxelinux.0的配置文件

        mkdir pxelinux.cfg

        cd pxelinux.cfg

        sudo vim default

        default文件内容如下:

default vesamenu.c32
prompt 1
timeout 600

label linux
  menu label Install system
  menu default
  kernel vmlinuz
  append initrd=initrd.img ip=dhcp inst.repo=nfs:192.168.1.53:/nfs \\指定了nfs服务器的ip地址

保存退出

三、配置nfs服务器 提供nfs服务,共享一张安装光盘

    1、安装nfs服务程序及客户端程序sudo apt-get install nfs-kernel-server nfs-common -y

    2、配置nfs服务 配置文件为/etc/exports

    内容如下:

    /nfs    *(rw,sync,no_root_squash)

    3、创建/nfs目录,并挂在CentOS.iso文件

           sudo  cd /;mkdir nfs

           sudo  mount CentOS.iso /nfs

四、启动三个服务

    sudo service isc-dhcp-server restart;sudo service nfs-kernel-server restart;sudo service xinetd restart

^-^大功搞成,去测试吧!


本文出自 “厚德载福” 博客,请务必保留此出处http://jerrywilson.blog.51cto.com/8326089/1631638

CentOS7 网络安装流程

标签:centos pxe linux网络安装

原文地址:http://jerrywilson.blog.51cto.com/8326089/1631638

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!