Ubuntu部署Dnsmasq实现Kickstart自动安装操作系统

更新apt-get源,安装所需软件
sudo apt-get install syslinux dnsmasq apache2

配置dnsmasq
sudo vim /etc/dnsmasq.conf
将以下项目前面的#去掉
bogus-priv
filterwin2k
interface=eth0
dhcp-range=192.168.44.100,192.168.44.120,12h
dhcp-boot=pxelinux.0
enable-tftp
tftp-root=/var/ftpd
dhcp-authoritative

上面interface后面的eth0表示监听这块网卡,若希望所有网卡联通的网络中都被服务,则注释掉这行

复制安装CentOS6所需文件
sudo mkdir -p /var/www/centos6 /mnt/cd /var/ftpd/pxelinux.cfg
sudo mount -o loop -t auto ~/iso/CentOS-6.2-x86_64-bin-DVD1.iso /mnt/cd
sudo cp -rv /mnt/cd/* /var/www/centos6
sudo cp -rv /mnt/cd/isolinux/* /var/ftpd
sudo cp /usr/lib/syslinux/pxelinux.0 /var/ftpd
sudo mv /var/ftpd/isolinux.cfg /var/ftpd/pxelinux.cfg/default
要部署Ubuntuserver12,也是把镜像挂好,复制全部文件到http目录,比如/var/www/ubuntuserver12,不过下面的步骤不用做了,下面的isolinux是制作pxe启动的,一份就够了

ubuntu server自动安装中可能会提示 was corrupt.这是一个bug
解决方法是直接touch一个空文件
sudo touch /var/www/ubuntu/dists/precise/restricted/binary-amd64/Packages
其中precise是ubuntu12.04.4版本代号如果是其他版本,就换成相应的代号

创建centos6 ks.cfg
sudo vim /var/www/centos6/ks.cfg
# centos6/ks.cfg
firewall --disabled
install
url --url
text
firstboot --disable
rootpw admaster
auth --useshadow --enablemd5
lang en_US
keyboard us
selinux --disabled
logging --level=info
reboot
timezone --isUtc Asia/Shanghai
network --bootproto=dhcp --device=eth0 --onboot=on
zerombr
bootloader --location=mbr
clearpart --all --initlabel
part swap --fstype="swap" --size=4096
part /boot --fstype="ext4" --size=200
part / --fstype="ext4" --size=1 --grow
%packages
openssh-server
openssh
vim

创建ubuntu ks.cfg
sudo vim /var/www/ubuntuserver12/ks.cfg
# ubuntuser kickstart file
install
url --url

preseed passwd/root-login boolean true
lang en_US
langsupport --default en_US.UTF-8 en_US.UTF-8

keyboard us
mouse
timezone Asia/Shanghai

rootpw --disabled
user john --fullname "john chu" --password admaster
reboot
text

bootloader --location=mbr
zerombr yes
clearpart --all --initlabel
partman-lvm/device_remove_lvm boolean true

partman-md/device_remove_md boolean true

part / --fstype ext4 --size 1 --grow --asprimary

# 不设置swap时安装过程中会提示要不要重新添加swap分区
part swap --size 4096

auth  --useshadow  --enablemd5
network --bootproto=dhcp --device=eth0
firewall --disabled
skipx

%packages
@ Base
openssh-server
openssh-client
vim
gcc
make


修改pxe启动菜单
sudo vim /var/ftpd/pxelinux.cfg/default
append ks=http://192.168.44.249/centos6/ks.cfg initrd=initrd.img


有其他系统就自行添加一下,注意把内核与initrd定位准确就可以

重启dnsmasq
sudo service dnsmasq restart

如果是安装ubuntu,有两点不同:1是ks文件略有不同;2是pxe启动后的引导菜单default文件,必须使用centos风格的,否则会找不到内核与初始化环境。ubuntu自带的default文件要和txt.cfg文件融合一下,然后注释掉ui和include这两行才行(个人观点)

DNSmasq 的详细介绍请点这里
DNSmasq 的下载地址请点这里

相关阅读

Ubuntu 10.10下DNSmasq和Named似有冲突

Ubuntu 8.10下使用DNSmasq提供DNS和DHCP服务

用DNSmasq搭建小型的内网DNS

Ubuntu Server 12.04下Cobbler + DNSmasq +tftpd-hpa的安装配置

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/3854d2e4329e9d1a4a7602365ea1bc75.html