Server Portatile realizzato con un comune BananaPi

Server Portatile

Per tutte le mie istallazioni, adesso ho un server portatile che mi permette di istallare quello che voglio in maniera rapida, precisa ed elegante.
Per fare questo ho utilizzato un BANANA PI, una semplicissima scheda sulla quale ho istallato una DEBIAN e configurato:
Server Portatiledhcpd-server
tftpd-server
squid-server
ssh-server
openvpn-server
apache
ftp
In questa sessione vedremo come fare per installare sul server portatile il software necessario ad installare una distribuzione DEBIAN partendo da NIENTE, esattamente, non istallerò partendo ne da una periferica usb ne da un cd ne da un hard disk.
Partirò con disco piallato effettuando il boot dal mio modesto server portatile.
Il server portatile mi da la possibilità di fare tutto quello che mi serve, ho deciso di realizzare questo importante strumento di lavoro, perché quando mi trovo ad istallare nuovi server, puntualmente mi accorgo che manca sempre qualcosa.
In questo modo, qualora dovesse mancare un driver o un software lo rendo disponibile immediatamente scaricandolo dalla rete.
In questo esempio io configurerò debian wheezy, ma posso, con lo stesso metodo, installare qualsiasi distribuzione linux.
Non ho mai provato, ma credo che il mio server portatile possa far installare anche il noto sistema a finestre di cui per pudore, evito di menzionarne il nome.

Dopo aver istallato con il solito debootstrap ed aver configurato tutto, cominciamo con l’istallare, dai repository il dhcpd-server, quindi
# apt-get install isc-dhcp-server -y
Appena terminato, il sistema tenta di far partire il server, ma questo, non essendo configurato tirerà fuori un errore ed il server portatile dhcpd non verrà acceso.
Niente paura è normale, in questo momento il server portatile non è configurato.
Quindi puliamo il file di configurazione ed editiamolo con i parametri che ci servono.
Poiché tutti usano 192.168.X.X, per evitare inutili collisioni io utilizzerò 172.16.X.X/16
# echo > /etc/dhcp/dhcpd.conf
adesso editiamo il file e ci mettiamo i nostri parametri

#vi /etc/dhcp/dhcpd.conf

authoritative;
server-identifier 172.16.1.254;
ignore client-updates;
subnet 172.16.0.0 netmask 255.255.0.0

{
interface eth0;
option subnet-mask 255.255.0.0;
default-lease-time 60; # cioè un minuto
max-lease-time 120; # cioè 2 minuti
allow booting; # Abilito il server portatile ad inviare informazioni di boot
option broadcast-address 172.16.255.255;
# option routers 172.16.1.254;
option domain-name-servers 8.8.8.8, 8.8.4.4;
filename “pxelinux.0”; # Il kernel di boot
option domain-name “dibrigida.int”; #Utilizzo l’estensione INT per non avere problemi con domini registrati
}
#Aggiungo il mio portatile
host Portatile {
hardware ethernet XX:XX:XX:XX:XX:XX;
fixed-address 172.16.1.8;
option routers 172.16.1.254; #indirizzo della eth0 del mio server portatile
}
# Parametri del server di cui devo effettuare l’installazione
group {
# next-server 172.16.1.254;
host tftpclient {
hardware ethernet XX:XX:XX:XX:XX:XX;
fixed-address 172.16.6.0;
option routers 172.16.63.254;
filename “pxelinux.0″;
}
}

Salvo ed esco
:wq
poi riavvio il dhcp-server del server portatile
# service isc-dhcp-server restart
[FAIL] Stopping ISC DHCP server: dhcpd failed!
[ ok ] Starting ISC DHCP server: dhcpd.

Chiaramente, poiché il server portatile isc-dhcp non era attivo sullo stop da un errore.
Adesso dobbiamo installare il server portatile tftpd.
Come già detto molte volte, io lavoro sempre nella directory /work quindi mi appresto a crearla.

# mkdir /work

Poi installiamo il software necessario al server portatile tftpd

# apt-get install tftpd-hpa -y

Adesso configuriamo il file tftpd-hpa

echo >/etc/default/tftpd-hpa

Editiamo il file e lo riempiamo come segue

TFTP_USERNAME=”tftp”
TFTP_DIRECTORY=”/work/tftpboot”
TFTP_ADDRESS=”0.0.0.0:69″
TFTP_OPTIONS=”–secure”
RUN_DAEMON=”yes”
OPTIONS=”-l -s /work/tftpboot”

Salviamo ed usciamo

:wq

Ora creiamo la struttura del boot

# mkdir -p /work/tftpboot/debian/wheezy/amd64
# mkdir -p /work/tftpboot/debian/wheezy/i386
# cd /work/tftpboot/debian/wheezy/amd64
# wget http://ftp.uk.debian.org/debian/dists/wheezy/main/installer-amd64/current/images/netboot/debian-installer/amd64/linux
# wget http://ftp.uk.debian.org/debian/dists/wheezy/main/installer-amd64/current/images/netboot/debian-installer/amd64/initrd.gz
# cd ..
# cd i386
# wget http://ftp.uk.debian.org/debian/dists/wheezy/main/installer-i386/current/images/netboot/debian-installer/i386/initrd.gz
# wget http://ftp.uk.debian.org/debian/dists/wheezy/main/installer-i386/current/images/netboot/debian-installer/i386/linux
# cd /work/tftpboot/
# wget http://ftp.uk.debian.org/debian/dists/wheezy/main/installer-amd64/current/images/netboot/debian-installer/amd64/pxelinux.0
# mkdir pxelinux.cfg
# cd pxelinux.cfg
adesso creiamo il file boot.txt con il seguente contenuto

# vi boot.txt
– Boot Menu –
=============

wheezy_amd64_install
wheezy_i386_install
wheezy_amd64_expert
wheezy_amd64_resque

salviamo ed usciamo
:wq
Chiaramente se vogliamo aggiungere altre distro, lo possiamo fare in questo file e nel successivo.
Adesso creiamo il file contenente i percorsi delle distribuzioni
# vi default
DISPLAY boot.txt

DEFAULT wheezy_amd64_install

LABEL wheezy_amd64_install
kernel debian/wheezy/amd64/linux
append vga=normal initrd=debian/wheezy/amd64/initrd.gz —
LABEL wheezy_i386_install
kernel debian/wheezy/i386/linux
append vga=normal initrd=debian/wheezy/i386/initrd.gz —
LABEL wheezy_amd64_expert
kernel debian/wheezy/amd64/linux
append priority=low vga=normal initrd=debian/wheezy/amd64/initrd.gz —
LABEL wheezy_amd64_rescue
kernel debian/wheezy/amd64/linux
append vga=normal initrd=debian/wheezy/amd64/initrd.gz rescue/enable=true —

PROMPT 1
TIMEOUT 0

salviamo ed usciamo
:wq

Un sano ed onesto riavvio
# reboot
ed il nostro server portatile è pronto per effettuare installazioni


Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.