Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: Condivisione della connessione con Linux  (Letto 2104 volte)
Devil!
aka OriginalP
Administrator
Hero Member
*****
Scollegato Scollegato

Messaggi: 11492



« Topic Start: Marzo 22, 2008, 01:56:09 pm »

Condivisione della connessione con Linux

La configurazione con il metodo 2 citato nella guida Fastweb e più di 3 PC: come condividere la connessione prevede l'utilizzo di un PC dotato di due schede di rete.

Quasi la totalità delle distribuzioni permette di gestire la condivisione della connessione.
Qui verranno suggeriti due strade: la prima prevede l'utilizzo di Debian GNU/Linux, una distro molto polivalente, la seconda invece l'utilizzo di una distro firewalla creata ad hoc.

Debian GNU/Linux

Supponiamo che esse siano eth0, collegata all'HAG e eth1, collegata allo switch/hub di rete.


Elenchiamo i passi necessari per abilitare la condivisione della connessione



Impostazione delle interfacce di rete del gateway

Per configurare le interfacce di rete del gateway è necessario modificare il file /etc/network/interfaces

Per l'interfaccia di rete collegata all'HAG (eth0) è possibile scegliere una configurazione automatica dinamica assegnata dall'HAG tramite DHCP, oppure una configurazione manuale statica.

Nel primo caso:

Codice:
auto eth0
iface eth0 inet dhcp

Nel secondo caso:

Codice:
auto eth0
iface eth0 inet static
        address aaa.aaa.aaa.aaa
        netmask 255.255.248.0
        gateway bbb.bbb.bbb.bbb
        network ccc.ccc.ccc.ccc
        dns-nameservers ddd.ddd.ddd.ddd

Dove:
aaa.aaa.aaa.aaa indica uno dei 3/5 indirizzi IP privati assegnati da Fastweb
bbb.bbb.bbb.bbb indica l'indirizzo del gateway di Fastweb
ccc.ccc.ccc.ccc indica la classe della rete
ddd.ddd.ddd.ddd indica il server DNS utilizzato per la risoluzione degli IP

E' possibile ricavare tali indirizzi connettendosi utilizzando l'impostazione automatica tramite DHCP e digitando il comando

Codice:
ifconfig eth0

Per l'interfaccia di rete collegata allo switch/hub di rete (eth1) è consigliabile utilizzare i classici parametri per le reti private.

Codice:
auto eth1
iface eth1 inet static
        address 192.168.0.1
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255



Variabili del kernel

Per abilitare l'IP forward si utilizza il comando

Codice:
# echo 1 > /proc/sys/net/ipv4/ip_forward

Per evitare di doverlo reinserire ad ogni avvio è possibile scrivere uno script oppure editare il file /etc/sysctl.conf decommentando la riga

Codice:
#net.ipv4.ip_forward = 1

ottenendo quindi

Codice:
net.ipv4.ip_forward = 1

Per ragioni legate alla sicurezza è consigliabile anche decommentare le seguenti opzioni

Codice:
net.ipv4.conf.all.rp_filter = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.log_martians = 1



Masquerading

Per abilitare la condivisione della connessione ci affidiamo alla NATwiki (Network Address Translation), e in particolare alla funzione di IP masquerading (letteralmente, "mascheramento degli IP") che è un tipo di Source NAT.
Ovvero il nostro gateway funge da router per la rete LAN interna, i cui indirizzi IP privati vengono "nascosti" dall'indirizzo IP dell'interfaccia Internet del gateway.

Tutto ciò si traduce nel comando

Codice:
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Anche in questo caso, per evitare di dover reinserire tale comando ad ogni riavvio del gateway, sarà opportuno creare uno script; ci tornerà utile anche in futuro.

Creazione file nat:

Codice:
# touch /etc/init.d/nat
# chmod +x /etc/init.d/nat

Editiamo così il file con il nostro editor di testo preferito:

Codice:
#!/bin/sh

echo 'Set Iptables path'
IP="/sbin/iptables"

case $1 in

 start)

#=============================================================================

echo 'Reset filter table'
$IP -F
$IP -X
$IP -Z

echo 'Reset nat table'
$IP -t nat -F

#=============================================================================

echo 'Set default policy'
$IP -P INPUT ACCEPT
$IP -P OUTPUT ACCEPT
$IP -P FORWARD ACCEPT
$IP -t nat -P PREROUTING ACCEPT
$IP -t nat -P POSTROUTING ACCEPT

#=============================================================================

echo 'MASQUERADING!'
$IP -t nat -A POSTROUTING -o eth0 -j MASQUERADE

#=============================================================================

 stop)

echo 'Reset filter table'
$IP -F
$IP -X
$IP -Z

