LINUX网络自动化安装

LINUX网络自动化安装

服务端(192.168.1.107)

1.关闭iptables与selinux

service iptables stop

#chkconfig iptables off

setenforce 0

或vi /etc/selinux/config

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

# enforcing – SELinux security policy is enforced.

# permissive – SELinux prints warnings instead of enforcing.

# disabled – SELinux is fully disabled.

#SELINUX=enforcing注释掉

SELINUX=disabled

# SELINUXTYPE= type of policy in use. Possible values are:

# targeted – Only targeted network daemons are protected.

# strict – Full SELinux protection.

2.配置YUM源

cp /etc/yum.repos.d/rhel-debuginfo.repo /etc/yum.repos.d/yum.repo

vi /etc/yum.repos.d/yum.repo

[Base]

name=Red Hat Enterprise Linux

baseurl=file:///media/Server

enabled=1

gpgcheck=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

3.安装DHCP TFTP VSFTP SYSLINUX SYSTEM-CONFIG-KICKSTART

先挂盘 mount /dev/cdrom /media/

yum install -y vsftpd*

yum install -y dhcp*

yum install -y system-config-kickstart

yum install -y tftp*

yum install -y syslinux*

4。配置DHCP

vi /etc/dhcpd.conf

#

# DHCP Server Configuration file.

# see /usr/share/doc/dhcp*/dhcpd.conf.sample

#

——一开始这个配置文件只有上面几行,按照提示输入冒号:

:r /usr/share/doc/dhcp*/dhcpd.conf.sample回车后下面就有了

ddns-update-style interim;

ignore client-updates;

# allow boot from network use PXE

allow booting;

allow bootp;

subnet 192.168.1.0 netmask 255.255.255.0 {

网关和子网掩码

# — default gateway

option routers 192.168.1.1;为客户端设定默认网关

option subnet-mask 255.255.255.0;为客户端设定子网掩码

# option nis-domain "domain.org";为客户端配置NIS域

# option domain-name "domain.org";为客户端指明DNS名字

# option domain-name-servers 192.168.1.1;为客户端指明DNS服务器IP地址

option time-offset -18000; # Eastern Standard Time为客户端设定和格林威治时间的偏移时间,单位是秒

# option ntp-servers 192.168.1.1;

# option netbios-name-servers 192.168.1.1;

# — Selects point-to-point node (default is hybrid). Don’t change this unless

# — you understand Netbios very well

# option netbios-node-type 2;

range dynamic-bootp 192.168.1.128 192.168.1.254;为客户端提供的ip起止范围

default-lease-time 21600;

max-lease-time 43200;

# next-server is the tftp server.

# filename is boot image file under tftp root

next-server 192.168.1.107;从这个主机找引导文件

filename "pxelinux.0";

# we want the nameserver to appear at a fixed address

host ns {

next-server marvin.redhat.com;

hardware ethernet 12:34:56:78:AB:CD;

fixed-address 207.175.42.254;

}

}

5.配置TFTP

vi /etc/xinetd.d/tftp

# default: off

# description: The tftp server serves files using the trivial file transfer \

# protocol. The tftp protocol is often used to boot diskless \

# workstations, download configuration files to network-aware printers, \

# and to start the installation process for some operating systems.

service tftp

{

disable = no

socket_type = dgram

protocol = udp

wait = yes

user = root

server = /usr/sbin/in.tftpd

server_args = -u nobody -s /tftpboot

per_source = 11

cps = 100 2

flags = IPv4

}

6.启动dhcp tftp

service dhcpd start

service xinetd start

chkconfig dhcpd on

chkconfig xinetd on

启动之后根目录下应该就会有/tftpboot目录了,没有就自己创建吧╮(╯_╰)╭

7.配置PXE

cp /usr/lib/syslinux/pxelinux.0 /tftpboot

cp /media/images/pxeboot/{vmlinuz,initrd.img} /tftpboot/

mkdir /tftpboot/pxelinux.cfg

cp /media/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default

vi /tftpboot/pxelinux.cfg/default

default linux

prompt 1

#timeout 600

timeout 6

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

append ks=ftp://192.168.1.107/ks.cfg initrd=initrd.img

把这改了,注意ks.cfg文件位置,由于我们配置的是ftp,,匿名用户登录的文件夹是/var/ftp/pub,所以之后的ks.cfg要放在这个目录下

label text

kernel vmlinuz

append initrd=initrd.img text

label ks

kernel vmlinuz

append ks initrd=initrd.img

label local

