PDA

View Full Version : Gateway Linux creato! Ma ora?


ASSTO
26-12-2009, 08:22
Ciao a tutti,
durante queste feste, rischiando l'autodetonazione tra pranzi e cene, ho ripreso in mano il mio progetto di creare un server/gateway linux.
Ho preso il mio bel mini-pc (Atom 330), ho montato Ubuntu 8.10 Server (e aggiornato), installato webmin e fin qua tutto ok.

Ho impostato il server dhcp e fin qui ci siamo, nel senso che tutti i pc che connetto alla rete si beccano il loro bel IP e si vedono l'un l'altro.

A questo punto scatta il domandone, ma prima spiego com'è strutturata la rete:

WAN
|
|
Modem ADSL
|
|
eth1 (pppoe)
Server linux
eth0 (LAN)
|
|
Access point wi-fi ASUS WL500W
|
|
Client

Dicevo, i client si pingano correttamente tra loro e il server DHCP funziona, ma mentre il server si connette ad internet gli altri pc non riescono. E non si tratta di un problema di DNS perchè se dal mio portatile provo a pingare 74.125.39.105 (google) non funziona.

Nelle impostazioni del DHCP cosa devo mettere come gateway predefinito: l'indirizzo IP del modem (che però non riesco a pingare ma la connessione funziona, forse perchè è in bridged mode), l'indirizzo ip della scheda di rete del server che è connessa al modem, o l'IP della scheda di rete del server che si affaccia sulla LAN?

Un grazie a chi vorrà aiutarmi!

mr_hyde
26-12-2009, 09:46
I problemi potrebbero essere tanti, il più comune in genere a questo punto è essersi dimenticati di abilitare l'IP packet forwarding.

Suggerimento: se la tua distro tra i pacchetti ha anche quello degli HOWTO installa quel pacchetto e leggi quelli dedicati al network, al bridging e al firewall.

Ciao,
Mr Hyde

nuovoUtente86
26-12-2009, 11:59
ma no il problema è solo l' indirizzo del gateway da assegnare ai client, che deve corrispondere all' interfaccia del server che insiste sulla LAN (il gateway deve stare sempre sotto la stessa subnet).

mr_hyde
26-12-2009, 14:11
L'intervento di nuovoUtente86 mi ha fatto rileggere meglio il post originale.

Ha ragione. la tua eth0 e i client dell'AP devono essere tutti sulla tua rete privata (es tipico: 192.168.1.0/24).

Supponendo quindi che la tua eth0 abbia indirizzo 192.168.1.1, devi configurare il DHCP dell'AP in modo da fargli assegnare, ai client, indirizzi IP da 192.168.1.2 a 192.168.1.254.
Inoltre, supponendo che tu sul gateway non abbia installato anche un DNS, dovrai anche fare in modo che il DHCP dell'AP assegni gli stessi DNS usati dal gateway.

Ricorda inoltre che i tuoi client dovranno vedere 192.168.1.1 come default gateway.

Io comunque controllerei, come suggerito nel primo post, anche il packet forwarding (e configurerei anche iptables per il NAT - postrouting, masquerade), almeno se ho capito bene cosa vuoi fare.

EDIT: rimane sempre valido l'invito a leggere gli HOWTO.


Ciao,
Mr Hyde

ASSTO
26-12-2009, 15:29
Ho ricontrollato in funzione dei suggerimenti che mi avete dato ed era tutto in ordine. Il forwarding era a posto (ho modificato sysctl.conf), il default gateway era proprio l'interfaccia di rete del server che insiste sulla LAN e tutte le schede hanno l'IP sulla stessa subnet, resta il fatto che i client non pingano l'esterno...:mad:

Ora verifico iptables poi aggiorno!