echo 'Reset nat table'
$IP -t nat -F

;;

#=============================================================================

 restart)
echo 'Restarting...'
/etc/init.d/nat stop
echo ''
/etc/init.d/nat start

;;

#=============================================================================

esac

exit 0

In questo caso, oltre alla regola di MASQUERADE ho aggiunto anche le regole relative alle policy di default del firewall, ovviamente configurabili a piacere.

Comandi utili per la gestione dello script:

Per avviare lo script:

Codice:
# invoke-rc.d nat start

Per fermare lo script:

Codice:
# invoke-rc.d nat start

Per avviare automaticamente al boot lo script:

Codice:
# update-rc.d nat defaults

Per rimuovere lo script dal boot:

Codice:
# update-rc.d nat remove




Server DNS

Per velocizzare la risoluzione degli indirizzi IP è possibile installare e configurare un server DNSwiki che, sfruttando la cache, permette di ridurre il numero di richieste DNS ai server ufficiali.

Allo scopo si utilizziamo BIND

Installazione:

Codice:
# apt-get install bind9 bind9-host dnsutils

Configurazione del file /etc/bind/named.conf.options:

Codice:
options {
directory "/var/cache/bind";

forwarders {
DNS_PRIMARIO;
DNS_SECONDARIO;
};

auth-nxdomain no; # conform to RFC1035
};

Dove:
DNS_PRIMARIO è l'IP del DNS primario
DNS_SECONDARIO  è l'IP del DNS secondario

Per riavviare:

Codice:
# /etc/init.d/bind9 restart

Per quanto riguarda i server DNS utilizzati dal gateway si faccia riferimento al file /etc/resolv.conf



Impostazione delle interfacce di rete dei client della rete LAN

Per le interfacce di rete collegate allo switch/hub di rete è possibile scegliere una configurazione automatica dinamica assegnata dal gateway tramite DHCPwiki, oppure una configurazione manuale statica.

Nel primo caso è necessario installare e configurare sul gateway un server DHCP per la gestione dell'assegnazione dei parametri di rete.

Server DHCP

Installazione:

Codice:
# apt-get install dhcp3-server

Configurazione del file /etc/dhcp3/dhcpd.conf:

Codice:
option subnet-mask            255.255.255.0;
option broadcast-address      192.168.0.255;
option routers                192.168.0.1;
option domain-name-servers    192.168.0.1;
default-lease-time            600;
max-lease-time                7200;
get-lease-hostnames           true;
next-server                   192.168.0.1;

subnet 192.168.0.0 netmask 255.255.255.0 {
    range 192.168.0.2 192.168.0.254;

}

Nel caso si volessero usare IP statici, ovvero fare in modo che a ciascun client sia assegnato sempre lo stesso IP, è necessario impostare una corrispondenza fra MAC Address e IP.

Ad esempio:

Codice:
host client {
    hardware ethernet xx:xx:xx:xx:xx:xx;
    fixed-address yyy.yyy.yyy.yyy;
}

Dove:
xx:xx:xx:xx:xx:xx indica il MAC Address della scheda di rete del client al quale si vuole assegnare staticamente l'IP
yyy.yyy.yyy.yyy indica l'IP statico da assegnare

In modo da ottenere questo risultato:

Codice:
option subnet-mask            255.255.255.0;
option broadcast-address      192.168.0.255;
option routers                192.168.0.1;
option domain-name-servers    192.168.0.1;
default-lease-time            600;
max-lease-time                7200;
get-lease-hostnames           true;
next-server                   192.168.0.1;

subnet 192.168.0.0 netmask 255.255.255.0 {
    range 192.168.0.2 192.168.0.254;

host client {
     hardware ethernet xx:xx:xx:xx:xx:xx;
     fixed-address yyy.yyy.yyy.yyy;
}
}

Nel secondo caso, a seconda del sistema operativo utilizzato sul client, la procedura cambierà.
In ogni caso i parametri da configurare saranno:

address 192.168.0.X (con X compreso fra 2 e 254)
netmask 255.255.255.0
gateway 192.168.0.1
dns 192.168.0.1




Hosts

A questo punto la configurazione dei servizi essenziali è terminata.
Poterebbe però risultare utile associare ai vari indirizzi IP della LAN dei nomi.

Per fare ciò basterà editare il file /etc/hosts con delle direttive che in generale hanno questa struttura:

[Indirizzo Internet ] [nome host ufficiale] [alias1] [alias2]

ad esempio:

Codice:
127.0.0.1       localhost
192.168.0.1     server
192.168.0.2     client1
192.168.0.3     client2

Ciò vale non solo per il gateway, ma anche per i client; la collocazione del file e la sintassi utilizzata può variare a seconda del sistema operativo.

