[MontelLUG] Regole manuali DNAT su endian

Samuele samuele.zanin a tiscali.it
Gio 26 Apr 2012 13:22:47 CEST


  A memoria dei posteri e mia.
Mi sono trovato nella situazione di dover mettere una regola di DNAT su 
di un firewall endian.
La regola cosė come la volvevo io non era possibile inserirla tramite 
interfaccia web, cosė sono dovuto ricorrere alla linea di comando.
In breve:

Editare il file /etc/firewall/dnat/rules.tmpl

Non mi sono addentrato nella sintassi del file.
Ho aggiunto alla fine le righe che mi interessavano:

iptables -t nat -I PREROUTING -d $wan_ip -p tcp --dport 80 -j DNAT 
--to-destination 172.16.0.3
iptables -t nat -I OUTPUT -d $wan_ip -p tcp --dport 80 -j DNAT 
--to-destination 172.16.0.3

a questo punto, tramite interfaccia web ho dovuto inserire ALMENO UNA 
riga di DNAT, altrimenti endian non legge il file con la configurazione 
customizzata.
La riga che ho inserito in pratica non fa nulla (lavora su ip 
farlocchi). Solo che ci deve essere.

Due righe su a cosa mi servivano le righe. Per una storia lunga e noiosa 
che non vi voglio raccontare, mi ritrovo ad avere un solo ip pubblico, 
firewall hw attaccato alla rete pubblica e l'endian con l'interfaccia 
wan connessa alla lan del firewall hw (due firewall in cascata). La rete 
172.16.0.0/24 si trova nel segmento di rete che collega la wan 
dell'endian e la lan del firewall hw.
In questa specie di dmz ho un web server, raggiungibile all'indirizzo 
http://sarcasso.antani.gov che punta a $wan_ip.
Sul firewall hw ho configurato un semplice port forward della porta 80 
verso 172.16.0.3.
Ora, per chi vi accede dall'esterno, tutto bello e funzionante, per chi 
prova ad accedere dall'interno, nonostante si richieda accesso all'ip 
pubblico, il firewall hw non fa il nat e mostra la sua interfaccia web 
di management.
Quindi dovevo fare in modo sul firewall endian di intercettare tutte le 
richieste che andavano all'interfaccia pubblica e fare il port forward 
verso l'ip 172.16.0.3.
La prima riga serve per chi accede dalla lan direttamente ad internet.
La seconda per chi vi accede tramite il proxy che gira sul firewall. In 
questo caso, le richieste non transitano sulla catena di prerouting, ma 
direttamente su quella di output, quindi va replicata la regola.

L'unico inconveniente che deriva dalla modifica dello script (forse c'č 
soluzione, ma non avevo tempo di ricercarla) č che ogni volta che si 
applicano le modifiche tramite gui alle regole del firewall, le due 
righe vengono aggiunte senza che vengano cancellate le precedenti. Posto 
che le regole del firewall si modificano di rado, e che un reboot del fw 
sistema tutto :-D, non mi sembrava il caso di perderci ulteriore tempo.






More information about the montellug mailing list