localboot 1

label memtest86

kernel memtest

append –

8.配置KICKSTART

系统安装完成后,默认会在/root下生成一个anaconda-ks.cfg

我们可以找一台服务器的拿下来改一改再用

cp /root/anaconda-ks.cfg /var/ftp/pub/ks.cfg

vi /var/ftp/pub/ks.cfg

# Kickstart file automatically generated by anaconda.

install

#cdrom

url —url=ftp://192.168.1.107/redhat/

我们使用的ftp,所以将cdrom注释掉,不然客户机会去cdrom找安装文件

我们的安装光盘文件之后要复制到/var/ftp/pub/redhat文件夹内

key –skip

lang zh_CN.UTF-8

keyboard us

xconfig –startxonboot

network –device eth0 –bootproto dhcp

rootpw oracle设置root密码

firewall –disabled

authconfig –enableshadow –enablemd5

selinux –disabled

timezone –utc Asia/Shanghai

bootloader –location=mbr –driveorder=sda –append="rhgb quiet"

# The following is the partition information you requested

# Note that any partitions you deleted are not expressed

# here so unless you clear all partitions first, this is

# not guaranteed to work

#clearpart –all –drives=sda

clearpart –all —initlabel这行必须要加不然会让你手动点确认

———————————————————————————————

下面配置boot

还可以创建逻辑卷,前提是创建pv

part /boot –fstype ext3 –size=100 –ondisk=sda

part pv.2 –size=0 –grow –ondisk=sda

volgroup VolGroup00 –pesize=32768 pv.2

logvol / –fstype ext3 –name=LogVol00 –vgname=VolGroup00 –size=1024 –grow

logvol swap –fstype swap –name=LogVol01 –vgname=VolGroup00 –size=1008 –grow –maxsize=2016

reboot安装后自动重启,不然又要手动点

%packages

@admin-tools

@base

@chinese-support

@core

@development-libs

@development-tools

@dialup

@editors

@ftp-server

@gnome-desktop

@gnome-software-development

@games

@graphical-internet

@graphics

@java

@java-development

@kde-desktop

@kde-software-development

@legacy-software-development

@legacy-software-support

@mail-server

@office

@printing

@ruby

@sound-and-video

@system-tools

@text-internet

@x-software-development

@base-x

kexec-tools

fipscheck

device-mapper-multipath

sgpio

python-dmidecode

imake

emacs

libsane-hpaio

audit

mesa-libGLU-devel

xorg-x11-utils

xorg-x11-server-Xnest

xorg-x11-server-Xvfb

我们还可以在安装后执行脚本去修改主机名等信息

通过

%post后面跟脚本

%post

ntpdate -b 172.16.0.1

hwclock –systohc –utc

cat > /etc/ntp.conf <<END

restrictdefaultignore

restrict 127.0.0.1

restrict 172.16.0.1

server 172.16.0.1

driftfile /var/lib/ntp/drift

broadcastdelay 0.008

END

echo"172.16.0.1">> /etc/ntp/step-tickers

chkconfig ntpd on

useradd student

echo"student"| passwd –stdin student

useradd visitor

echo"password"| passwd –stdin visitor

mkdir /home/student/Desktop

${httpget} -source > /home/student/Desktop/Class\ Interactives.desktop

chown -R student:student /home/student/Desktop

perl -pi -e ‘s,DAILY_UPDATE=no,DAILY_UPDATE=yes,g’ /etc/updatedb.conf

最后付一个kickstart配置详解:

9.最后拷贝安装文件至ftp目录

cp -r /media/* /var/ftp/pub/redhat/

之后就可以启动客户机安装了

安装原理:

1客户机的BIOS 设置为从网络启动

2客户机从DHCP 服务器获取IP 地址

3客户机从DHCP 服务器指定的TFTP 加载引导镜像

4根据TFTP 服务器中的配置文件开始自动化安装。如果配置文件给的信息太少,将会进入交互的安装模式。交互安装模式中,可以选择安装介质在网络上的位置及访问方式。

DHCP服务器获取IP地址-TFTP获取引导镜像-TFTP中找pxe配置文件-pxe配置文件中获取ks.cfg文件-ks.cfg文件中获取安装信息和安装文件位置

客户机获取到IP 地址之后,会到TFTP 服务器的/tftpboot/pxelinux.cfg目录下寻找配置文件。

在乎的是看风景的心情,旅行不会因为美丽的风景终止。

LINUX网络自动化安装

相关文章:

你感兴趣的文章:

标签云: