Newsgroup: it.comp.os.linux.sys
Titolo: regole iptables routing

Salve a tutti.
in azienda abbiamo due reti connesse tramite un pc con due schede di rete,
con sopra windows+kerio firewall.
Dato che tale pc sta per tirare gli ultimi, lo volevo sostituirlo con un pc
linux+iptables. 
Sono abbastanza ignorante in fatto di firewall e, dopo una letta alla
documentazione di iptables, non ho compreso appieno come creare le regole
che mi servono.
La mia necessità iniziale è di fare vedere le reti, facendo passare tutto.
Le mie 2 reti sono: 
192.168.0.0/24
 e 
192.168.1.0/24
.
Mi sapete dare una mano?
grazie a tutti.


Se devi fare passare tutto a che ti serve iptables?
Basta che imposti il forward settando a 1 il file
/proc/sys/net/ipv4/ip_forward
Per farlo ci sono fari metodi e ogni distro ha la sua impostazione per
attivarlo all'avvio.
Ciao.

 /proc/sys/net/ipv4/ip_forward
Abilitando solo il forward non funzionava niente. Ho impostato queste
regole su iptables:
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/sbin/iptables -A INPUT -i eth1 -s 
192.168.1.0/255.255.255.0
 -j ACCEPT 
Riesco a pingare le macchine tra le reti e mi funzionano le sessioni
telnet. Ogni rete inoltre ha un suo DNS. Creando un zona secondaria del
DNS dell'altra rete, risolvo anche i nomi correttamente.
Mi rimane un problema. Se da browser visualizzo un sito dell'altra rete mi
resta lì in attesa e dopo un bel pò va in timeout. Sniffando un pò sembra
che il primo pacchetto di ACK arrivi correttamente, ma i successivi
sembrano avere la SEQ completamente sbagliata e quindi rifiutati. 
Praticamente telnet, ftp funzionano ma http no.
Cosa potrebbe essere?

Questo il log di wireshark:
 1 0.000000    192.168.1.74          10.180.71.24          TCP      1278 > http [SYN] Seq=0 Len=0 MSS=1460
 2 0.002070    10.180.71.24          192.168.1.74          TCP      http > 1278 [SYN, ACK] Seq=0 Ack=1 Win=8192 Len=0 MSS=1460
 3 0.002109    192.168.1.74          10.180.71.24          TCP      1278 > http [ACK] Seq=1 Ack=1 Win=65535 [TCP CHECKSUM INCORRECT] Len=0
 4 0.004274    10.180.71.24          192.168.1.74          TCP      [TCP ACKed lost segment] [TCP Previous segment lost] http > 1278 [SYN, ACK] Seq=2027717928 Ack=274270880 Win=16384 Len=0 MSS=1460
 5 0.004302    192.168.1.74          10.180.71.24          TCP      1278 > http [ACK] Seq=1 Ack=1 Win=65535 [TCP CHECKSUM INCORRECT] Len=0
 6 0.005604    192.168.1.74          10.180.71.24          HTTP     [TCP Retransmission] GET / HTTP/1.1
 7 0.007130    10.180.71.24          192.168.1.74          TCP      http > 1278 [ACK] Seq=1 Ack=218 Win=7975 Len=0
 8 2.831919    10.180.71.24          192.168.1.74          TCP      http > 1278 [SYN, ACK] Seq=2027717928 Ack=274270880 Win=16384 Len=0 MSS=1460
 9 2.831947    192.168.1.74          10.180.71.24          TCP      1278 > http [ACK] Seq=218 Ack=1 Win=65535 [TCP CHECKSUM INCORRECT] Len=0
