IPtables: packet mangling

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
whites11
Linux 4.x
Linux 4.x
Messaggi: 1147
Iscritto il: ven 30 set 2005, 13:54
Località: Udine

IPtables: packet mangling

Messaggio da whites11 »

Ciao!
avrei bisogno di creare una regola iptables che prenda i pacchetti in arrivo da un certo ip su una certa porta e li modifichi sostituendo all'indirizzo locale quello pubblico (si tratta di un firewall/nat configurato in un gateway).
Mi bastano anche link a documentazioni chiare sul packet mangling...please help!

Avatar utente
slacker
Linux 0.x
Linux 0.x
Messaggi: 2
Iscritto il: mer 19 apr 2006, 10:05

Messaggio da slacker »

iptables -t nat -I POSTROUTING -s x.x.x.x/32 -j MASQUERADE

Avatar utente
masalapianta
Iper Master
Iper Master
Messaggi: 2775
Iscritto il: lun 25 lug 2005, 0:00
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian
Località: Roma
Contatta:

Re: IPtables: packet mangling

Messaggio da masalapianta »

whites11 ha scritto:Ciao!
avrei bisogno di creare una regola iptables che prenda i pacchetti in arrivo da un certo ip su una certa porta e li modifichi sostituendo all'indirizzo locale quello pubblico (si tratta di un firewall/nat configurato in un gateway).
Mi bastano anche link a documentazioni chiare sul packet mangling...please help!
dicendo "sostituendo all'indirizzo locale quello pubblico" intendi indirizzo sorgente del pacchetto, indirizzo destinazione o che altro?

Avatar utente
whites11
Linux 4.x
Linux 4.x
Messaggi: 1147
Iscritto il: ven 30 set 2005, 13:54
Località: Udine

Re: IPtables: packet mangling

Messaggio da whites11 »

masalapianta ha scritto:
whites11 ha scritto:Ciao!
avrei bisogno di creare una regola iptables che prenda i pacchetti in arrivo da un certo ip su una certa porta e li modifichi sostituendo all'indirizzo locale quello pubblico (si tratta di un firewall/nat configurato in un gateway).
Mi bastano anche link a documentazioni chiare sul packet mangling...please help!
dicendo "sostituendo all'indirizzo locale quello pubblico" intendi indirizzo sorgente del pacchetto, indirizzo destinazione o che altro?
intendo dire all'interno del pacchetto, sostituire l'indirizzo del mittente..

Avatar utente
masalapianta
Iper Master
Iper Master
Messaggi: 2775
Iscritto il: lun 25 lug 2005, 0:00
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian
Località: Roma
Contatta:

Messaggio da masalapianta »

e' sufficiente usare il target MASQUERADE di iptables, oppure SNAT se entrambi gli ip son statici (man iptables)

Avatar utente
whites11
Linux 4.x
Linux 4.x
Messaggi: 1147
Iscritto il: ven 30 set 2005, 13:54
Località: Udine

Messaggio da whites11 »

attualmente per fare il nat io uso le seguenti due regole:

Codice: Seleziona tutto

iptables -A FORWARD -i ppp0 -o eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
sai dirmi come modificarle per poter ottenere ciò che voglio???

Avatar utente
masalapianta
Iper Master
Iper Master
Messaggi: 2775
Iscritto il: lun 25 lug 2005, 0:00
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian
Località: Roma
Contatta:

Messaggio da masalapianta »

whites11 ha scritto:attualmente per fare il nat io uso le seguenti due regole:

Codice: Seleziona tutto

iptables -A FORWARD -i ppp0 -o eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
sai dirmi come modificarle per poter ottenere ciò che voglio???
o non ho capito io cosa vuoi oppure non hai capito tu che gia' fa quello che vuoi

Avatar utente
whites11
Linux 4.x
Linux 4.x
Messaggi: 1147
Iscritto il: ven 30 set 2005, 13:54
Località: Udine

