批量Linux 网络安装环境建立工具cobbler/kickstart

简介: 批量Linux 网络安装环境建立工具网络安装服务器套件:     Cobbler(Red Hat 2008年发布的项目)    Kickstart(Red Hat08年前项目,相关脚本令人望而却步,现今应用渐移cobbler,在cobbler中仅遗骨架,事件类似于perl用户遗向pythno) 相...

批量Linux 网络安装环境建立工具
网络安装服务器套件:
     Cobbler(Red Hat 2008年发布的项目)
    Kickstart(Red Hat08年前项目,相关脚本令人望而却步,现今应用渐移cobbler,在cobbler中仅遗骨架,事件类似于perl用户遗向pythno)

相关名词ruiy哥就真不想解释了,很明显这个  baidu/google是专家  ruiy哥不是,再说了ruiy哥也就那两板斧子哈,;


技术细节=> PXE(Pre-boot Execution Environment),DHCP,TFTP

在此问看管们个ruiy哥所不解之谜题?为什么赵高可以指鹿为马?

ruiy哥为事遵循,严谨高效,务实实干;

凡是开心就好,朋友交的是真心,不是假意;


1,epel
wget http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm  #CentOS 5.x 64位
wget http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm  #CentOS 5.x 32位
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm  #CentOS6.x 64位

wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm  #CentOS6.x 32位

2,安装cobbler
yum  install cobbler tftp tftp-server xinetd  dhcp  httpd  rsync  #安装cobbler

yum  install  pykickstart  debmirror  python-ctypes   cman   #安装运行cobbler需要的软件包

Python Web Server Gateway Interface (wsgi,wsgi.conf)
3,cobbler配置

设置http服务

vi /etc/httpd/conf.d/wsgi.conf

LoadModule wsgi_module modules/mod_wsgi.so  #取消前面的注释

设置tftp服务开机启动

vi  /etc/cobbler/tftpd.template

设置rsync服务开机启动

vi /etc/xinetd.d/rsync

/etc/init.d/xinetd start  #启动(CentOS中是以xinetd 来管理Rsync和tftp服务的

配置cobbler相关参数

vi /etc/debmirror.conf  #注释掉 @dists 和 @arches 两行

 

#@dists="sid";

 

#@arches="i386";

openssl passwd -1 -salt 'ruiy' '123456#生成默认模板下系统安装完成之后root账号登录密码

vi /etc/cobbler/settings

修改与下几行成

 

default_password_crypted: "添加上面生成的秘钥,这里填写你自己的哈"

 

next_server: 192.168.1.109

 

server: 192.168.1.109

 

manage_dhcp: 1

 

default_kickstart: /var/lib/cobbler/kickstarts/default.ks

配置dhcp服务器

 

vi /etc/cobbler/dhcp.template #编辑,修改

 

subnet 192.168.1.0 netmask 255.255.255.0 { #设置网段

 

option routers             192.168.1.109; #设置网关

 

option domain-name-servers 8.8.8.8,8.8.4.4; #设置dns服务器地址

 

option subnet-mask         255.255.255.0; #设置子网掩码

 

range dynamic-bootp        192.168.1.110 192.168.1.150;  #设置dhcp服务器IP地址租用的范围

 

vi /etc/sysconfig/dhcpd   #指定DHCP服务的网络接口

 

DHCPDARGS=eth0

dhcpd  #测试dhcp服务器配置是否正确

chkconfig dhcpd on   #设置开机启动

chkconfig cobblerd on   #设置开机启动

service cobblerd start  #启动cobbler

cobbler get-loaders  #安装cobbler相关工具包,否则检查cobbler配置会报错

cobbler sync  #同步配置文件到dhcp服务器

service dhcpd start    #启动dhcp服务

设置cobbler相关服务启动脚本

vi /etc/rc.d/init.d/cobbler #编辑,添加以下代码

#!/bin/sh

# chkconfig: - 80 90

# description:cobbler

case $1 in

start)

/etc/init.d/httpd start

/etc/init.d/xinetd start

/etc/init.d/dhcpd start

/etc/init.d/cobblerd start

;;

stop)

/etc/init.d/httpd stop

/etc/init.d/xinetd stop

/etc/init.d/dhcpd stop

/etc/init.d/cobblerd stop

;;

restart)

/etc/init.d/httpd restart

/etc/init.d/xinetd restart

/etc/init.d/dhcpd restart