10 9.394553    10.180.71.24          192.168.1.74          TCP      http > 1278 [SYN, ACK] Seq=2027717928 Ack=274270880 Win=16384 Len=0 MSS=1460
11 9.394581    192.168.1.74          10.180.71.24          TCP      1278 > http [ACK] Seq=218 Ack=1 Win=65535 [TCP CHECKSUM INCORRECT] Len=0
12 74.959591   10.180.71.24          192.168.1.74          TCP      http > 1278 [FIN, ACK] Seq=1 Ack=218 Win=7975 Len=0
13 74.959631   192.168.1.74          10.180.71.24          TCP      1278 > http [ACK] Seq=218 Ack=2 Win=65535 [TCP CHECKSUM INCORRECT] Len=0
14 74.959890   192.168.1.74          10.180.71.24          TCP      1278 > http [FIN, ACK] Seq=218 Ack=2 Win=65535 [TCP CHECKSUM INCORRECT] Len=0
15 74.960394   192.168.1.74          10.180.71.24          TCP      1279 > http [SYN] Seq=0 Len=0 MSS=1460
16 74.960617   10.180.71.24          192.168.1.74          TCP      http > 1278 [ACK] Seq=2 Ack=219 Win=7975 Len=0
17 74.962424   10.180.71.24          192.168.1.74          TCP      http > 1279 [SYN, ACK] Seq=0 Ack=1 Win=8192 Len=0 MSS=1460
18 74.962456   192.168.1.74          10.180.71.24          TCP      1279 > http [ACK] Seq=1 Ack=1 Win=65535 [TCP CHECKSUM INCORRECT] Len=0
19 74.963112   192.168.1.74          10.180.71.24          HTTP     GET / HTTP/1.1
20 74.964484   10.180.71.24          192.168.1.74          TCP      [TCP Previous segment lost] http > 1279 [SYN, ACK] Seq=1751127055 Ack=2863457160 Win=16384 Len=0 MSS=1460
21 74.964506   192.168.1.74          10.180.71.24          TCP      [TCP Dup ACK 19#1] 1279 > http [ACK] Seq=218 Ack=1 Win=65535 [TCP CHECKSUM INCORRECT] Len=0
22 74.964885   10.180.71.24          192.168.1.74          TCP      http > 1279 [ACK] Seq=1 Ack=218 Win=7975 Len=0
23 78.082052   10.180.71.24          192.168.1.74          TCP      http > 1279 [SYN, ACK] Seq=1751127055 Ack=2863457160 Win=16384 Len=0 MSS=1460
24 78.082080   192.168.1.74          10.180.71.24          TCP      [TCP Dup ACK 19#2] 1279 > http [ACK] Seq=218 Ack=1 Win=65535 [TCP CHECKSUM INCORRECT] Len=0
25 84.644826   10.180.71.24          192.168.1.74          TCP      http > 1279 [SYN, ACK] Seq=1751127055 Ack=2863457160 Win=16384 Len=0 MSS=1460
26 84.644856   192.168.1.74          10.180.71.24          TCP      [TCP Dup ACK 19#3] 1279 > http [ACK] Seq=218 Ack=1 Win=65535 [TCP CHECKSUM INCORRECT] Len=0
27 149.967211  10.180.71.24          192.168.1.74          TCP      http > 1279 [FIN, ACK] Seq=1 Ack=218 Win=7975 Len=0
28 149.967251  192.168.1.74          10.180.71.24          TCP      1279 > http [ACK] Seq=218 Ack=2 Win=65535 [TCP CHECKSUM INCORRECT] Len=0
29 149.967724  192.168.1.74          10.180.71.24          TCP      1279 > http [FIN, ACK] Seq=218 Ack=2 Win=65535 [TCP CHECKSUM INCORRECT] Len=0
30 149.968401  10.180.71.24          192.168.1.74          TCP      http > 1279 [ACK] Seq=2 Ack=219 Win=7975 Len=0


ma scusa un attimo , classica domanda stupida , ma le 2 reti sanno di
doversi raggiungere tramite quel gateway ?
dato che la tua regola fa in modo che esista un nat , quindi ipotizzo
che l'altra rete ( quella che sta su eth0 ) non sappia come poi
raggiungere l'interfaccia eth1.
come è stato detto , basta fare forward , senza abilitare iptables e
possibilmente sistemare il routing sui client , prova un po

 possibilmente sistemare il routing sui client , prova un po
I client sono n-mila quindi è esclusa, per quanto possibile, una qualsiasi
attività sulle macchine della rete.
Ripeto, tutti i ping rispondono correttamente, connessioni telnet o ftp
funzionano senza problemi, ma la visualizzazione banale di un sito non
funge.