ubuntu部署dnsmasq实现kickstart自动安装操作系统
2014-03-26 20:57
661 查看
参考资料
1、http://gm100861.blog.51cto.com/1930562/934661
更新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表示eth0是需要监听的网卡,若希望为本机各块网卡连接的网络提供服务,则注释掉这行,即默认各网卡都提供dhcp、dns、tftp服务。
vim /etc/sysconfig/iptables
放行udp 53 67 69 、tcp 53这些
复制安装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启动的,一份就够了
ubuntuserver自动安装中可能会提示http://192.168.44.249/ubuntuserver12/dists/precise/restricted/binary-amd64/Packages 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 http://192.168.44.249/centos6 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 http://192.168.44.249/ubuntuserver12
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这两行才行(个人观点)
1、http://gm100861.blog.51cto.com/1930562/934661
更新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表示eth0是需要监听的网卡,若希望为本机各块网卡连接的网络提供服务,则注释掉这行,即默认各网卡都提供dhcp、dns、tftp服务。
vim /etc/sysconfig/iptables
放行udp 53 67 69 、tcp 53这些
复制安装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启动的,一份就够了
ubuntuserver自动安装中可能会提示http://192.168.44.249/ubuntuserver12/dists/precise/restricted/binary-amd64/Packages 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 http://192.168.44.249/centos6 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 http://192.168.44.249/ubuntuserver12
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这两行才行(个人观点)
相关文章推荐
- 部署PXE高效批量网络装机并实现Kickstart无人值守自动安装
- 使用RHEL6.4部署PXE+kickstart,实现自动安装linux系统
- 使用光盘iso实现Linux操作系统的自动安装部署
- 虚拟机自动安装linux操作系统(kickstart+pxe+dhcp+tftp)
- RedHat7搭建无人值守自动安装Linux操作系统(PXE+Kickstart)
- kickstart+centos6.5+DHCP+TFTP+HTTP 实现自动部署系统
- Kickstart+tftp自动部署Ubuntu 14.04
- 使用Kickstart安装脚本全自动快速部署CentOS 6.0
- PXE引导结合kickstart自动配置系统实现自动化部署系统
- 自动化部署操作系统-Kickstart+PXE自动部署 推荐
- Kickstart+TFTP实现无人值守自动安装centos6.4
- DHCP+TFTP+VSFTP+pxelinux+kickstart实现RedHat的自动安装
- Kickstart+HTTP+DHCP+TFTP+PXElinux实现RedHat的网络自动安装
- kickstart,让linux自动完成安装操作系统
- 利用kickstart实现pxe自动安装linux
- Kickstart+PXE实现无人值守自动安装
- 利用Kickstart实现Pxe的自动安装
- 部署PXE远程安装服务 并实现Kickstart无人值守安装
- Kickstart 全自动安装部署RHEL 7.0
- centos用kickstart自动部署ubuntu12