Pxe+DHCP+NFS+Kickstart 配置

Pxe+DHCP+NFS+Kickstart 配置

#检查NFS
[root@localhost ~]# rpm -aq |grep nfs
nfs-utils-1.2.3-70.el6_8.1.x86_64
nfs-utils-lib-1.1.5-11.el6.x86_64

mkdir /data/sys -p
mount /dev/cdrom /mnt
cp -a /mnt/* /data/sys/
echo "/data/sys 192.168.1.0/24(ro,sync)" >>/etc/exports
/etc/init.d/rpcbind start
/etc/init.d/nfs start
chkconfig rpcbind on
chkconfig nfs on

#检查nfs
[root@localhost ~]# showmount -e 192.168.1.10
Export list for 192.168.1.10:
/data/sys 192.168.1.0/24

yum install tftp-server* -y

cat >/etc/xinetd.d/tftp <<EOF
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}
EOF

[root@localhost ~]# /etc/init.d/xinetd start
Starting xinetd:                                           [  OK  ]
[root@localhost ~]# chkconfig xinetd on

yum install -y syslinux 

\cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
\cp /data/sys/images/pxeboot/vmlinuz /var/lib/tftpboot/
\cp /data/sys/images/pxeboot/initrd.img /var/lib/tftpboot/

mkdir -p /var/lib/tftpboot/pxelinux.cfg
\cp /data/sys/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

cat >/var/lib/tftpboot/pxelinux.cfg/default<<EOF
default local
prompt 1
timeout 100
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
  kernel vmlinuz
  append initrd=initrd.img
label test
  kernel vmlinuz
  append ks=nfs:192.168.136.10:/data/sys/kickstart/ks.cfg ksdevice=eth1 initrd=initrd.img text
label ks
  kernel vmlinuz
  append ks initrd=initrd.img
label local
  localboot 1
label memtest86
  kernel memtest
  append -
EOF

sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
yum install dhcp -y

cat >>/etc/dhcp/dhcpd.conf <<EOF
ddns-update-style none;
ignore client-updates;
allow booting;#允许PXE启动
allow bootp;#允许bootp
default-lease-time 21600;
max-lease-time 43200;
option routers 192.168.1.1;
subnet 192.168.1.0 netmask 255.255.255.0{
range dynamic-bootp 192.168.1.50 192.168.1.99;
next-server 192.168.1.10; #TFTP server的IP地址
filename "pxelinux.0"; #pxelinux启动文件位置
}
EOF

/etc/init.d/dhcpd start
chkconfig dhcpd on
mkdir -p /data/sys/kickstart
\cp /root/anaconda-ks.cfg /data/sys/kickstart/ks.cfg
chmod 644 /data/sys/kickstart/ks.cfg


[root@localhost ~]# cat /data/sys/kickstart/ks.cfg
# Kickstart file automatically generated by anaconda.
#version=DEVEL
install
nfs --server=192.168.136.10 --dir=/data/sys
lang en_US.UTF-8
keyboard us
network --device eth0 --bootproto dhcp --hostname lvs-01
#set static ip
#network --device eth0 --bootproto static --ip 192.168.136.19 --netmask 255.255.255.0 --gateway 192.168.136.1 --nameserver 192.168.136.1 --hostname lvs-01
rootpw  123456
firewall --service=ssh
authconfig --enableshadow --enablemd5
selinux --disabled
firewall --disabled
timezone --utc Asia/Shanghai
bootloader --location=mbr --driveorder=sda
firstboot --disabled
logging --level=info
zerombr
clearpart --all

#part /boot --fstype=ext4 --size=200 --asprimary
#part swap --size=1024
#part / --fstype=ext4 --size=1 --grow --asprimary

reboot
%packages
@base
@core
@development-libs
@development-tools
@editors
@system-tools
@x-software-development
%post
#base init configureation
echo "nameserver 8.8.8.8" >>/etc/resolv.conf
mkdir -p /server/{scripts,backup}
#add users
useradd oldboy
echo "123456" |passwd --stdin oldboy
echo "oldboy ALL=(ALL) NOPASSWD:ALL" >/etc/sudoers
#service configuration
for service in `chkconfig --list|awk '{print $1}'|egrep -v "^$"|awk -F ":" '{print $1}'`;do chkconfig $service off;done
for service in crond sshd syslog network;do chkconfig $service on;done
#config ssh
\cp /etc/ssh/sshd_config /etc/ssh/sshd_config.`date +"%Y-%m-%d_%H-%M-%S"`
sed -i 's%#Port 22%Port 52113%g' /etc/ssh/sshd_config
sed -i 's%#PermitRootLogin yes%PermitRootLogin no%g' /etc/ssh/sshd_config
sed -i 's%#PermitEmptyPasswords no%PermitEmptyPasswords no%g' /etc/ssh/sshd_config
sed -i 's%#UseDNS yes%UseDNS no%g' /etc/ssh/sshd_config

#centos6.5要加权限
chmod -R a+x /data/sys

 

posted @ 2019-10-21 15:11  些许记忆  阅读(615)  评论(0编辑  收藏  举报