运维之pxe、dhcp、cobbler
把一个主机接入TCP/IP网络,要配置哪些网络参数:ip/mask、gateway、dns server;
参数配置方式:
1、静态配置;
2、动态分配:
a、bootp协议
b、dhcp协议:引入了“租约”的bootp;
DHCP:动态主机配置协议:
arp:address resolving protocol:地址解析协议:IP —> MAC
rarp:reverse arp:反向地址转换协议:MAC —> IP
监听的端口:server:67/udp;client:68/udp;
DHCP工作流程:
1、Client: dhcp discover:发现(广播)
2、Server: dhcp offer:(IP/netmask, gw,dns…)
lease time:租约期限
3、Client:dhcp request
4、Server: dhcp ack
DHCP续租:单播
50%,75%,87.5%
Linux DHCP协议的实现程序:dhcp, dnsmasq
dhcp:
1、dhcpd:dhcp服务
2、dhcrelay:dhcp中继
/etc/dhcp/dhcpd.conf
dhcp(ip/mask,gw,dns,filename,next-server);
tftp server(bootloader,kernel,inirtd,pexlinux.0);
chkconfig tftp on
systemctl enable tftp
# yum install dhcp
# vim /etc/dhcp/dhcpd.conf
subnet 192.168.86.0 netmask 255.255.255.0 { range 192.168.86.100 192.168.86.200; default-lease-time 600; max-lease-time 7200; filename "pxelinux.0"; next-server 192.168.86.14; }
# yum install tftp-server
# mv /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
#version=DEVEL
# System authorization information
#version=DEVEL
# System authorization information
url –url=”http://192.168.86.14/centos7″
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot –enable
ignoredisk –only-use=sda
# Keyboard layouts
keyboard –vckeymap=us –xlayouts=’us’
# System language
lang en_US.UTF-8
# Network information
network –bootproto=dhcp –device=eno16777736 –onboot=yes –ipv6=auto
network –hostname=localhost.localdomain
# Root password
# System services
services –disabled=”chronyd”
#version=DEVEL
# System authorization information
url –url=”http://192.168.86.131/centos7″
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot –enable
ignoredisk –only-use=sda
# Keyboard layouts
keyboard –vckeymap=us –xlayouts=’us’
# System language
lang en_US.UTF-8
# Network information
network –bootproto=dhcp –device=eno16777736 –onboot=yes –ipv6=auto
network –hostname=localhost.localdomain
# Root password
# System services
services –disabled=”chronyd”
# System timezone
timezone Asia/Shanghai –isUtc –nontp
# System bootloader configuration
bootloader –append=” crashkernel=auto” –location=mbr –boot-drive=sda
autopart –type=lvm
# Partition clearing information
clearpart –none –initlabel
%packages
@^minimal
@core
kexec-tools
%end
%addon com_redhat_kdump –enable –reserve-mb=’auto’
%end
管理distro
使cobbler变得可用的第一步为定义distro,其可以通过为其指定外部的安装引导内核及ramdisk文件的方式实现。而如果已经有完整的系统安装树(如CentOS6的安装镜像)则推荐使用import直接导入的方式进行。
例如,对于已经挂载至/media/cdrom目录的CentOS 6.5 x86_64的安装镜像,则可以使用类似如下命令进行导入。
# cobbler import –name=centos-6.5-x86_64 –path=/media/cdrom
可使用“cobbler distro list”列出所有的distro。
如果有kickstart文件,也可以使用“–kickstart=/path/to/kickstart_file”进行导入,因此import会自动为导入的distro生成一个profile。
管理profile
cobbler使用profile来为特定的需求类别提供所需要安装配置,即在distro的基础上通过提供kickstart文件来生成一个特定的系统安装配置。distro的profile可以出现在PXE的引导菜单中作为安装的选择之一。
因此,如果需要为前面创建的centos-6.5-x86_64这个distro提供一个可引导安装条目,其用到的kickstart文件为/tmp/centos-6.5-x86_64.cfg(只提供了最基本的程序包),则可通过如下命令实现。
# cobbler profile add –name=centos-6.5-x86_64-basic –distro=centos-6.5-x86_64 –kickstart=/tmp/centos-6.5-x86_64.cfg
可使用“cobbler profile list”查看已经创建的profile。
使用cobbler_web
配置cobbler_web的认证功能
cobbler_web支持多种认证方式,如authn_configfile、authn_ldap或authn_pam等,默认为authn_denyall,即拒绝所有用户登录。下面说明两种能认证用户登录cobbler_web的方式。
1、使用authn_pam模块认证cobbler_web用户
首先修改modules中[authentication]段的module参数的值为authn_pam。
接着添加系统用户,用户名和密码按需设定即可,例如下面的命令所示。
# useradd cblradmin
# echo ‘cblrpass’ | passwd –stdin cblradmin
而后将cblradmin用户添加至cobbler_web的admin组中。修改/etc/cobbler/users.conf文件,将cblradmin用户名添加为admin参数的值即可,如下所示。
[admins]
admin = “cblradmin”
最后重启cobblerd服务,通过http://YOUR_COBBLERD_IP/cobbler_web访问即可。
2、使用authn_configfile模块认证cobbler_web用户
首先修改modules.conf中[authentication]段的module参数的值为authn_configfile。
接着创建其认证文件/etc/cobbler/users.digest,并添加所需的用户即可。需要注意的是,添加第一个用户时,需要为htdigest命令使用“-c”选项,后续添加其他用户时不能再使用;另外,cobbler_web的realm只能为Cobbler。如下所示。
# htdigest -c /etc/cobbler/users.digest Cobbler cblradmin
最后重启cobblerd服务,通过http://YOUR_COBBLERD_IP/cobbler_web访问即可。注意:新版 Cobbler 的 Web 界面使用的是 https,登录URL:https://YOUR_COBBLERD_IP/cobbler_web
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/103707