8) Internet per tutti

Sicuramente una delle cosè che maggiormente interessa nell'uso del PC è
Internet, e una volta completata la nostra rete sicuramente permettere a
tutti i PC di navigare sarà il primo obiettivo!!
In pratica avremo un solo PC che è connesso a internet, tramite un modem
analogico o una scheda ethernet, e gli altri PC saranno costretti ad
avanzare le proprie richieste a questo computer che le inoltrerà sul web,
per poter poi inoltrare le risposte alla rete locale!
Il computer in questione è detto Gateway, e ha quindi una funzione di server!
Il Gateway ha praticamente la funzione di ponte tra due reti, quella locale
interna e la grande rete internet esterna!
Quando una macchina ha a disposizione più di un'interfaccia di rete allora
si rende necessaria una tabella di routing, ovvero che indichi quale
interfaccia usare per raggiungere determinati indirizzi!
Per questo si dice che la macchina fa da Router!
Poniamo il caso che il gatway sia il PC linuxbox, in questo caso su linuxbox
dovremo abilitare il masquerading, mentre su debianbox dovremo modificare
la tabella di routing, ed eventualmente modificare il file /etc/resolv.conf.
Su linuxbox ho scritto, reso eseguibile,e poi eseguito uno script per abilitare
l'IP masquerading:

#!/bin/bash
# SCRIPT PER IL MASCHERAMENTO DEI PACCHETTI IP
# caricamento dei moduli del kernel
#
modprobe ip_tables
modprobe ip_conntrack
modprobe iptable_nat
modprobe ipt_MASQUERADE
echo ... carico i moduli del kernel ...
echo
#
# mascheramento dei pacchetti IP
#
echo "1"> /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -d ! 192.168.2.0 -j MASQUERADE
echo ... maschero i pacchetti ip ...
echo
#
# maschera tutto quello che non è destinato alla Lan
# imposta iptables per forwardare solo per la sottorete
#
iptables -A FORWARD -s 192.168.2.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.2.0/24 -j ACCEPT
iptables -A FORWARD -j DROP
echo ... e li forwardo solo per la sottorete ...
echo
echo -e ... OK!


ATTENZIONE : come ogni cosa in Linux il kernel DEVE supportare il maquerading,
e ciò significa che devono essere compilati come moduli, oppure compresi
direttmente, alcune voci nel menu network del tree del kernel.
Se state usando una delle maggiori distro come Mandrake o Suse probabilmente
il kernel avrà già il supporto come moduli, quindi state tranquilli, se invece
avete ricompilato il kernel della vostra distro allora presumo che ne sappiate
abbastanza per fare da soli!!

Su debianbox sarà invece daremo il seguente comando (dopo aver avviato la
connessione su linuxbox):

debianbox:~# route add default gw 192.168.2.1

In pratica è tutto qui, ma la teoria che c'è sotto è molto più ampia ed anche
utile, e va dal Firwalling con iptables (kernel serie 2.4.x) all supporto nel
kernel per il maquerading!


9) Amministrare un sistema da remoto

Un aspetto molto interessante della vostra nuova rete è quello di poter
gestire tutti i PC della LAN anche da uno solo.
Mi spiego meglio, seduti davanti ad uno solo dei PC che costituiscono la
vostra rete potrete intervenire su tutti gli altri, modificare file di
configurazione, attivare o disattivare servizi ecc.

Il modo più semplice di tutti è quello di usare la shel dei comandi,
e per farlo ci sono vari modi. Il più semplice di tutti, ma anche il più
datato e il più "insicuro" e TELNET, mi sento di sconsigliare considerando
che non usa nessun sistema per la protezione dei dati e per questo non ne
parlerò. Altro metodo molto più sicuro è quello di usare SSH (SecurSHell),
come si intuisce già dal nome. Questo infatti usa un sistema di cifratura
per i dati trasmessi, cosa non molto utile se la rete non è accesibile
dall'esterno, ma se volete amministrare il vostro pc tramite una connesione
web allora non vorrete mica far transitare per internet i vostri dati in
chiaro?!(Specialmente la coppia login/password!!)