Linux/BSD: /etc/hosts
Windows XP: C:\WINDOWS\system32\drivers\etc\hosts
Mac OS X 10.2 or later: /private/etc/hosts



Port Forwarding

Nel caso fosse necessario predisporre la redirezione delle porte per alcuni client della LAN si possono scrivere delle regole di DNAT con Iptables

L'esempio più comune è quello delle porte di eMule/aMule

Codice:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 4662  -j DNAT --to-destination $CLIENT:4662
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 4672  -j DNAT --to-destination $CLIENT:4672

Dove $CLIENT indica l'indirizzo IP del client verso il quale eseguire il forward delle porte TCP 4662 e UDP 4672.



Distro Firewall

Con questo termine vengono indicate tutte quelle distribuzioni basate su Linux o BSD, progettate per essere utilizzate proprio come firewall o gateway di rete.

I principali vantaggi di questo tipo di soluzione sono il fatto di avere praticamente tutto già pronto e la comodità di amministrare tramite interfaccia web in modo semplice ed intuitivo.
L'installazione e la configurazione basilare richiedono veramente poco tempo.

Di contro questa soluzione è svantaggiata per quanto riguarda la flessibilità, anche se è logico aspettarsi ciò da una distribuzione pensata e progettata per fare da firewall.

Ecco le principali distro firewall:

http://www.pfsense.com
http://www.m0n0.ch
http://www.endian.com
http://www.smoothwall.org
http://www.ipcop.org
http://www.devil-linux.org
http://www.redwall-firewall.com
http://www.zelow.no/floppyfw
http://www.zeroshell.net
http://www.wifi.com.ar/english/cdrouter
http://www.clarkconnect.org
http://www.ipfrog.de
http://firewall.dubbele.com
http://www.astaro.com
http://www.gibraltar.at/
http://www.smeserver.org/
http://www.securepoint.cc/
http://www.untangle.com/



Creative Commons License
Questo/a opera è pubblicato sotto una Licenza Creative Commons.

« Ultima modifica: Settembre 10, 2008, 08:27:49 pm da Devil! » Registrato

… se io ho una mela e tu hai una mela, e noi ci scambiamo le mele, entrambi avremo una mela. Ma se io ho un’idea e tu hai un’idea e noi ci scambiamo le idee, entrambi avremo due idee…

N.B: per le richieste di aiuto si consiglia vivamente di usare il forum e solo se strettamente necessario i messaggi privati

Devil!
aka OriginalP
Administrator
Hero Member
*****
Scollegato Scollegato

Messaggi: 11492



« Risposta #1: Agosto 06, 2008, 10:48:31 am »

Riporto una recensione (in inglese) di Untangle

A Powerful Open Source UTM: Untangle Gateway Reviewed Print E-mail
Brian Mayo   
August 05, 2008

Introduction

untangle logo

At a Glance
Product Untangle Gateway Platform (untangle)
Summary Commercial-grade open source solution for blocking spam, spyware, viruses, adware and unwanted content.
Pros Key features are all free
Option for paid support
Install on your own hardware or VMWare
Very active and helpful support options, forums, phone
Cons Steeper horsepower requirements compared to other open source routing distros
Can be finicky with hardware compatibility
Lots of scrolling required in the GUI

Link: http://www.smallnetbuilder.com/content/view/30539/51/
Registrato

… se io ho una mela e tu hai una mela, e noi ci scambiamo le mele, entrambi avremo una mela. Ma se io ho un’idea e tu hai un’idea e noi ci scambiamo le idee, entrambi avremo due idee…

N.B: per le richieste di aiuto si consiglia vivamente di usare il forum e solo se strettamente necessario i messaggi privati

Pagine: [1]   Vai su
  Stampa  
 
Vai a:  

[Luglio 27, 2010, 11:41:32 am]

[Luglio 20, 2010, 09:54:11 am]

[Luglio 16, 2010, 07:49:20 am]

[Luglio 12, 2010, 08:41:25 am]

[Luglio 11, 2010, 06:04:25 pm]

[Luglio 03, 2010, 04:09:20 pm]

[Giugno 30, 2010, 03:05:52 pm]

[Giugno 30, 2010, 11:07:28 am]
Il tuo IP pubblico è:
38.107.191.99
Per conoscere il tuo IP privato Fastweb clicca qui
utenti
Utenti in totale: 7289
Ultimo utente: GaP
Statistiche
Messaggi in totale: 112158
Discussioni in totale: 9198
Online Oggi: 22
Presenze Massime Online: 316
(Giugno 15, 2008, 12:03:24 am)
Utenti online
Utenti: 0
Visitatori: 10
Totale: 10