Nel frattempo, ho trovato una fantastica guida passo-passo a questo indirizzo (http://ubuntuforums.org/showthread.php?t=926001), si sa mai che servisse a qualcuno!

ASSTO
26-12-2009, 16:35
Niente da fare...con le iproutes non ho cavato un ragno dal buco.

Ho provato una cosa: ho installato autoscan network sia sul server che sul portatile ed entrambi rilevano gli stessi indirizzi IP, tranne per l'IP del modem adsl (collegato via ethernet al server) che non viene visto dal portatile.

Qualche suggerimento?

Maddoctor
26-12-2009, 16:40
Hai installato Ubuntu in quanto vuoi usare il PC anche come Desktop oppure è stato un caso.

In quanto esistono software specifici per fare da gateway/firewall, ovviamente però dedichi il PC a questo scopo (e non fa nient'altro).
Nel caso decidessi 2 possibilità : IPCOP o SMOOTHWALL

Ciao

ASSTO
26-12-2009, 17:19
Ho scelto Ubuntu perchè vorrei utilizzare il pc anche come fileserver!

Non ci sto saltando fuori...

Maddoctor
26-12-2009, 17:35
File server, ma non Desktop ?

Allora potresti usare ubuntu per file server, installare vmware server come software di virtualizzazione e quindi installare IPCOP o SMOOTHWALL in abiente virtuale.

Sarebbe la configurazione adatta, unica pecca per navigare poi dovrai avere il PC acceso.

ASSTO
27-12-2009, 13:28
Non sarebbe male come idea ma non so se il sistema possa reggere una virtualizzazione. Il mio server ha un processore Atom dual core da 1,6GHz e 1Gb di RAM...avevo cercato un sistema low power proprio per poter tenere il pc acceso a lungo senza consumare un'esagerazione!

venator85
27-12-2009, 18:21
Occhio che se hai un modem l'interfaccia da usare in iptables su cui eseguire il masquerade non è eth1 (scheda di rete a cui è collegato il modem) ma ppp0 (interfaccia pppoe creata quando il modem è connesso). Prova quindi:
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
sul gateway con ovviamente attivo l'ip_forward e pinga 8.8.8.8 da un host nella lan interna.
Ciao ;)

ASSTO
28-12-2009, 11:14
Occhio che se hai un modem l'interfaccia da usare in iptables su cui eseguire il masquerade non è eth1 (scheda di rete a cui è collegato il modem) ma ppp0 (interfaccia pppoe creata quando il modem è connesso). Prova quindi:
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
sul gateway con ovviamente attivo l'ip_forward e pinga 8.8.8.8 da un host nella lan interna.
Ciao ;)

Bingo!!! Funziona!

http://www.albanesi.it/Alimentazione/cibi/Imma/birra.jpg

venator85
28-12-2009, 11:28
:D
Comunque se vuoi una soluzione leggermente più user-friendly puoi studiarti shorewall (si installa sulla tua ubuntu), specialmente se aggiungerai parecchie regole (blocchi, port forwarding ecc)
Ciao ;)

ASSTO
31-12-2009, 15:48
Domanda stupida: se volessi usare il mio server senza monitor come devo fare?

Attualmente se lo accendo con il monitor scollegato restano indisponibili il firewall (firestarter) e la connessione VNC...

mr_hyde
31-12-2009, 16:19
EDIT: precisazione stupida su firestarter
Firestarter NON è il firewall di Linux. Il firewall di linux è integrato nel kernel e si chiama netfilter. A volte è chiamato iptables perché il comando da usare per configurarlo è proprio iptables.
Firestarter è solo una GUI che dovrebbe aiutare l'utente nel configurare il firewall (in realtà, nella mia esperienza, crea una montagna di catene di regole in cui l'utente spesso si perde).
Il mio personale consiglio è quello, anche per capire cosa fa Firestarter, di leggere gli howto sul sito http://www.netfilter.org/ (ce ne sono anche in italiano e, IMHO, è più facile usare direttamente iptables che tutti i milioni di GUI).
FINE EDIT.

Trovo strano il comportamento del tuo PC: vuoi dirmi che se lasci spento il monitor non ti parte l'ambiente grafico?

E Trovo strano anche il comportamento del tuo VNC.
cosa usi come server VNC? E come lo fai partire generalmente?

Io sul mio severino lascio aperto SSH (e _NON_ uso VNC, in quanto per quello che evo fare io non serve).
Considera anche che il mio server parte in modalità solo testuale (niente ambiente grafico, dopotutto è un server!)

Quando ho bisogno di qualcosa di grafico apro una sessione con

ssh -Y -C utente@server (questo da Linux/Mac, per Windows uso PuTTY, vedi sotto)

e poi lancio dalla shell il prg che più mi interessa.

Ovviamente per fare ciò hai bisogno di un client X-Windows.

Quindi, con i client Linux e Mac non hai problemi (lo hanno praticamente tutti nativo)

Per Windows l'accoppiata PuTTY + Xming (se non ricordo male esiste una versione di Xming con già PuTTY "compreso") va più che bene.