Messaggio da whites11 »

purtroppo credo che con queste regole iptables faccia si il nat, ma cambiando solo l'indirizzo di destinazione del pacchetto a basso livello: ma nel contenuto del pacchetto (nell'header sip per intenderci) lascia l'indirizzo della lan. comunque controllerò meglio!

Avatar utente
masalapianta
Iper Master
Iper Master
Messaggi: 2775
Iscritto il: lun 25 lug 2005, 0:00
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian
Località: Roma
Contatta:

Messaggio da masalapianta »

whites11 ha scritto:purtroppo credo che con queste regole iptables faccia si il nat, ma cambiando solo l'indirizzo di destinazione del pacchetto a basso livello: ma nel contenuto del pacchetto (nell'header sip per intenderci) lascia l'indirizzo della lan. comunque controllerò meglio!
no, la prima regola accetta tutto il traffico che viene "routato" da ppp0 a eth0, mentre la seconda viene applicata a tutti i pacchetti in uscita su ppp0 _dopo_ che sono state applicate le regole di routing e su quelli di ritorno; su questi pacchetti fa le seguenti cose:
nei pacchetti in uscita sostituisce l'ip sorgente nell'intestazione ip con l'ip di ppp0 e ricalcola il checksum, invece nei pacchetti di ritorno sostituisce l'ip di destinazione con quello sorgente che aveva sotituito nei pacchetti in uscita, ricalcolando anche stavolta il checksum

Avatar utente
whites11
Linux 4.x
Linux 4.x
Messaggi: 1147
Iscritto il: ven 30 set 2005, 13:54
Località: Udine

Messaggio da whites11 »

ritengo ragionevole che quello dovrebbe essere il comportamento corretto, purtroppo però non pare essere così:
i pacchetti che, secondo me, escono "sbagliati" sono delprotocollo sip.
infatti non riesco ad autenticarmi sul server sip e ottengo come risposta "please don't use local ip addresses". in pratica dovrei usare un server stun, che però non è supportato dal mio client sip (un telefono wifi).
faro degli sniffing del traffico e posterò maggiori dettagli.
intanto grazie mille per l'aiuto!

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3975
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Messaggio da Paoletta »

whites11 ha scritto:ritengo ragionevole che quello dovrebbe essere il comportamento corretto, purtroppo però non pare essere così:
i pacchetti che, secondo me, escono "sbagliati" sono delprotocollo sip.
infatti non riesco ad autenticarmi sul server sip e ottengo come risposta "please don't use local ip addresses". in pratica dovrei usare un server stun, che però non è supportato dal mio client sip (un telefono wifi).
faro degli sniffing del traffico e posterò maggiori dettagli.
intanto grazie mille per l'aiuto!
credo che quello che vuoi fare tu non si possa fare con un ip firewall, che per definzione lavora a livello ip; tu hai bisogno di un firewall che lavori a livello applicativo (cioè un proxy)

Avatar utente
whites11
Linux 4.x
Linux 4.x
Messaggi: 1147
Iscritto il: ven 30 set 2005, 13:54
Località: Udine

Messaggio da whites11 »

Paoletta ha scritto:
whites11 ha scritto:ritengo ragionevole che quello dovrebbe essere il comportamento corretto, purtroppo però non pare essere così:
i pacchetti che, secondo me, escono "sbagliati" sono delprotocollo sip.
infatti non riesco ad autenticarmi sul server sip e ottengo come risposta "please don't use local ip addresses". in pratica dovrei usare un server stun, che però non è supportato dal mio client sip (un telefono wifi).
faro degli sniffing del traffico e posterò maggiori dettagli.
intanto grazie mille per l'aiuto!
credo che quello che vuoi fare tu non si possa fare con un ip firewall, che per definzione lavora a livello ip; tu hai bisogno di un firewall che lavori a livello applicativo (cioè un proxy)
mi sa proprio che hai ragione...grazie anche a te!

Rispondi