Newsgroup: it.comp.os.linux.iniziare
Titolo: Ce l'ho fatta,internet in lan interna !!

Ecco come ho costruito una lan interna con 2 pc collegati in rete ed uno
di questi con suse 7 che funge da server e l'altro da client (linux o
win). Il testo originale è di Eugenia Franzoni (che ringrazio), io l'ho
solo modificato alle mie esigenze che credo siano anche quelle più 
comuni.Premetto che uso un modem esterno trust 56.6 e che il tutto
funziona benissimo sia che il client abbia linux o win 98 (quello che
volete voi).
Abbiamo 3 pc:
server linux   192.168.1.1
linux          192.168.1.2
win95/98       192.168.1.3
1. COMPILAZIONE DEL KERNEL
Perché il sistema veda la scheda di rete bisogna ricompilare il kernel
con inserito il 
supporto per il tipo di scheda che abbiamo installato. Per un elenco
delle schede supportate
si può consultare l'Hardware-HOWTO (su
http://www.pluto.linux.it/ildp/HOWTO/
).
Questa operazione è necessaria anche in altri punti illustrati più
avanti,
quindi, per evitare di compilare più volte il kernel della stessa
macchina,
inseriamo qui uno schema con le opzioni da inserire nella configurazione
rispettivamente della macchina server e del client. 
Server:
Code maturity level options: 
Prompt for development and/or incomplete code/drivers 
Loadable module support
Enable loadable module support 
Kernel daemon support (e.g. autoload of modules) (non è indispensabile)
Networking options
Network firewalls
TCP/IP networking
IP: forwarding/gatewaying (esiste nei vecchi kernel)
IP: firewalling
IP: masquerading
IP: ipautofw masquerading (EXPERIMENTAL) (raccomandato)
IP: ICMP masquerading (opzionale)
IP: always defragment (raccomandato) (esiste nei vecchi kernel)
Network device support
Dummy net driver support (raccomandato)
Ethernet (10 or 100Mbit)
[Il supporto per la vostra scheda ethernet]
Attenzione: se avete una scheda NE2000 compatibile, il relativo supporto
va inserito come modulo, e 
in /etc/conf.modules va inserita la linea options ne io=0x340 
in cui sia indicato l'indirizzo di IO della scheda (altrimenti non viene
vista dal kernel). 
Client:
Code maturity level options:
Prompt for development and/or incomplete code/drivers
Loadable module support
Enable loadable module support
Kernel daemon support (e.g. autoload of modules) (non è indispensabile)
Networking options
TCP/IP networking
Network device support
Dummy net driver support (raccomandato)
Ethernet (10 or 100Mbit)
[Il supporto per la vostra scheda ethernet]
2. CONFIGURAZIONE DELLA RETE
Per la nostra rete interna utilizzeremo uno degli indirizzi IP riservati
a questo scopo dall'RFC1597, 
cioè 192.168.0.0. E' altamente sconsigliato usare indirizzi non
riservati. 
Questa è la tabella che utilizzeremo per gli indirizzi IP: 
Computer        Nome host       Indirizzo IP
server          server          192.168.1.1
client linux    linux           192.168.1.2
client win95    win95           192.168.1.3
Inizialmente configureremo la rete tra il server e il client linux, poi
aggiungeremo il client windows. 
Nei computer Linux i comandi che useremo sono ifconfig e route: Ifconfig
configura l'interfaccia di rete,
 mentre route imposta i percorsi che i pacchetti IP devono fare. Dovremo
