|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Apr 2008
Messaggi: 31
|
Guida: Monowall come firewall/router/nat su virtual PC + Router castrato a bridge
Quanto segue è nato a causa dei problemi che avevo col mio router, uno ZyXel P660HW + ADSL Telecom Flat.
Il problema era che da alcuni mesi, se usavo i programmi P2P, quando navigavo mi andava tutto in timeout. Per fare un esempio concreto: perdevo il 30% dei ping che facevo su www.google.it Dopo aver fatto prove varie (riconfigurare il router, cambiare firmware, ecc...) senza risolvere niente, ho optato per una soluzione radicale: ho castrato il router, e lo faccio funzionare come se fosse un modem. Poi ho installato un virtualPC (su VMWare Server) con M0n0wall, che mi fa da router, da NAT, da firewall e da DHCP server. Ed ora funziona tutto a meraviglia, non perdo più nemmeno un pacchetto, e navigo più velocemente di prima, e senza timeout. Ora, veniamo a noi: come facciamo a fare questa cosa? Prima di tutto, vediamo cosa ci serve: *) VMWare Server: http://www.vmware.com/products/server/ il VMWare Server è gratis, basta registrarsi. Ci servirà perché faremo tutto con un unico computer. Quindi useremo VMWare per creare un virtualPC su cui installeremo Monowall. *) Il firewall, Monowall: http://m0n0.ch/wall/ (sito generale) http://m0n0.ch/wall/downloads.php (sezione download - io uso la generic-pc-1.233.img) http://m0n0.ch/wall/documentation.php (manuali e quick start guide) Monowall è un mini sistema operativo basato su BSD, è molto compatto, occupa solo qualche Mb, ed è pensato per essere molto efficiente su device poco potenti. Occupa solo 64Mb di ram, e si configura con interfaccia WEB. *) Immagine di un vitualPC per VMWare con monowall già installato http://chrisbuechler.com/m0n0wall/vmware/ (informazioni varie) http://chrisbuechler.com/m0n0wall/do...D-VMware-5.zip (immagine del virtual PC) Ora, cosa dobbiamo fare? 1) installare VMware Server 2) decomprimere da qualche parte l'immagine di monowall già preparata per vmware (io ho una cartella C:\VirtualPC\VMWare\monowall) 3) dalla console di VMWare Server, aprire l'immagine del VPC (virtual PC) appena decompressa 4) avviare il VPC per verificare che parta noterete che ha 3 schede di rete la prima è la LAN la seconda è la WAN la terza è la OPT (ignoriamola, credo serva per i lWiFi o per le DMZ) 5) fare un po di esperimenti per capire come funziona monowall (VMware lo do già per assodato :-) (le prime due schede di rete le ho bridge-ate alla mia scheda di rete fisica; la scheda di rete OPT l'ho disattivata in monowall, credo serva per le DMZ) leggete questo documento, vi spiega come è configurato monowall http://chrisbuechler.com/m0n0wall/vmware/ fondamentalmente, la LAN è settata sulla classe 192.168.96.1/24 la WAN è in DHCP Lo scopo è di fare esperimenti. Con una configurazione di questo tipo, se bridgate la LAN e la WAN alla vostra singola scheda di rete fisica del vostro PC vero, otterrete che: la WAN è in DHCP, e si becca un IP dal vostro router. La LAN la ha sua classe a parte, e quindi se mettete un PC sulla classe 192.168.96.0/24, e gli date monowall come default GW e DNS (192.168.96.1) dovreste riuscire a navigare (in questo caso siete doppoio-nattati, da monowall e dal router, è poco efficiente, ma funziona) Quando avete controllato che tutto funziona a dovere, ed avete fatto gli esperimenti del caso, potete procedere 6) upgradare monowall all'ultima versione tramite l'apposito comando nella webGui (gli si da in pasto il file generic-pc-1.233.img) 7) configurare la LAN di monowall nel modo opportuno, menu Interfaces\LAN (assegnare la classe di IP giusta e l'IP giusto, attivare il DHCP se necessario) io a monowall ho dato l'IP 192.168.1.2 8) configurare la WAN di monowall in PPPoE (menu Interfaces\WAN), ed inserire user e pwd (i soliti "aliceadsl/aliceadsl"), flaggare la "connection on demand" e lasciare il timeout a 0 Questo serve per dire a monowall che sarà lui ad acquisire (tramite PPPoE) l'indirizzo pubblico che ci assegnerà la telecom. Se volete capire come funziona questa cosa, qui ve lo spiegano http://en.wikipedia.org/wiki/Point-t..._over_Ethernet (il riassunto è che: monowall griderà in rete "Chi mi da l'ADSL?", il router opportunamente configurato risponderà "Sono io, macchettistrilli? tieni, ecco il mio MAC", e monowall "Ok, ci sto, io parlo e tu trasmetti; mi segno il tuo MAC",ed il router, "Ok, ci sto pure io perchè sei simpatico! 9) configurare lo ZyXel come bridge. Questo è importante, andiamo ad escludere le funzioni di routing/firewall/nat del router. Ecco come risulta configurato ora il mio router: LAN setupDopo averlo messo in bridge ho dovuto spegnerlo e riaccenderlo. 10) Ora, configurate il vostro PC in modo che abbia monowall come default gateway (il mio PC ha IP fisso 192.168.1.20, e default gateay 192.168.1.2 (monowall), come DNS uso sempre monowall 192.168.1.2, che usa i DNS che gli indica la telecom) 11) Rullo di tamburi .... provate a navigare!A questo punto, dovreste essere on-line. Note varie *) notare che monowall va riavviato alcune volte nel mentre che si cambiano gli IP e cose simili (ma ve lo dice lui quando serve... Cosa fare dopo? 1) disattivare la regola del firewall che consente di essere pingati (è l'unica regola che trovate già definita) 2) aggiungere gli "inbound NAT" per aprire le porte sul firewall e girarle sui pc che necessitano di ricevere connessioni dal mondo esterno 2/bis) quando impostate le regole del nat per fare i port forward flaggate anche la spunta "Auto-add a firewall rule to permit traffic through this NAT rule" così il firewall viene impostato automaticamente per aprire queste porte 3) verificare che tutto funzioni 4) (la torta sulla cigliegina) andare nel "traffic shape\Magic shaper wizard" immettere i parametri, flaggare "Set P2P traffic to lowest priority" ed "installare" il traffic shape. Questo mette tutto il traffico p2p a priorità ridicola, così si naviga benissimo anche con i programmi p2p aperti... e finalmente non perdo più i ping! EUREKA! 5) dite a VMWare di accendere automaticamente il VPC di monowall quando accendete il PC (andate nei setting della virtual machine, andate nelle options, andate in startup/shutdown, selezionate il local system account, selezionate "Power on vitual machine" in "on host startup") 6) aggiungete i vostri DNS a monowall (system\general setup) 7) se ritenete opportuno, togliete la spunta da "Allow DNS server list to be overridden by DHCP/PPP on WAN" 8) controllate che tutte le porte siano chiuse con questo test on-line https://www.grc.com/x/ne.dll?bh0bkyd2 Alla fine di tutto cosa otteniamo? *) un router che funziona come un modem, che SOLO ha un IP locale (non ha nessun IP publico) e che quindi NON funziona come gateway *) un virtual PC che gira con monowall, che è un client PPPoE e che quindi ACQUISISCE l'IP pubblico, dispone inoltre di un IP locale sulla LAN, e funziona da gateway per navigare (oltre a nattare, e fare da firewall) *) In pratica, con un solo PC ho un IP locale sulla scheda di rete che usa windows quando parte, poi parte vmware con monowall, che (sempre usando la stessa scheda di rete) acquisisce un ip pubblico, ed un altro IP locale alla fine ho che il mio PC ha ip 192.168.1.20 lo zyxel ha ip 192.168.1.1 monowall ha l'ip locale 192.168.1.2 + l'IP pubblico il default gateway del mio pc è monowall (ip 192.168.1.2) monowall ha 3 schede di rete, in VMWare le prime due sono entrambe bridged alla scheda di rete fisica del mio PC. la terza è scollegata (e disattivata in monowall, io non la uso) Note varie ed eventuali: *) Fate un backup della configurazione del router, e della vostra rete, PRIMA di fare delle modifiche. Così se qualcosa non va potete ripristinare tutto. *) se non siete un po esperti di reti, firewall, e routing... è meglio che non vi imbarchiate in questo tipo di gestione della connessione *) il wireless dello zyxel non l'ho mai usato... non so se essendo configurato come bridge ADSL, si può usare comunque anche il WiFi oppure no *) ho usato questa configurazione sul mio ZyXel 660Hw sia con la PE10 che con la PE11, senza problemi *) Ho provato ad usare il TCPOptimizer.exe per ottimizzare la connessione... col risultato che ho dimezzato Impressioni di utilizzo *) Il firewall M0n0wall è molto efficiente, usa solo 64Mb di ram! *) L'interfaccia di configurazione di monowall è in PHP, ed è estremamente veloce! (con lo zyxel a volte passavano diversi secondi per passare da una schermata di configurazione all'altra, monowall invece è quasi istantaneo) *) l'ho già detto... non perdo più nemmeno un ping, ed i siti non vanno più in timeout *) Inoltre, grazie al traffic shape che riduce la priorità del P2P, navigo più in fretta di prima (anche quando non avevo i timeout) Sperando che quanto descritto possa essere utile a qualcuno... buon lavoro! :-) (avendo VMWare già installato, in meno di 2 ore ho fatto tutto... |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Apr 2008
Messaggi: 31
|
Per quanto riguarda la possibilità di usare il WiFi zillo ZyXel configurato come Bridge, si dovrebbe poter fare nel seguente modo (suggerito da EVE)
1) Disattivare il server DHCP su monowall 2) Attivare il server DHCP sul router 3) Nel server DHCP del router, impostare come server DNS l'IP lato LAN di monowall (192.168.1.2 nel mio esempio) 4) Nel router, andare a configurare il "WAN Backup", attivarlo mettendo la spunta su "attiva redirect" ed impostare come "gateway di riserva" l'IP lato LAN di monowall 5) Attivare e configurare il WiFi Con questa configurazione otteniamo che il server DHCP è lo ZyXel, che assegna gli IP ai computer, e gli imposta come DNS monowall, e come defaul gateway se stesso (192.168.1.1 nel mio esempio). Poi, visto che il router non ha connettività, e che abbiamo attivato il redirect, tutti i pacchietti che i PC inviano al router, vengono girati su monowall (192.168.1.2). Questo dovrebbe consentire ai client wireless di ottenere un indirizzo via DHCP, e di poter navigare senza problemi. Ho testate e verificato tutto tranne il wireless... so che si attiva, e che il mio telefonino vede la rete wireless... ma non riesco a collegarlo. Ma del resto, non ci sono mai riuscito... nemmeno col router configurato normalmente. E' che di WiFi ci capisco poco, e non ho tempo/voglia di approfondire. Probabilemnte sbaglio a configurare le chiavi o cose simili... Ma se avere una rete WiFi già configurata e funzionante, allora vi dovrebbe funzionare anche col router configurato in bridge, se fate come ho illustrato sopra. Esempio pratico: Dopo aver configurato tutto come descritto, ho messo un PC in DHCP, e si è preso l'indirizzo fornito dal server DHCP del router. Il PC ha preso IP 192.168.1.200, ed ha preso come default Gateway 192.168.1.1 (IP del router) e come DNS 192.168.1.2 (è l'ip lato LAN di monowall, che fa anche da DNS, lo ho configurato come DNS nel DHCP server del router) e cosi', se dal PC provo a navigare, od ha pingare internet, funziona. Facendo un trace vedo che, giustamente, i pacchetti passano da: 192.168.1.1 (IP router) 192.168.1.2 (IP lato lan di monowall) x.x.x.x (mondo esterno) Buona configurazione a tutti! |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2006
Città: Forlì
Messaggi: 14847
|
un'opera titanica...
interessante, ma credo che all'user medio non serva.
__________________
Microsoft?
MAI-crosoft! |
|
|
|
|
|
#4 | |
|
Member
Iscritto dal: Apr 2008
Messaggi: 31
|
Quote:
Ma sono d'accordo con te, all'utente medio non serve... Tuttavia, a me ha risolto i problemi di timeout e lentezza, quindi magari potrebbe essere utile anche a qualcun'altro |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2006
Città: Forlì
Messaggi: 14847
|
allora basta anche vmplayer
__________________
Microsoft?
MAI-crosoft! |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Dec 2007
Città: LIDV
Messaggi: 11612
|
Ottima idea!
Sono un fan di Monowall: mi piace soprattutto il concetto di "reti separate di default" che Monowall ha.... Appena ho un po' di tempo la leggo @BTS: Beh... ogni tanto qualche discussione a livello superiore di "utente medio" non guasta, che dici? Altrimenti questo forum si trasforma semplicemente in un help desk.... Ultima modifica di OUTATIME : 02-05-2008 alle 09:44. |
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Apr 2008
Messaggi: 31
|
Hai ragione, dovrebbe bastare anche VMPlayer.
Però non lo ho mai provato, non so se si installa come servizio (come VMWare Server) e se gli puoi dire di far partire in automatico una macchina virtuale appena accendi il PC, anche senza fare login. Se anche VMPlayer fa queste cose, forse incute meno timore agli utenti medi |
|
|
|
|
|
#8 | |
|
Member
Iscritto dal: Apr 2008
Messaggi: 31
|
Quote:
Ovviamente avere uno scatolotto esterno dedicato con monowall, sarebbe più sicuro... ,ma fin che non mi bucano VMWare, sono a posto :-) |
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Dec 2007
Città: LIDV
Messaggi: 11612
|
Quote:
Ad esempio: - IP router 192.168.1.1 mask 255.255.255.0 - IP scheda WAN Monowall 192.168.1.2 mask 255.255.255.0 - IP scheda LAN Monowall 192.168.2.1 mask 255.255.255.0 - IP del PC 192.168.2.2 mask 255.255.255.0 In questo modo tutto il traffico entrante vede solo la rete di Monowall |
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Apr 2006
Città: Forlì
Messaggi: 14847
|
Quote:
"start c:\vmware\monowall.vmx" ... comunque sia anche io sono dell'opinione di "grande giove", ovvero 2 reti fisicamente diverse... e monowall che le unisce
__________________
Microsoft?
MAI-crosoft! |
|
|
|
|
|
|
#11 | |
|
Member
Iscritto dal: Apr 2008
Messaggi: 31
|
Quote:
Monowall prende l'direttamente l'IP publico sulla WAN perchè è configurata in PPPoE, ed il router fa solo da modem/brigde. |
|
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Dec 2007
Città: LIDV
Messaggi: 11612
|
Quote:
|
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Apr 2006
Città: Forlì
Messaggi: 14847
|
con lo zyxel declassato a modem... ok
__________________
Microsoft?
MAI-crosoft! |
|
|
|
|
|
#14 |
|
Member
Iscritto dal: Apr 2008
Messaggi: 31
|
Aggiornamento M0n0wall all'ultima beta
(risolve alcuni problemi) Ho aggiornato M0n0wall all'ultima versione beta, la 1.3beta11. Per fare l'aggiornamento dovete fare prima l'upgrade alla 1.3beta7http://m0n0.ch/wall/downloads-local/...c-pc-1.3b7.img (monowall 1.3 beta7) E poi aggiornate alla 1.3 beta11 http://m0n0.ch/wall/download.php?fil...-pc-1.3b11.img (monowall 1.3 beta11) Informazioni varie sulle versioni beta http://m0n0.ch/wall/beta.php Ho fatto l'aggiornamento perchè, a quanto ho capito, la versione 1.2.x sembra essere afflitta da un bug che quando si manifesta manda in blocco Monowall (oppure in crash seguito da un riavvio automatico di Monowall). A quanto pare il bug si manifesta solo se la WAN è settata in PPPoE, e pare manifestarsi quando il PPPoE deve refreshare l'indirizzo o qualcosa del genere. Questo è quanto ho scoperto dopo che Monowall mi si è bloccato Dopo aver aggiornato alla 1.3 beta11 non ho più avuto nessun blocco :-) Dopo aver aggiornato alla 1.3 beta11 io ho dovuto riconfigurare le interfaccie di rete dalla console... ma credo sia dovuto ad un pasticcio che ho fatto con le immagini di VMWare, normalmente non credo sia necessario riconfigurare niente. Note varie: *) Monowall 1.2.x è basato su FreeBSD 4.non_so_cosa *) Monowall 1.3.x è basato su FreeBSD 6.non_so_nemmeno_questo *) Se provate ad aggiornare direttamente Monowall dalla 1.2.x alla 1.3 beta11 NON funziona, bisogna necessariamente passare dalla 1.3 beta7, perche le beta successive occupano più spazio (tipo 8Mb invece che 4, o cose simili) e quindi passare per la 1.3 beta7 serve per espandere qualcosa nel filesystem di Monowall, e quindi per consentire l'upgrade alle versioni successive Configurazioni extra necessarie per nattare correttamente la rete KAD su eMule Sottotitolo: ho un HighID, ma la KAD è Firewalled La versione 1.3.x di Monowall ha un comportamento leggermente diverso dalla 1.2.x, tale per cui è necessario aggiungere una configurazione particolare, oltre alle solite regole NAT/Firewall, per fare si che la rete KAD di eMule risulti Open (senza la regoletta extra che vi illustrerò la KAD risulterà 'Firwalled' anche se avete un HighID) La regoletta extra per l'Outbound NAT 1) Da Monowall, andate in Firewall, poi in NAT, e poi in "Outbound" 2) Qui spuntate "Enable advanced outbound NAT" 3) Aggiungete una regola come la seguente Interface = WAN Perchè serve questa regola? Spiegazione: tutte le conenssioni TCP/IP sono identificate da 4 parametri: IP sorgente, porta sorgente, IP destinazione, porta destinazione. Alcune funzioni della rete KAD usano alcune porte sorgenti standard fisse. (ad esempio 4662) La versione 1.3.x di Monowall (come anche pfFense, del resto) hanno un NAT particolare che randomizza la porta sorgente delle connessioni TCP/IP, e questo "rovina" la comunicazione tramite la KAD, che quindi viene vista come Firewalled, anzichè come "Open". Per esempio, mettiamo che eMule vuole collegarsi all'IP 1.2.3.4, porta 7777; e la connessione parte dal nostro PC con IP 192.168.1.100 dalla porta locale 4662 (usata dalla KAD). Il firewall/NAT di Monowall cambia la porta sorgente, quindi per il mondo esterno la connessione arriva dal nostro ip publico, mettiamo che sia 7.8.9.10, e dalla poarta 8765 (scelta a caso da Monowall). Ora il PC a cui ci vogliamo collegare si aspetta una connessione che proviene dalla porta 4662, mentre la connessione arriva dalla porta 8765. E quindi ci marchia come Firewalled. La regoletta per l'outbound nat illustrata sopra serve a dire a Monowall che NON deve randomizzare le porte sorgente per le connessioni che provengono dal computer con il particolare indirizzo IP specificato (da qui il / 32 che identifica un singolo PC invece che una sottorete) Buon firewall a tutti! |
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Dec 2007
Città: LIDV
Messaggi: 11612
|
E' saggio usare una beta per un firewall?
|
|
|
|
|
|
#16 |
|
Member
Iscritto dal: Apr 2008
Messaggi: 31
|
Io non credo ci siano rischi particolari per i seguenti motivi:
1) è monowall che è beta, non la FreeBSD 6.3 su cui si basa e visto che monowall è un'interfaccia php per configurare il filtering/nat/routing di FreeBSD che è stable, non credo ci siano particolari problemi 2) la versione 1.3beta1 è nata a fine 2006, e per arrivare alla beta 11 son passati quasi 1 anno e mezzo, quindi è da un po di tempo che è in giro 3) nel ToDo della 1.3beta, non vedo niente di particolare... riportano solo nuove funzioni da aggiungere 4) ho letto nei forum di monowall che in diverse persone hanno usato la 1.3 beta in svariati production environment 5) in fondo, mi serve solo per il PC di casa |
|
|
|
|
|
#17 |
|
Junior Member
Iscritto dal: Jun 2008
Messaggi: 1
|
Qualcosa non mi quadra!!!
Tutto il discorso e chiaro ed affascinante, ed è esattamente quello che stavo cercando, non solo per protezione ma anche per mettere alcune reti in comunicazione attreaverso dei tunnel Vpn.
solo pero che ho riscontrato sempre lo stesso problema sia installando m0n0wall su vmware ,che scaricando la versione gia virtualizzata di cui sono un grade fan. Problema: In tutte e due i casi le shede di rete ( a detta di m0n0wall ) sembrano essere disconnesse ovvero senza link up mentre io sono certo che non lo siano. non e possibile pingare m0n0wall da altre macchine sulla stessa classe di rete della lan e da m0n0wall non e possibile pingare altro che se stesso. qualcuno ha avuto questo problema ? spero di si e che sia stato risolto! Grazie Ciao Ultima modifica di Spicefabry : 08-06-2008 alle 16:20. |
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Dec 2007
Città: LIDV
Messaggi: 11612
|
Io quando provai monowall su vmware lo installai da zero....
Prova, magari hai più fortuna.... |
|
|
|
|
|
#19 | |
|
Member
Iscritto dal: Apr 2008
Messaggi: 31
|
Quote:
Quello che ho concluso, dopo aver installato ora monowall svariate volte, è che capivo male cosa dovevo fare durante la configurazione. Ho un ricordo tipo che la configurazione mi diveca di controllare che le schede fossero up, io davo invio, e mi ridiceva la stessa cosa... all'infinito. L'ultima volta, invece, mi sono accorto che lo script di configurazione non mi chiedeva cdi verificare che le schede fossero up, ma mi chiedeva qual'era la scheda della LAN (e poi quella della WAN allo step successivo, o vice-versa) e se guardavo circa 3/4 di pagina sopra il cursore (invece che premere banalmente invio e trovarmi al punto di partenza) vedevo la lista delle schede di rete. Ora si chiamano "em0" ed "em1". Quando il cursore lampeggia nella situazione descritta, bisogna dargli il nome della scheda di rete da agganciare alla wan od alla lan. I nomi dipendono dal firewall, ed anche dal sistema di virtualizzazione, quindi magari da te sono diversi. Ora sto usando pfSense, che è molto simile a MonoWall, ma fa più cose :-) |
|
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: Sep 2001
Città: VARESE
Messaggi: 1945
|
aiuto configurazione m0no
Chiedo aiuto sulla configurazione di m0no.
Ho un router (albacom) già nattato ma che non ha funzioni di firewall, si vorrebbe mettere un pc con installato m0n0 tra il router e la rete (o semplicemente configurare il pc da gateway) in modo che faccia da firewall per la rete.. come posso fare con m0n0: ? mi "perdo" con i paramateri di wan.. come li devo impostare? Grazie! Ultima modifica di pegasolabs : 11-02-2009 alle 17:36. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:33.










.... provate a navigare!

fare prima l'upgrade alla 1.3beta7








