[Tech] firewall + cisco 1841 + nat

Aldo Podavini a.podavini@mclink.it
Mar 29 Dic 2009 18:45:54 CET


kaifamm wrote:
>>
>>> Mi pare strano che non si possano gestire + IP pubblici lasciando il nat.
>>>
>>>   
>>>       
>> E chi ha detto il contrario ?
>> Io ti ho detto che si può: si NATtano i due indirizzi IP pubblici su due 
>> diversi IP interni.
>>     
>
> Ma scusa l'ignoranza : la scheda del firewall ha indirizzo 10.0.1.11 quando di vede arrivare pacchetti di un'altra classe di rete che cavolo fa ? 

Uhm...
Cerco di darti una risposta corretta senza entrare troppo nel dettaglio, 
ma ho l'impressione che tu non abbia completa chiarezza dei meccanismi 
di routing, natting, filtering, etc... Perdona la supponenza, ma penso 
che dovresti leggere qualcosa di "spesso" prima di affrontare la 
configurazione di reti come quella in oggetto (tipo l'howto di iptables 
e quello di iproute2).

Comunque, ecco la risposta:

1. il router Cisco DEVE avere nelle sue tabelle di routing 
l'informazione che la rotta verso la sottorete 192.168.0.0/24 passa 
attraverso il gateway 10.0.1.11; siccome non mastico i Cisco (come già 
ho detto) non so come si fa, ma occorre che glielo si dica. Quando un 
router ruota un pacchetto verso un gateway, non ne altera l'indirizzo 
finale (quello lo fa il NAT), ma aggiunge l'indirizzo del prossimo hop 
da raggiungere. Il gateway appunto.
Quindi i pacchetti provenienti da Internet e diretti verso l'IP 
94.xx.xx.36 quando arrivano al Cisco vengono dapprima NATtati 
sull'indirizzo finale 192.168.0.189, e successivamente ruotati verso il 
gateway 10.0.1.11

2. un firewall, oltre che essere un firewall, anzi, proprio in quanto 
firewall, è prima di tutto un ROUTER, ossia una macchina dotata di due o 
più interfacce poste su reti diverse, che quando riceve un pacchetto lo 
analizza e si chiede che cosa farne. Interrogando le sue tabelle di 
routing, il nostro router (i.e.: il firewall) scopre che l'indirizzo 
192.168.0.189 sta sulla sottorete servita dalla sua interfaccia eth0, e 
quindi ruoterà su quella interfaccia il pacchetto precedentemente 
tradotto dal Cisco.

Semplice, no ?

Domanda: ma questo è l'unico modo?
Risposta: no, ce ne sono mille altri. Ma questo è il più semplice. KISS

Domanda: Non si può evitare di far conoscere a una macchina perimetrale 
(come il Cisco) gli indirizzi interni della LAN?
Risposta: sì, se siamo in un contesto di sicurezza a livello paranoid, 
si può agire diversamente: si può dare all'interfaccia eth2 del firewall 
un secondo IP, tipo 10.0.1.12, e cambiare il NAT sul Cisco in modo da 
mappare:
94.xx.xx.36:80  ==>  10.0.1.11:80
94.xx.xx.37:80  ==>  10.0.1.12:80
A quel punto il firewall può a sua volta nattare in modo diverso i vari 
pacchetti:
10.0.1.11:80 ===> 192.168.0.189:80
10.0.1.12:80 ===> 192.168.0.199:80

Ciao,
A.

> ma non si puo' NATtarli su 2 indirizzi della stessa classe di rete 10.0.1.xx ? 
>
>   

>> Giusto per essere certo di non dare nulla per scontato: il firewall è 
>> una macchina linux, con netfilter. Giusto...?
>>
>>     
>
> si certo........
>
>
>   
>> A.
>>
>> _______________________________________________
>> FLUG - Discussioni tecniche - tech@firenze.linux.it
>> URL: https://lists.firenze.linux.it/mailman/listinfo/tech
>> Archivio: http://lists.firenze.linux.it/pipermail/tech
>> Ricerca nell'archivio: http://www.firenze.linux.it/search
>>
>>     
>
> _______________________________________________
> FLUG - Discussioni tecniche - tech@firenze.linux.it
> URL: https://lists.firenze.linux.it/mailman/listinfo/tech
> Archivio: http://lists.firenze.linux.it/pipermail/tech
> Ricerca nell'archivio: http://www.firenze.linux.it/search
>
>   




Maggiori informazioni sulla lista flug-tech