Problema di routing
Luca Giuzzi
giuzzi a dmf.bs.unicatt.it
Lun 22 Maggio 2000 13:40:15 UTC
>
> Ho una rete cosi' configurata:
>
> 1 route zyxel prestige 100 (192.168.0.199) per la connessione ISDN
> 1 macchina linux (192.168.0.198) che fa da mail-server (RH 6.1, kernel
> 2.2.12-20 ricompilato da me )
> circa 40 client win in rete su protocollo TCP/IP, con indirizzo
> 192.168.0.x netmask 255.255.255.0 e che usano come gateway 192.168.0.199
> (il router isdn)
>
> Ora voglio trasformare la macchina linux in firewall e per prima cosa
> voglio spostare il router "dietro" (o "davanti"?) alla macchina linux.
>
>
> PRIMO ESPERIMENTO
> cambio il gateway delle macchine win in 192.168.0.198 (ovvero macchina
> linux) e
> sulla macchina linux metto la seguente routing table
>
> Destination Gateway Genmask Flags Metric Ref Use
> Iface
> 192.168.0.198 0.0.0.0 255.255.255.255 UH 0 0 0
> eth0
> 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0
> eth0
> 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0
> lo
> 0.0.0.0 192.168.0.199 0.0.0.0 UG 0 0 0
> eth0
>
> Tutto funziona a dovere.
>
>
> SECONDO ESPERIMENTO
>
> Adesso agggiungo una scheda ethernet sulla macchina linux e la
> configuro.
> Al router ISDN cambio indirizzo in 10.200.2.1 netmask 255.255.0.0
> Poi attacco il router direttamente a eth1.
>
>
> [root a mail /root]# ifconfig
> eth0 Link encap:Ethernet HWaddr 00:90:27:27:5E:F6
> inet addr:192.168.0.198 Bcast:192.168.0.255
> Mask:255.255.255.0
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:5692 errors:0 dropped:0 overruns:0 frame:0
> TX packets:3790 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:100
> Interrupt:11 Base address:0xf800
>
> eth1 Link encap:Ethernet HWaddr 00:20:AF:27:90:21
> inet addr:10.200.2.2 Bcast:10.200.255.255 Mask:255.255.0.0
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:1933 errors:0 dropped:0 overruns:0 frame:0
> TX packets:2238 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:100
> Interrupt:5 Base address:0x200
>
> lo Link encap:Local Loopback
> inet addr:127.0.0.1 Mask:255.0.0.0
> UP LOOPBACK RUNNING MTU:3924 Metric:1
> RX packets:965 errors:0 dropped:0 overruns:0 frame:0
> TX packets:965 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:0
>
> [root a mail /root]# route -n
> Destination Gateway Genmask Flags Metric Ref Use
> Iface
> 192.168.0.198 0.0.0.0 255.255.255.255 UH 0 0 0
> eth0
> 10.200.2.2 0.0.0.0 255.255.255.255 UH 0 0 0
> eth1
> 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0
> eth0
> 10.200.0.0 0.0.0.0 255.255.0.0 U 0 0 0
> eth1
> 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0
> lo
> 0.0.0.0 10.200.2.1 0.0.0.0 UG 0 0 0
> eth1
>
> [root a mail /root]# cat /proc/sys/net/ipv4/ip_forward
> 1
>
> [root a mail /root]# cat /proc/sys/net/ipv4/conf/all/rp_filter
> 0
>
> [root a mail /root]# ipchains -L
> Chain input (policy ACCEPT):
> Chain forward (policy ACCEPT):
> Chain output (policy
> ACCEPT):
>
> Con questa configurazione i client win non riescono piu' ad uscire dalla
> rete locale.
> In particolare
>
> 1) la macchina linux vede tutta la rete interna ed internet
>
> 2) da una macchina win riesco a fare il ping alla macchina linux sia
> come
> 192.168.0.198 che come 10.200.2.2
>
> 3) da una macchina win NON riesco a fare il ping di 10.200.2.1 (il
> router) ne'
> a qualsiasi altro indirizzo che non sia la rete interna
>
> Cosa sto sbagliando?
>
La configurazione di ipchains sembra ok, ma l'IP del router non va tanto
bene:
tieni conto che il router sta probabilmente dialogando col modo esterno
tramite PPP. Questo significa che per lui non importa tanto l'indirizzo
IP assunto, in quanto il collegamento verso `resto del mondo' avviene
per una via predefinita.
Personalmente io avrei configurato pure la tua eth1 come Point-To-Point,
in quanto e' un collegamento fw<->router e basta.
Adesso vengo al problema: il routing delle macchine windows `dietro'
il firewall...
Idealmente i pacchetti dovrebbero procedere in questo modo
Pc-win ---> Firewall ---> router locale ---> router remoto ---> resto del
mondo
eth eth isdn collegamento
(ptp) (ppp) del service prov.
Con da qualche parte un masquerading [tu usi comunque indirizzi privati:
dove avviene il masquerading? localmente o presso il service provider?
da quello che vedo direi localmente a livello di router]
Al momento il router riceve tramite firewall dei pacchetti che riconosce
come `estranei' e, giustamente, si rifiuta di forwardarli...
in altre parole, il tuo problema e' che il router probabilmente non sa
che farsene di pacchetti provenienti dalla 192.168 e sicuramente non ha
idea su dove mandare quanto e' destinato a questa subnet.
Prova a vedere che accade attivando pure il masquerading sul fw...
se i clients windows improvvisamente `rivedono' il resto del modo,
questo e' il problema.
Ciao,
lg
Maggiori informazioni sulla lista
Lug
|