/etc/init.d/cobblerd restart

;;

status)

/etc/init.d/httpd status

/etc/init.d/xinetd status

/etc/init.d/dhcpd status

/etc/init.d/cobblerd status

;;

sync)

cobbler sync

;;

*)

echo "Input error,please in put 'start|stop|restart|status|sync'!";

exit 2>&1 >/dev/null &

;;

esac

chmod +x /etc/rc.d/init.d/cobbler  #添加脚本执行权限

chkconfig cobbler on  #添加开机启动

service cobbler  restart  #重启cobbler

cobbler  check  #检查cobbler配置

4,挂载系统安装镜像到http服务器站点目录

mount -t iso9660 -o rw,loop /usr/local/src/CentOS-6.5-x86_64-bin-DVD1.iso  /var/www/html/os/CentOS-6.5-x86_64-bin-DVD1 #挂载系统镜像(自行确保相关目录已存在)

vi /etc/fstab   #添加以下代码。实现开机自动挂载

/usr/local/src/CentOS-6.5-x86_64-bin-DVD1.iso   /var/www/html/os/CentOS-6.5-x86_64-bin-DVD1   iso9660    defaults,ro,loop  0 0

 5,创建kickstarts自动安装脚本

/var/lib/cobbler/kickstarts/CentOS-5.10-x86_64.ks  #创建CentOS6安装脚本可下载从如下链接

 

 

vi /var/www/cobbler/ks_mirror/config/autoip.sh  #创建脚本,自动设置Linux系统静态IP地址、DNS、网关、计算机名称

 

#!/bin/sh

 

ROUTE=$(route -n|grep "^0.0.0.0"|awk '{print $2}')

 

BROADCAST=$(/sbin/ifconfig eth0|grep -i bcast|awk '{print $3}'|awk -F":" '{print $2}')

 

HWADDR=$(/sbin/ifconfig eth0|grep -i HWaddr|awk '{print $5}')

 

IPADDR=$(/sbin/ifconfig eth0|grep "inet addr"|awk '{print $2}'|awk -F":" '{print $2}')

 

NETMASK=$(/sbin/ifconfig eth0|grep "inet addr"|awk '{print $4}'|awk -F":" '{print $2}')

 

cat >/etc/sysconfig/network-scripts/ifcfg-eth0<<EOF

 

DEVICE=eth0

 

BOOTPROTO=static

 

BROADCAST=$BROADCAST

 

HWADDR=$HWADDR

 

IPADDR=$IPADDR

 

NETMASK=$NETMASK

 

GATEWAY=$ROUTE

 

ONBOOT=yes

 

EOF

 

IPADDR1=$(echo $IPADDR|awk -F"." '{print $4}')

 

cat >/etc/sysconfig/network-scripts/ifcfg-eth1<<EOF

 

DEVICE=eth1

 

BOOTPROTO=static

 

BROADCAST=10.0.0.255

 

HWADDR=$(/sbin/ifconfig eth1|grep -i HWaddr|awk '{print $5}')

 

IPADDR=10.0.0.$IPADDR1

 

NETMASK=255.255.255.0

 

ONBOOT=yes

 

EOF

 

HOSTNAME=ruiy_$(echo $IPADDR|awk -F"." '{print $4}')

 

cat >/etc/sysconfig/network<<EOF

 

NETWORKING=yes

 

NETWORKING_IPV6=no

 

HOSTNAME=$HOSTNAME

 

GATEWAY=$ROUTE

 

EOF

 

echo "127.0.0.1  $HOSTNAME" >> /etc/hosts

 

hostname=$HOSTNAME

 

echo "nameserver  8.8.8.8"  > /etc/resolv.conf

 

echo "nameserver  8.8.4.4" >> /etc/resolv.conf

6,导入系统镜像到cobbler

cobbler import --path=/var/www/html/os/Centos/ --name=CentOS --arch=x86_64

 

系统镜像导入目录/var/www/cobbler/ks_mirror

导入镜像有点小消耗,务必请你耐心等候,毕竟镜像size =4.2G左右;

命令格式:cobbler import --path=镜像路径 -- name=安装引导名 --arch=32位或64位

重复上面的操作,把其他的系统镜像文件导入到cobbler

八、设置profile,按照操作系统版本分别关联系统镜像文件和kickstart自动安装文件

在第一次导入系统镜像时,cobbler会给安装镜像指定一个默认的kickstart自动安装文件

