Newsgroup: it.comp.os.linux.sys
Titolo: Iptables e NAT su due reti

Ciao a tutti, allora ho la necessità di accedere da una serie di PC che
stanno su una 192.168.0.x a 2 reti diverse. 
Ho il mio bel serverino con tre schede di rete:
Una fa da DHCP sulla 192.168.0.x sulla eth0;
Un'altra (eth1) collegata sullo switch della rete A;
Un'altra (eth2) collegata sullo switch della rete B.
 
Ho grossomodo capito che con iptables abilitando il nat in questo modo
 
"iptables --table nat --append POSTROUTING --out-interface eth0 -j
MASQUERADE"
"iptables --append FORWARD --in-interface eth1 -j ACCEPT"
 
tutti i PC della 192.168.0.x uscirebbero sulla rete A, ma come faccio a
fare in modo che per ogni richiesta verso un server che si trova sulla
rete B il mio bel gateway instradi correttamente i pacchetti?!
 
-- 
 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it
 
 
 

 pacchetti?!
 
Questa domanda andrebbe postata su ICOLI, perche' mi sa che ti
mancano dei fondamentali, ma vabbe'...
Guarda il natting c'entra ben poco per cio' che vuoi ottenere: se il
routing sulla linux box e' abilitato, ed i pc delle varie reti hanno
come gateway l'indirizzo ip dell'interfaccia della linux box che si
"affaccia" sulla medesima rete, tutti i pc di tutte le reti collegate
alla linux box *devono* comunicare, senza nessun utilizzo di
netfilter/iptables.
 
bye G.L.
-- 
Da i.d.c.tutela:
P.S. Quando ci sarà lo switch-off, avrò problemi anche col
monitor del PC? Ho visto che è collegato in modalità analogica.

Scusate..
 
 "iptables --table nat --append POSTROUTING --out-interface eth1 -j
 MASQUERADE"
 
.. e non eth0


 netfilter/iptables.
 
Uhm...no.
Forse non mi sono spiegato bene.
Io ho una rete 192.168.10.x ed ho bisogno che questa vada per la
stragrande maggioranza dei servizi sulla rete A, e per accedere a tutta
una serie di altri server sulla rete B.
Quindi se io da una macchina che si trova sulla 192.168.0.x devo andare su
www.google.com
 il mio gateway deve instradare la richiesta sulla rete A
quindi passando dalla eth1, se invece devo entrare ad esempio in ssh su
una macchina della rete B il gateway deve instradare la richiesta sulla
rete B.
Le maccchine che si trovano sulla rete A hanno un gateway che NON č
l'indirizzo di eth1 cosě come le macchine della rete B hanno un gateway
che NON č l'indirizzo di eth2.
 
Spero stavolta di essermi spiegato meglio


 che NON è l'indirizzo di eth2.
 
# sysctl -w net.ipv4.ip_forward=1
# iptables -t nat -I POSTROUTING -o eth2 -j MASQUERADE
# iptables -t nat -I POSTROUTING -o eth1 -j MASQUERADE
# iptables -I FORWARD -i eth0 -o eth2 -j ACCEPT
# iptables -I FORWARD -i eth0 -o eth1 -j ACCEPT
# ip route add 
0.0.0.0/0
 via [gateway_A] dev eth1
# ip route add [ip_server_via_B]/32 via [gateway_B] dev eth2
 
L'ultima la ripeti per tutti i server per i quali vuoi transitare dalla
rete B. Se però il default router della macchina deve essere sulla rete
192.168.0.0/24
 (ovvero non può essere sulla rete A) allora bisogna
configurare il source routing.
 
-- 
Flavio Visentin
 
Scientists have finally discovered what's wrong with the female brain:
on the
left side, there's nothing right, and on the right side, there's nothing
left.

THe_ZiPMaN ha scritto:
 
Si è giusto tranne per il fatto che il default gateway sulla rete X è eth0


 Si è giusto tranne per il fatto che il default gateway sulla rete X è eth0
 
Il default gateway è un indirizzo IP e non il nome di un'interfaccia di 
rete.
Modifica il disegno come credi e prova a ripostarlo.
 
Nicola.
 
-- 
chi va pian va san e va lontan