linux user group brescia

immagine del castello

Archivio della mailing list

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