Per Xming vedi http://www.straightrunning.com/XmingNotes/
Per PuTTY vedi http://www.chiark.greenend.org.uk/~sgtatham/putty/

OCCHIO: Xming ti serve solo per cose che hanno finestre grafiche (altrimenti ti basta solo PuTTY o un altro client ssh)

venator85
31-12-2009, 16:26
Domanda stupida: se volessi usare il mio server senza monitor come devo fare?

Attualmente se lo accendo con il monitor scollegato restano indisponibili il firewall (firestarter) e la connessione VNC...
ma stai usando firestarter o iptables a mano? per firestarter non so come aiutarti dato che non l'ho mai usato, per iptables sul forum italiano di ubuntu ci dovrebbe essere uno script e le istruzioni per farlo partire in automatico all'avvio.
per vnc dipende se vuoi connetterti alla sessione attiva in quel momento sul server o crearne una nuova (tipo thin client). nel primo caso dovresti settare il login automatico e poi vino (il programma server per vnc) in avvio automatico. nel secondo caso è più complicato ma anche qui ci sono ottime guide in giro.
ciao ;)

ASSTO
01-01-2010, 14:46
EDIT: precisazione stupida su firestarter
Firestarter NON è il firewall di Linux. Il firewall di linux è integrato nel kernel e si chiama netfilter. A volte è chiamato iptables perché il comando da usare per configurarlo è proprio iptables.
Firestarter è solo una GUI che dovrebbe aiutare l'utente nel configurare il firewall (in realtà, nella mia esperienza, crea una montagna di catene di regole in cui l'utente spesso si perde).
Il mio personale consiglio è quello, anche per capire cosa fa Firestarter, di leggere gli howto sul sito http://www.netfilter.org/ (ce ne sono anche in italiano e, IMHO, è più facile usare direttamente iptables che tutti i milioni di GUI).
FINE EDIT.

Trovo strano il comportamento del tuo PC: vuoi dirmi che se lasci spento il monitor non ti parte l'ambiente grafico?

E Trovo strano anche il comportamento del tuo VNC.
cosa usi come server VNC? E come lo fai partire generalmente?

Io sul mio severino lascio aperto SSH (e _NON_ uso VNC, in quanto per quello che evo fare io non serve).
Considera anche che il mio server parte in modalità solo testuale (niente ambiente grafico, dopotutto è un server!)

Quando ho bisogno di qualcosa di grafico apro una sessione con

ssh -Y -C utente@server (questo da Linux/Mac, per Windows uso PuTTY, vedi sotto)

e poi lancio dalla shell il prg che più mi interessa.

Ovviamente per fare ciò hai bisogno di un client X-Windows.

Quindi, con i client Linux e Mac non hai problemi (lo hanno praticamente tutti nativo)

Per Windows l'accoppiata PuTTY + Xming (se non ricordo male esiste una versione di Xming con già PuTTY "compreso") va più che bene.

Per Xming vedi http://www.straightrunning.com/XmingNotes/
Per PuTTY vedi http://www.chiark.greenend.org.uk/~sgtatham/putty/

OCCHIO: Xming ti serve solo per cose che hanno finestre grafiche (altrimenti ti basta solo PuTTY o un altro client ssh)

Premetto che questo progettino nasce più da una mia voglia di imparare ad usare Linux e qualcosa sulle reti più che da un'esigenza effettiva...in parte l'obbiettivo è stato raggiunto. Proprio a causa delle mie scarse conoscenze ho dovuto appoggiarmi ad una distro con interfaccia grafica, altrimenti sarebbe stato troppo difficile....stesso discorso anche per la configurazione del firewall!

Ora, se non ho capito male, utilizzando l'ssh e il client x-windows saresti in grado di lanciare dei programmi con interfaccia grafica pur con un sistema operativo che non ce l'ha?

venator85
01-01-2010, 14:53
Ora, se non ho capito male, utilizzando l'ssh e il client x-windows saresti in grado di lanciare dei programmi con interfaccia grafica pur con un sistema operativo che non ce l'ha?
Esatto, ti rimando direttamente a wikipedia: http://it.wikipedia.org/wiki/X_Window_System
;)

ASSTO
01-01-2010, 19:04
Grazie delle dritte, ho già aperto SSH e capito come funziona...mi sa che formatto installando Ubuntu server!