美文网首页Linux运维
kickstart + tftp + dhcp + vsftp

kickstart + tftp + dhcp + vsftp

作者: 肖金光xjg | 来源:发表于2017-09-26 11:18 被阅读34次

    kickstart + tftp + dhcp + vsftp 做系统自动化安装

    前期准备

    关闭selinux

    setenforce 0  #实时关闭(临时)
    sed -i '/^SELINUX=/ s/enforcing/disabled/' /etc/selinux/config #永久关闭
    getenforce #实时状态
    

    关闭firewalld

    systemctl disalbe firewalld
    systemctl stop firewalld
    systemctl status firewalld
    

    配置yum源
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.def
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    sed -i '/aliyuncs/d' /etc/yum.repos.d/CentOS-Base.repo
    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    sed -i '/aliyuncs/d' /etc/yum.repos.d/epel.repo
    挂载光盘或者ISO文件

    mount /dev/cdrom /mnt
    或者
    mount -o loop /tmp/CentOS-7-x86_64-Everything-1611.iso /mnt
    

    配置dhcp服务

    yum -y install dhcp
    默认/etc/dhcp/dhcpd.conf配置为空,需要使用/usr/share/doc/dhcp*/dhcpd.conf.example模板,删除多余的subnet块
    修改/etc/dhcp/dhcpd.conf 配置文件,内容如下:

    subnet 10.1.1.0 netmask 255.255.255.0 { #所属网段及掩码;
    range 10.1.1.100 10.1.1.200; #IP地址池范围;
    option domain-name-servers 114.114.114.114;  #DNS地址,多个可以中逗号隔开
    option domain-name "linuxidc.seagate.com"; #域名服务器名称
    option routers 10.1.1.1; #网关IP;
    option broadcast-address 10.1.1.255; #广播地址
    next-server 10.1.1.41; #TFTP Server 的IP地址;
    filename "pxelinux.0"; #pxelinux 启动文件位置;
    default-lease-time 600; #默认租约时间
    max-lease-time 7200; #最大租约时间
    }
    

    在多网卡的情况下绑定网卡启动DHCP服务(选配)

    [root@localhost pub]# cat /usr/lib/systemd/system/dhcpd.service 
    [Unit]
    Description=DHCPv4 Server Daemon
    Documentation=man:dhcpd(8) man:dhcpd.conf(5)
    Wants=network-online.target
    After=network-online.target
    After=time-sync.target
    
    [Service]
    Type=notify
    ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid eno33554984
    
    [Install]
    WantedBy=multi-user.target
    

    启动DHCP服务

    systemctl enable dhcpd.service
    systemctl start dhcpd.service
    

    安装tftp

    yum install tftp-server xinetd –y //此步骤会安装两个包,一个是tftp-server另一个是xinetd。
    修改/etc/xinetd.d/tftp配置文件,内容如下:

    service tftp
    {
    socket_type = dgram
    protocol = udp
    wait = yes
    user = root
    server = /usr/sbin/in.tftpd
    server_args = -s /var/lib/tftpboot
    disable = no #把这行改成no即可;
    per_source = 11
    cps = 100 2
    flags = IPv4
    }
    

    启动xinetd服务

    systemctl enable xinetd.service
    systemctl start xinetd.service
    

    配置vsftp

    yum -y install vsftpd
    启动vsftpd服务

    systemctl start vsftpd.service
    systemctl enable vsftpd.service
    

    ftp提供系统盘远程访问
    mkdir /var/ftp/centos73
    cp -rf /mnt/* /var/ftp/centos73/

    配置pxe(tftp服务提供支持)

    yum -y install syslinux
    说明:syslinux是一个功能强大的引导加载程序,而且兼容各种介质。更加确切地说:SYSLINUX是一个小型的Linux操作系统,它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。
    复制启动文件到/var/lib/tftpboot

    cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
    mkdir /var/lib/tftpboot/pxelinux.cfg
    cd /mnt/isolinux/
    cp -rf initrd.img vmlinuz vesamenu.c32 boot.msg /var/lib/tftpboot/
    cp isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default  #PXE Boot Menu,可自定义配置
    

    检查

    # pwd
    /var/lib/tftpboot
    # ls
    initrd.img pxelinux.0 pxelinux.cfg vesamenu.c32 vmlinuz boot.msg
    

    生成sk.cfg文件

    第一种:通过图形界面工具system-config-kickstart生成

    yum -y install system-config-kickstart
    

    第二种:手动安装一个系统后,在/root目录有一个anaconda-ks.cfg文件,可做sk.cfg模板

    配置root密码
    openssl passwd -1 -salt 'bacjin' '123456' #bacjin是附带字符串,12345才是root密码

    [root@bktest tmp]# openssl passwd -1 -salt 'bacjin' '123456'
    $1$bacjin$8uyHr/X68TmoE5QdTGpA6.
    

    把输出内容替换如下iscrypted后面的字符串
    rootpw --iscrypted $1$bacjin$8uyHr/X68TmoE5QdTGpA6.

    把sk.cnf配置文件拷贝到ftp目录中
    cp /root/ks.cfg /var/ftp/

    定制引导页

    编辑/var/lib/tftpboot/pxelinux.cfg/default文件
    vim /var/lib/tftpboot/pxelinux.cfg/default

    label linux
      menu label ^Install CentOS Linux 7
      menu default
      kernel vmlinuz
      append initrd=initrd.img inst.stage2=ftp://10.1.1.41/centos73 inst.ks=ftp://10.1.1.41/ks.cfg quiet
    
    配置说明:
    timeout 600 引导页等待60秒后就使用默认选项
    menu default 引导页默认选择项,重要
    inst.stage2=ftp://10.1.1.41/centos73 inst.ks=ftp://10.1.1.41/ks.cfg  指定系统光盘和ks.cfg配置文件路径
    

    重启服务

    systemctl restart dhcpd
    systemctl restart vsftp
    systemctl restart xinetd

    查看监听端口
    netstat -tunpl

    附带ks.cnf配置

    #version=DEVEL
    # Install OS instead of upgrade
    install
    # Keyboard layouts
    keyboard 'us'
    # Root password
    rootpw --iscrypted $1$bacjin$8uyHr/X68TmoE5QdTGpA6.
    # Use network installation
    url --url="ftp://10.1.1.41/iso"
    # System language
    lang en_US
    # Firewall configuration
    firewall --disabled
    # System authorization information
    auth  --useshadow  --passalgo=sha512
    # Use graphical install
    graphical
    firstboot --disable
    # SELinux configuration
    selinux --disabled
    
    # Network information
    network  --bootproto=dhcp --device=ens33
    # Reboot after installation
    reboot
    # System timezone
    timezone Asia/Shanghai
    # System bootloader configuration
    bootloader --location=mbr
    # Clear the Master Boot Record
    zerombr
    # Partition clearing information
    clearpart --all --initlabel
    # Disk partitioning information
    part swap --fstype="swap" --size=1024
    part /boot --fstype="xfs" --size=200
    part / --fstype="xfs" --grow --size=1
    
    
    %packages
    @base
    @core
    @desktop-debugging
    @dial-up
    @fonts
    @gnome-desktop
    @guest-agents
    @guest-desktop-agents
    @input-methods
    @internet-browser
    @kde-desktop
    @multimedia
    @print-client
    @x11
    %end
    

    使用过程中的一些问题

    1,ks.cnf如果是在cobbler中,就不能有中文
    2, 光盘内容其实可以直接挂载到/var/ftp中,不过要重启vsftp才能看到里面的内容,还不如自己复制进去,
    3,同网络中如果有多个DHCP服务就会有冲突,最好是在独立的网段中,关闭路由器的DHCP服务
    4,整个流程是
    客户机从DHCP获取IP和tftp服务IP
    再从tftp服务加载引导文件及引导页
    再通过引导选项加载不同的ks.cnf和系统盘
    再按照ks.cnf安装系统

    相关文章

      网友评论

        本文标题:kickstart + tftp + dhcp + vsftp

        本文链接:https://www.haomeiwen.com/subject/hzhsextx.html