Ad ogni modo il procedimento è molto semplice, basta infatti configurare sui
PC il server SSH in modo che venga avviato all'avvio della macchina, sempre
pronto a ricevere una richiesta di accesso da remoto!
Probabilmente avete già configurato il srvizio, magari non l'avete
ancora avviato ma si risolve in pochi secondi:

root@debianbox #: ssh -V

Se ottenete risposta negativa allora istallatelo con apt (o con urpmi)

root@debianbox #: ls -al /etc/rc2.d/ | grep ssh

Se otterrete una linea in risposta allora non vi resta che provare ad usare
ssh, altrimenti dovrete creare un link simbolico allo script /etc/init.d/ssh!
Niente di più facile !

Stessa cosa dovrete fare sull'altro host della rete, ovviamnte.

Ora non vi resa che imparare ad usare OpenSSH, ecco un aiutino:

root@debianbox #: ssh -l root linuxbox

Vedrete che dopo una domanda alla quale risponderete yes la richiesta di psswd
è quella del superuser sulla macchina linuxbox!!

L'unico limite è la fantasia!!

CURIOSITA': provate ad aprire konqueror da ..........


10) Far interagire Lin e Win!

Se su almeno un PC avete Windows(Cosa altamente sconsigliata ),
o comunque avete avuto modo di operare in una rete Windows, allora
sicuramente vorrete utilizzare le risorse condivise, in pratica rendere
accessibile una risorsa su un PC agli altri della LAN (magari una bella
collezione di mp3!).
Per fare questo in una rete mista Lin/Win non bisogna certo ringraziare
lo zio Bill (Gates III, intendo), poiche i sistemi operativi targati
Redmond non si pongono neanche il problema di altri OS che compongono
la rete!!
Quindi dovremmo ricorrere ad un tool OpenSource che negli ultimi anni ha
riscosso un enorme successo: SAMBA (h)

...........

(h) Approfondite samba ai seguneti link .... ....

11) Creare un FTP Server

Penso che vi sia capitato più di una volta di scaricare qualcosa da un sito
ftp, e qualcuno di voi che ha realizzato un sito web avrà anche usato un
client ftp per fare l'upload del suddetto!
Bene o male penso che ognuno di voi abbia un minimo di famigliarità con
il termine ftp (File Transfer Protocol), perciò possiamo subito partire
con le spiegazioni.
Primo passo da fare è quello di istallare l'ftp daemon, quindi usate il
gestore di pacchetti della vostra distribuzione (rpm per RH o MDK o apt
per Debian)ed una volta istallato non resta che verificare che sia eseguito
all'avvio, mediante l'apposito script, e passare alla configurazione dei file.
Notiamo che già la configurazione di base, di default, va già bene per un
uso senza troppe pretese, specialmente per un uso interno alla LAN!
Comunque un minimo di configurazione può sempre essere utile ai nostri scopi,
per tanto diamo un occhiata ai file da configurare.

.............

Dopo tante "chiacchiere" vediamo quali sono gli usi che possiamo fare della
configurazione appena realizzata:

_ Innazitutto è un modo più che soddisfacente per poter condividere file
e dati tra i PC della LAN, infatti in questo modo è possibile trasportare
file da un PC all'altro senza dover impazzire in configurazioni assai più
difficili, vedi SAMBA ad esempio!

_ Per chi usa Debian e dispone di tutti e 7 i CD sà cosa significa essere
un DJ, ovvero inserire il CD1 poi il 7 e così via è possibile copiare il
contenuto dei CD sul server ftp e configurare apt in modo da trovare i
pacchetti non come media CD ma nel server FTP!!

_ Perchè no, se disponete di una connessione XDSL di tipo flat allora
potrete condividere con il mondo i vostri file, oppure solo con un vostro
amico! In questo caso però va fatta MOLTA attenzione alla sicurezza,
impostando anche un firewall che tenga conto delle vostre esigenze, ma
questa è un'altra storia!


12) Creare un Web Server

Lo strumento per eccellenza in questi casi e APACHE!
Sfido chiunque di voi a non averne sentito parlare almeno una volta!

Lo scopo principale per cui io l'ho fatto è quello di provare sulla mia
LAN il mio sito!! Ma la cosa migliore è che non sto usando un programmino
di "prova", ma il vero è proprio Apache, il webserver che usa oltre la metà
dei siti sul web!!


...............