NetBoot lab

Keskkond: VirtualBox
Image fail: Debian9-gui.ova server (old one was ubuntu-kt.ova )

Русские инструкции по теме: https://www.debian.org/releases/stable/i386/index.html.ru

Ülesanne:

Valmistada ette võrgu kaudu laadimiseks linukse keskkond debian serveris.
Laadida ettevalmistatud linux võrgu kaudu teise virtual masinasse.

Задача:

  1. Подготовить среду на сервере debian для загрузки по сети.
  2. Загрузить подготовленные файлы линукса с сервера на клиентскую машину.

Enne labori sooritamist pead uurima võrgu buutimist.

Перед начало лабораторной требуется

Setup network interfaces(change if need interface names to you need)
If you do not know interface names you can get them with next commands
# ls /sys/class/net/

....
# The primary network interface
allow-hotplug enp0s3
iface enp0s3 inet dhcp

#allow-hotplug enp0s8
auto enp0s8
iface enp0s8 inet static
address 192.168.1.50
netmask 255.255.255.0

Перезагрузите сервер.
# reboot
или перезапустите
# system restart networking

Провертьте конфигурацию интерфейсов командой

# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:ec:e8:56 brd ff:ff:ff:ff:ff:ff
inet 172.18.14.188/24 brd 172.18.14.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:feec:e856/64 scope link
valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:35:7d:1c brd ff:ff:ff:ff:ff:ff
inet 192.168.1.50/24 brd 192.168.1.255 scope global enp0s8
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe35:7d1c/64 scope link
valid_lft forever preferred_lft forever

Для прохождения пакетов через сервер в интернет требуется разрешить передачу пакетов между интерфейсами:
# echo "1" > /proc/sys/net/ipv4/ip_forward

И разрешить NAT из внутренней сети на внешний интерфейс, в нашем случае enp0s3
# /sbin/iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE

Можно попробовать создать файл запуска команд.
# echo '#!/bin/sh' > /etc/rc.local
# echo 'echo "1" > /proc/sys/net/ipv4/ip_forward' >> /etc/rc.local # echo '/sbin/iptables -t nat -A POSTROUTING -o ethX -j MASQUERADE' >> /etc/rc.local # echo 'exit 0' >> /etc/rc.local
# chmod +x /etc/rc.local
И после перезагрузки виртуальной машини запускать его

Valmistame katalogid ja imagid serveril
Под пользователем root подготавливаем папки и образы на сервере(можно использовать и иную архтектуру и версию линукса):

# sudo -s
# mkdir /var/lib/tftpboot
# cd /root
# wget http://ftp.debian.org/debian/dists/wheezy/main/installer-i386/current/images/netboot/netboot.tar.gz
# tar -C /var/lib/tftpboot -zxvf netboot.tar.gz
# mkdir pxelinux.cfg

Redigeerime pxe konfiguratsiooni faili:
Пишем и сохраняем файл конфигурации:

# nano pxelinux.cfg/default

DEFAULT linux initrd=initrd.gz nfsroot=192.168.1.50:/tftpboot i ip=dhcp rw

Häälestame dnsmasq serveri
Инсталлируем и н астраиваем dnsmasq (DNS forwarder and DHCP server with BOOTP/TFTP/PXE)

# apt-get install dnsmasq
# nano /etc/dnsmasq.conf

# Set interface for dhcp and network boot
interface=enp0s8
# set domain name
domain=vadim.tpt
# IP diapasoon (Диапазон ip)
dhcp-range=192.168.1.10,192.168.1.100,255.255.255.0,12h
# Määrame mida hakkame laadima (Указываем что грузить)
dhcp-boot=pxelinux.0,pxeserver,192.168.1.50
# Set default menu option
pxe-service=x86PC, "Install Linux", pxelinux
# Lülitame sisse sisseehitatud tftp serveri (Включаем встроенный tftp сервер)
enable-tftp
# Määrame vaikimisi katalogi (Указываем директорию по умолчанию)
# Place where linux boot image are stored
tftp-root=/var/lib/tftpboot

Restardime teenuse:
Перезапустим службы:

# service dnsmasq restart
or
# sysemctl restart dnsmasq

# ifconfig eth1 192.168.1.50 netmask 255.255.255.0

На клиентской машине сетевой интерфейс соединяем с "internal" network
Запустив клиентскую машину с загрузкой по сети и при загрузке жмем F12, затем L
Проинсталлируем на клиентской машине соответствующий линукс, перезагрузим и предьявим учителю.
Страну расположения выберите либо Эстонию лиибо Финляндию, для быстрого доступа к ближайшим зеркалам.
Для убыстрения процесса проинсталируйте минимальную ОС без графики.
Показать IP адрес и пропинговать по имени какой-либо адрес в интернете.