View Full Version : Problema NAT
ciao, ho una piccola LAN in cui un pc con linux funziona da server e router per l'adsl.
Sto cercando di far passare direttamente sui client il traffico di due porte (tcp 4662 e udp 4672) per far funzionare meglio emule.
Ho usato i seguenti comandi:
# iptables -t nat -A PREROUTING -p tcp --dport 4662 -i ppp0 -j DNAT --to-destination 192.168.0.x
lo stesso ho fatto per la porta udp, non funziona.
...x è il numero del mio client sulla LAN.
Il primo problema che mi è venuto in mente è che il server usa DHCP e quindi ogni volta dovrei cambiare la regola, c'è un modo migliore??
Ho provato a dargli l'indirizzo 127.0.0.1 ma non va ugualmente.
Ho abilitato le porte sul firewall di linux (la mdk 9.1) e sul firewall del client, sto sbagliando il comando per iptables? Leggendo in internet è l'unico che mi sembrava facesse al caso mio....
ciao e grazie
ilsensine
04-02-2004, 20:29
Originariamente inviato da fgiubbi
# iptables -t nat -A PREROUTING -p tcp --dport 4662 -i ppp0 -j DNAT --to-destination 192.168.0.x
Non basta, serve anche una regola di snat. Devi fare una doppia nat (snat e dnat), altrimenti il connection tracking non riesce a seguire correttamente il flusso dei pacchetti.
Il primo problema che mi è venuto in mente è che il server usa DHCP e quindi ogni volta dovrei cambiare la regola, c'è un modo migliore??
Non usare il dhcp, oppure configuralo per assegnare un indirizzo statico al MAC della macchina client.
roxy1974
04-02-2004, 21:14
no no, aspetta hai fatto bene la regola, hai solo sbagliato la porta, prova x tcp 4672 e udp 4682 e' li il problema, fammi sapere da me funziona
ilsensine
05-02-2004, 08:35
Originariamente inviato da roxy1974
no no, aspetta hai fatto bene la regola, hai solo sbagliato la porta, prova x tcp 4672 e udp 4682 e' li il problema, fammi sapere da me funziona
Possibile che funzioni l'udp, ma mi sembra strano che funzioni anche il tcp (in entrata).
Se ti capita, puoi eseguire (dalla macchina che esegue emule)
netstat -avnpt
e mandarmi il risultato?
scusate se ho fatto passare un pò di tempo ma avevo da fare e poi provando mi si era bloccato il server!
comunque, ho provato le seguenti regole, non ne funziona una...mi da sempre idbasso!
iptables –t nat –A PREROUTING -p tcp --dport 4662 -i ppp0 -j DNAT --to-destination 192.168.1.3:4692
iptables –t nat –A PREROUTING -p udp --dport 4672 -i ppp0 -j DNAT --to-destination 192.168.1.3:4672
iptables –t nat –A POSTROUTING –p tcp -o eth0 -j SNAT --to-source 192.168.1.3:4662-4692
iptables –t nat –A POSTROUTING –p udp -o eth0 -j SNAT --to-source 192.168.1.3:4672
iptables –t nat –A PREROUTING -p tcp --dport 4662 -i ppp0 -j DNAT --to-destination 127.0.0.1:4662-4692
iptables –t nat –A PREROUTING -p udp --dport 4672 -i ppp0 -j DNAT --to-destination 127.0.0.1: 4662-4692
iptables –t nat –A POSTROUTING –p tcp -o eth0 -j SNAT --to-source 127.0.0.1: 4662-4692
iptables –t nat –A POSTROUTING –p udp -o eth0 -j SNAT --to-source 127.0.0.1: 4662-4692
iptables –t nat –A PREROUTING -p tcp --dport 4672 -i ppp0 -j DNAT --to-destination 192.168.1.3
iptables –t nat –A PREROUTING -p udp --dport 4682 -i ppp0 -j DNAT --to-destination 192.168.1.3
iptables –t nat –A PREROUTING -p tcp --dport 4662 -i ppp0 -j DNAT --to-destination 192.168.1.3
iptables –t nat –A PREROUTING -p udp --dport 4672 -i ppp0 -j DNAT --to-destination 192.168.1.3
iptables –t nat –A POSTROUTING –p tcp -o eth0 -j SNAT --to-source 192.168.1.3
iptables –t nat –A POSTROUTING –p udp -o eth0 -j SNAT --to-source 192.168.1.3
iptables –t nat –A PREROUTING -p tcp --dport 4661 -i ppp0 -j DNAT --to-destination 192.168.1.3:4692
iptables –t nat –A POSTROUTING –p tcp -o eth0 -j SNAT --to-source 192.168.1.3:4661
Comunque, ho assegnato ai client IP statici, pur usando dhcp sul server, a questo punto, sarà il firewall di linux??
Fra parentesi, perchè ogni volta che riavvio il server linux le regole iptables che ho scritto mi spariscono, perchè?
Ho provato usando win2000 come server, con quello basta condividere le porte in ingresso tcp 4662 e udp 4672 su tutta la rete privata con una regola così: "127.0.0.1:0000" e poi settare una porta tcp diversa per ogni emule installato sui client, la porta udp può essere sempre la stessa.
ciao e grazie
mi ero dimenticato il netstat, non posso fare netstat -avnpt, posso fare
netstat -aenspr (il massimo delle opzioni) che da il seguente risultato sulla macchina con emule acceso:
C:\Documents and Settings\fraz>netstat -aenspr
Statistiche interfaccia
Ricevuti Trasmessi
Byte 2370966 763443
Pacchetti unicast 7776 8661
Pacchetti non-unicast 727 566
Scarto 0 0
Errori 0 0
Protocolli sconosciuti 528
Statistiche IP
Pacchetti ricevuti = 8413
Errori di intestazione ricevuti = 0
Errori di indirizzo ricevuti = 10
Datagrammi inoltrati = 0
Protocolli sconosciuti ricevuti = 0
Pacchetti ricevuti scartati = 0
Pacchetti ricevuti consegnati = 8403
Richieste di output = 9189
Routing scartati = 0
Pacchetti di output scartati = 0
Pacchetti output senza route = 0
Richieste di riassemblaggio = 0
Riassemblaggi riusciti = 0
Errori di riassemblaggio = 0
Datagrammi frammentati = 0
Errori frammentazione datagrammi = 0
Frammenti creati = 0
Statistiche ICMP
Ricevuti Trasmessi
Messaggi 60 1
Errori 0 0
Desti. irraggiungibile 60 1
Tempo scaduto 0 0
Problemi di parametro 0 0
Quench sorgente 0 0
Reindirizzamenti 0 0
Echo 0 0
Risposte echo 0 0
Timestamp 0 0
Risposte timestamp 0 0
Mask indirizzo 0 0
Risposte mask indirizzo 0 0
Statistiche TCP
Aperture attive = 176
Aperture passive = 2
Tentativi connessione non riusciti = 4
Connessioni reimpostate = 6
Connessioni correnti = 6
Segmenti ricevuti = 7543
Segmenti trasmessi = 8078
Segmenti ritrasmessi = 11
Statistiche UDP
Datagrammi Ricevuti = 791
Nessuna porta = 69
Errori in ricezione = 0
Datagrammi trasmessi = 1099
Connessioni attive
Proto Indirizzo locale Indirizzo remoto Stato
Tabella di Route
===========================================================================
Elenco interfacce
0x1 ........................... MS TCP Loopback interface
0x1000003 ...00 e0 33 33 1c 32 ...... NDIS 5.0 driver
===========================================================================
===========================================================================
Route attive:
Indirizzo rete Mask Gateway Interfac. Metric
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.3 1
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
192.168.1.0 255.255.255.0 192.168.1.3 192.168.1.3 1
192.168.1.3 255.255.255.255 127.0.0.1 127.0.0.1 1
192.168.1.255 255.255.255.255 192.168.1.3 192.168.1.3 1
224.0.0.0 224.0.0.0 192.168.1.3 192.168.1.3 1
255.255.255.255 255.255.255.255 192.168.1.3 192.168.1.3 1
Gateway predefinito: 192.168.1.1
===========================================================================
Route persistenti:
Nessuno
Vai a vedere questo thread:
http://forum.hwupgrade.it/showthread.php?s=&threadid=506753
Con le regole che mi ha dato The X a me funziona tutto perfettamente.
grazie, ho provato ma ancora niente, pazienza, scaricherò più piano...
Cmq, aldilà di questo, non so perchè le regole che metto in iptables mi scompaiono quando riavvio il computer...
ciao
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.