Ansible検証環境作ろうかなと思って
どうせならOSインストールの自動化環境から作ろうと
夜中2時からkickstarterサーバを作ろうとした
インターネットで調べると
いろんな人がネットに手順とかあげているので
ほぼコピペで1時間ぐらいだろっと思ってたら
なぜかできなくて
別の記事の手順→できない→環境戻し
別の記事の手順→できない→環境戻し
を繰り返して気が付いたら3時間ぐらい使ったけどできなかった
Kickstartどころか
その前のpxeさえ終わらない。
TFTPがつながらなくて
10分ぐらい待たされた上に
こうなる
あきらめて寝た。
次の日
やってみると15分ぐらいですぐできた。
夜中にやるのやめようと思った。
痛い目にあったので、
大事なところ以外削ったログを残しとく
とりあえずpxe環境を作るまでの手順。
ほとんどの参考は
https://www.linuxtechi.com/configure-pxe-installation-server-centos-7/
今回の環境情報
[root@kickstarter ~]# ip a
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
inet 192.168.101.44/24 brd 192.168.101.255 scope global dynamic eth0
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
inet 192.168.10.10/24 brd 192.168.10.255 scope global eth1
どうせならOSインストールの自動化環境から作ろうと
夜中2時からkickstarterサーバを作ろうとした
インターネットで調べると
いろんな人がネットに手順とかあげているので
ほぼコピペで1時間ぐらいだろっと思ってたら
なぜかできなくて
別の記事の手順→できない→環境戻し
別の記事の手順→できない→環境戻し
を繰り返して気が付いたら3時間ぐらい使ったけどできなかった
Kickstartどころか
その前のpxeさえ終わらない。
TFTPがつながらなくて
10分ぐらい待たされた上に
こうなる
あきらめて寝た。
次の日
やってみると15分ぐらいですぐできた。
夜中にやるのやめようと思った。
痛い目にあったので、
大事なところ以外削ったログを残しとく
とりあえずpxe環境を作るまでの手順。
ほとんどの参考は
https://www.linuxtechi.com/configure-pxe-installation-server-centos-7/
今回の環境情報
[root@kickstarter ~]# ip a
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
inet 192.168.101.44/24 brd 192.168.101.255 scope global dynamic eth0
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
inet 192.168.10.10/24 brd 192.168.10.255 scope global eth1
[root@kickstarter ~]# ls /home/iso/
CentOS-7-x86_64-DVD-1611.iso
CentOS-7-x86_64-DVD-1611.iso
[root@kickstarter ~]# getenforce
Enforcing
Enforcing
手順
[root@kickstarter ~]# yum install -y dhcp tftp tftp-server syslinux vsftpd xinetd
[root@kickstarter ~]# vi /etc/dhcp/dhcpd.conf
[root@kickstarter ~]# cat /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
default-lease-time 600;
max-lease-time 7200;
authoritative;
subnet 192.168.10.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.10.50 192.168.10.149;
filename "pxelinux.0";
next-server 192.168.10.10;
}
[root@kickstarter ~]# vi /etc/xinetd.d/tftp
[root@kickstarter ~]# cat /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
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s -v /var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
[root@kickstarter ~]# cp -v /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
[root@kickstarter ~]# cp -v /usr/share/syslinux/menu.c32 /var/lib/tftpboot
[root@kickstarter ~]# cp -v /usr/share/syslinux/memdisk /var/lib/tftpboot
[root@kickstarter ~]# cp -v /usr/share/syslinux/mboot.c32 /var/lib/tftpboot
[root@kickstarter ~]# cp -v /usr/share/syslinux/chain.c32 /var/lib/tftpboot
[root@kickstarter ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@kickstarter ~]# mkdir /var/lib/tftpboot/networkboot
[root@kickstarter ~]# mkdir /var/lib/tftpboot/networkboot
[root@kickstarter ~]# mount -o loop /home/iso/CentOS-7-x86_64-DVD-1611.iso /mnt/
[root@kickstarter ~]# cd /mnt/
[root@kickstarter mnt]# cp -av * /var/ftp/pub/
[root@kickstarter mnt]# cp -av * /var/ftp/pub/
[root@kickstarter mnt]# cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/networkboot/
[root@kickstarter mnt]# cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/networkboot/
[root@kickstarter mnt]# cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/networkboot/
[root@kickstarter mnt]# umount /mnt/
[root@kickstarter mnt]# vi /var/lib/tftpboot/pxelinux.cfg/default
[root@kickstarter mnt]# cat /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
prompt 0
timeout 30
MENU TITLE LinuxTechi.com PXE Menu
LABEL centos7_x64
MENU LABEL CentOS 7_X64
KERNEL /networkboot/vmlinuz
APPEND initrd=/networkboot/initrd.img inst.repo=ftp://192.168.10.10/pub
[root@kickstarter mnt]# systemctl start xinetd
[root@kickstarter mnt]# systemctl enable xinetd
[root@kickstarter mnt]# systemctl start dhcpd.service
[root@kickstarter mnt]# systemctl enable dhcpd.service
[root@kickstarter mnt]# systemctl start vsftpd
[root@kickstarter mnt]# systemctl enable vsftpd
[root@kickstarter mnt]# setsebool -P allow_ftpd_full_access 1
[root@kickstarter mnt]# firewall-cmd --add-service=ftp --permanent
[root@kickstarter mnt]# firewall-cmd --add-service=dhcp --permanent
[root@kickstarter mnt]# firewall-cmd --add-port=69/tcp --permanent
[root@kickstarter mnt]# firewall-cmd --add-port=69/udp --permanent
[root@kickstarter mnt]# firewall-cmd --reload