例如:CentOS6-x86_64版本的kickstart自动安装文件为:/var/lib/cobbler/kickstarts/sample.ks

查看profile

 

cobbler profile report --name  CentOS6-x86_64  #查看profile设置

cobbler distro report --name CentOS6-x86_64 #查看安装镜像文件信息

cobbler profile remove --name=CentOS6-x86_64  #移除profile

 

cobbler profile remove --name=CentOS6-x86_64
cobbler profile add --name=CentOS6-x86_64 --distro=CentOS6-x86_64 --kickstart=/var/lib/cobbler/kickstarts/Centos6.ks

 要是虚拟机的话,请设置网络桥接

 有点小问题,Repairing;

 

目录
相关文章
|
9天前
|
安全 Linux 虚拟化
网络名称空间在Linux虚拟化技术中的位置
网络名称空间(Network Namespaces)是Linux内核特性之一,提供了隔离网络环境的能力,使得每个网络名称空间都拥有独立的网络设备、IP地址、路由表、端口号范围以及iptables规则等。这一特性在Linux虚拟化技术中占据了核心位置🌟,它不仅为构建轻量级虚拟化解决方案(如容器📦)提供了基础支持,也在传统的虚拟机技术中发挥作用,实现资源隔离和网络虚拟化。
网络名称空间在Linux虚拟化技术中的位置
|
9天前
|
缓存 Linux 测试技术
安装【银河麒麟V10】linux系统--并挂载镜像
安装【银河麒麟V10】linux系统--并挂载镜像
59 0
|
9天前
|
网络协议 安全 Linux
Linux网络名称空间之独立网络资源管理
Linux网络名称空间是一种强大的虚拟化技术🛠️,它允许用户创建隔离的网络环境🌐,每个环境拥有独立的网络资源和配置。这项技术对于云计算☁️、容器化应用📦和网络安全🔒等领域至关重要。本文将详细介绍在Linux网络名称空间中可以拥有的独立网络资源,并指出应用开发人员在使用时应注意的重点。
|
9天前
|
安全 网络协议 Linux
Linux网络名称空间概述
Linux网络名称空间是操作系统级别的一种虚拟化技术🔄,它允许创建隔离的网络环境🌐,使得每个环境拥有自己独立的网络资源,如IP地址📍、路由表🗺️、防火墙规则🔥等。这种技术是Linux内核功能的一部分,为不同的用户空间进程提供了一种创建和使用独立网络协议栈的方式。本文旨在全方面、多维度解释Linux网络名称空间的概念、必要性和作用。
Linux网络名称空间概述
|
9天前
|
Linux C语言
linux yum安装ffmpeg 图文详解
linux yum安装ffmpeg 图文详解
27 0
|
9天前
|
NoSQL Linux Redis
linux 下和win下安装redis 并添加开机自启 图文详解
linux 下和win下安装redis 并添加开机自启 图文详解
15 0
|
7天前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
20 6
|
2天前
|
关系型数据库 MySQL Linux
Linux联网安装MySQL Server
Linux联网安装MySQL Server
10 0
|
3天前
|
监控 安全 网络安全
云端防御:云计算环境中的网络安全策略与实践
【4月更文挑战第15天】 在数字化转型的时代,云计算已成为企业运营不可或缺的技术支撑。然而,随着云服务模式的广泛采纳,网络安全挑战亦随之而来。本文深入探讨了云计算环境下的安全威胁,分析了云服务模型对安全策略的影响,并提出了一系列创新的网络安全防护措施。通过研究最新的加密技术、访问控制机制和持续监控方法,文章旨在为企业提供一个综合性的网络安全框架,以确保其云基础设施和数据的安全性和完整性。
20 8
|
3天前
|
云安全 安全 网络安全
构筑防御堡垒:云计算环境下的网络安全策略
【4月更文挑战第15天】 在数字转型的浪潮中,云计算已成为企业部署应用和存储数据的首选平台。然而,随着云服务的普及,网络安全威胁也随之增加,给企业带来了前所未有的挑战。本文深入探讨了云计算环境中的网络安全问题,分析了云服务模型(IaaS, PaaS, SaaS)的安全风险,并提出了一系列针对性的安全措施。通过对最新的安全技术、合规性要求及最佳实践的综合评述,本文旨在为读者提供一套全面的云安全策略框架,以增强云环境下的信息安全。