inoltre inserire nei file di configurazione dei vari computer i nomi di
ciascuno di essi e l'indirizzo IP del nameserver. 
Indichiamo intanto ai computer il loro nome: nel file /etc/hosts
inseriamo: 
sul server: 
127.0.0.1         localhost
192.168.1.1       server.rete.locale      server
sul client: 
127.0.0.1         localhost
192.168.1.2       linux.rete.locale       linux 
In /etc/hostname (/etc/HOSTNAME per la RedHat) inseriamo una linea con
il nome completo del computer: 
#
server.rete.locale
o 
#
linux.rete.locale
Su entrambi server e client linux dovremo impostare l'indirizzo IP della
scheda usando ifconfig: 
per il server: ifconfig eth0 192.168.1.1 netmask 255.255.255.0 broadcast
192.168.1.0 
per il client: ifconfig eth0 192.168.1.2 netmask 255.255.255.0 broadcast
192.168.1.0 
Dando il comando "ifconfig" dovrebbe comparire una maschera del genere: 
eth0      Link encap:10Mbps Ethernet  HWaddr 00:40:95:24:06:34
inet addr:192.168.1.1  Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
A questo punto va impostato il routing, cioè va indicata la strada da
fare ai vari pacchetti IP per 
arrivare all'host di destinazione: dovremo dire che i pacchetti per la
rete
192.168.1.0 vanno sulla ethernet, e dovremo indicare al client che tutti
i
pacchetti con altra destinazione vanno mandati al server (che poi,
attraverso
la connessione modem, li invierà alla macchina gateway del vostro ISP, e
da lì
ad Internet). 
L'indicazione "destinazione qualunque" viene data attraverso il "default
gateway": per i client sarà il 
server, per il server sarà il gateway di default indicato dall'ISP per
la
connessione modem. 
Per il server: route add -net 192.168.1.0 dev eth0 
per il client: 
route add -net 192.168.1.0 dev eth0
route add default gw 192.168.1.1
Dando il comando route -n  
dovrebbe apparire, per il server 
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use
Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0      0  
eth1
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0      0  
lo
e per il client 
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use
Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0      0  
eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0      0  
lo
0.0.0.0         192.168.1.1     0.0.0.0         UG    1      0      0  
eth0
A questo punto la comunicazione tra le due macchine dovrebbe essere
attiva: provate a fare, dal server: 
ping 192.168.1.2 
e dal client ping 192.168.1.1 
Salvare la configurazione su Redhat con linuxconf e su Suse con yast.Con
le
altre distribuzione salvare con l'apposito programma oppure andare nel
file
etc/init.d/network (dipende dalla distro che usate) e salvare il file
come
segue:
sul client: 
#!/bin/sh
ifconfig lo 127.0.0.1
route add -net 127.0.0.0
IPADDR=192.168.1.2
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
GATEWAY=192.168.1.1
Ifconfig eth0 ${IPADDR}netmask ${NETMASK}broadcast ${BROADCAST}
route add -net ${NETWORK}
route add default gw ${GATEWAY}metric 1
sul server: 
#!/bin/sh
ifconfig lo 127.0.0.1
route add -net 127.0.0.0
IPADDR=192.168.1.1
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
ifconfig eth0 ${IPADDR}netmask ${NETMASK}broadcast ${BROADCAST}
route add -net ${NETWORK}
Configuriamo ora il client Windows 95. Ovviamente i dati da inserire
sono equivalenti a quelli del client 
Linux! I dati vanno inseriti nella maschera corrispondente alla
connessione
TCP/IP della scheda di rete, che potete aprire da
Avvio-Impostazioni-Pannello
di controllo-Reti. 
Indirizzo IP:   192.168.1.3
Netmask:        255.255.255.0
DNS:            212.41.208.6  e  212.41.208.7    (forniti dal tuo
provider)
Gateway:                192.168.1.1
A questo punto dovreste poter fare ping dalla macchina Windows al server
e al client linux (da Avvio-Esegui
 fate "ping 192.168.1.1" e "ping 192.168.1.2"). 
3. IMPOSTAZIONE DEL MASQUERADING
Il masquerading serve per poter connettere ad Internet, attraverso un
host, dei computer che non hanno 
indirizzi registrati. Se una macchina Linux connessa ad Internet ha
configurato l'IP masquerading, tutti i computer ad esso connessi possono
accedere ad Internet anche senza avere un indirizzo IP registrato. In
pratica,
usando l'IP masquerading, potete sfruttare la vostra connessione ad
Internet
via modem da tutti i computer della vostra rete locale. 
L'abilitazione dell'IP Masquerading va fatta sul server, non sugli altri
computer; tutto il contenuto di
 questo capitolo si riferisce quindi al server, se non diversamente
indicato. 
Dovreste aver già compilato il kernel del server con il supporto per per
l'IP-masquerading. Se non l'avete 
fatto, tornate alla sezione 1, "configurazione del kernel". 
Se il kernel è a posto, è il momento di configurare ipfwadm oppure
(ipfwadm-wrapper, cercate con il comando locate), per permettere ai
pacchetti
di arrivare alle macchine interne alla rete: sul server impostate 
ipfwadm -F -p deny
ipfwadm -F -a m -S 
192.168.1.0/24
 -D 
0.0.0.0/0
Se compare un messaggio come questo o altro messaggio (echo 1 >
/proc/sys/net/ipv4/ip_forward ) scriverlo e premere invio.
inserendolo alla fine del file di inizializzazione indicato per ifconfig
e route nella Debian, e 
configurandolo dal Control Panel e da YaST rispettivamente su RedHat e
SuSE;
per permettere ai computer della rete locale di utilizzare anche irc,
ftp e
quake in rete dovrete caricare anche i seguenti moduli: 
modprobe ip_masq_ftp
modprobe ip_masq_irc
modprobe ip_masq_quake
A questo punto, se il server è collegato in rete, dovreste essere in
grado di navigare anche dai client, 
usando però solo indirizzi IP di tipo numerico. Provate a fare, dal
client,
ping 192.106.105.10 
e poi ftp 194.244.96.129 
Se avete risposta, il masquerading funziona. 
Per poter utilizzare la rete in tutte le sue funzionalità, l'ultima cosa
da fare è configurare il DNS. 
4. CONFIGURAZIONE DEL DNS SERVER
Mentre sul client Windows 95/98 abbiamo già impostato come DNS server il
server
della rete locale, sugli altri computer non abbiamo fatto nessuna
configurazione. Le possibilità che ci si pone e una: 
1. fare affidamento solo su un DNS server esterno 
(Se volete utilizzare un server DNS esterno, in particolare quello del
vostro provider, il suo indirizzo 
va inserito sia nella configurazione di Windows95, sia nel file
/etc/resolv.conf delle macchine linux, in questo modo: 
search dominio.isp  ( es. search 
galactica.it
)
nameserver ip.del.nameserver.dell'isp   (es. nameserver 212.41.208.6)
                                        (es. nameserver 212.41.208.7)

 Abbiamo 3 pc:
MEGACUT ......
Facevi prima ad indicare il link presente su 
linux.interpuntonet.it
 in cui
trovare l'articolo originale e .... *identico* ...mah!?
-- 
--------------------------------------------
Correggere l'indirizzo x rispondere in email.