View previous topic :: View next topic |
Author |
Message |
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Tue Aug 01, 2006 7:04 am Post subject: |
|
|
Non funziona ... o perlomeno non succede quello che mi sarei aspettato
Provo a descrivervi la mia situazione così potete darmi un consiglio conoscendo meglio la situazione....
C'è un server (che non posso controllare) con un servizio compatibile con telnet (su una porta alta) a cui ho accesso ma dall'ufficio hanno un cavolo di firewall che blocca l'accesso alle porte non standard.
Io pensavo che mi bastasse impostare il pc di casa con quella regola per potermi collegare con telnet dall'ufficio verso il mio pc (sulla porta ufficiale, tanto telent non lo uso e quella porta era libera) e venir reindirizzato verso il server che mi interessa.
Purtroppo qualcosa non funziona (direi a causa della mia scarsa e lacunosa conoscenza delle reti) e anche dopo aver inserito quella regola (e solo quella) nel firewall del mio pc quando faccio il telnet dall'ufficio puntando verso casa mia rimane appeso (anche ctrl-c non funziona e devo chiudere il terminale).
Cosa ho tralasciato ? In che modo posso raggiungere i miei obiettivi ? _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
.:deadhead:. Advocate
Joined: 25 Nov 2003 Posts: 2963 Location: Milano, Italy
|
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Tue Aug 01, 2006 7:33 am Post subject: |
|
|
.:deadhead:. wrote: | Code: | cat /proc/sys/net/ipv4/ip_forward | che cosa restituisce? |
0, ma anche impostando a 1 il risultato non cambia ...
Informazione aggiuntiva (non ho idea se serva o meno) il pc dell'ufficio si trova nella rete fastweb (mamma mia quanto la odio), potrebbe creare problemi ? _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
comio Advocate
Joined: 03 Jul 2003 Posts: 2191 Location: Taranto
|
Posted: Tue Aug 01, 2006 9:41 am Post subject: |
|
|
Kernel78 wrote: |
Informazione aggiuntiva (non ho idea se serva o meno) il pc dell'ufficio si trova nella rete fastweb (mamma mia quanto la odio), potrebbe creare problemi ? |
è sicuro che la porta non sia filtrata? Fastweb non dovrebbe darti problemi, dato che cose simili le faccio ogni giorno.
Allora, l'ideale sarebbe mettersi con uno sniffer sul pc di casa e vedere cosa succede sulle porte. Potresti usare tcpdump e registrare le connessioni.
La regola di DNAT dovrebbe essere quella, ma ti chiederei di postare tutta la configurazione iptables (usa iptables-save).
Nella peggiore delle ipotesi, io farei una vpn verso la tua macchina (openvpn) e metterei un bel MASQUERADE nell'iptables... e passa la paura.
luigi _________________ RTFM!!!!
e
http://www.comio.it
|
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Tue Aug 01, 2006 10:20 am Post subject: |
|
|
Cerco di rispondere al meglio delle mie capacità.
Suppongo che la porta non sia filtrata, nmap effettuato dall'ufficio verso casa mi dice che la porta è:
- chiusa prima che inserisca la regola (visto che non c'è nessuno in ascolto)
- filtered quando è attiva la regola
- open se la regola viene rimossa e se uso netcat per aprire la porta in ascolto
Suppongo quindi che non sia il firewall aziendale a filtrarla (altrimenti sarebbe filtered anche quando netcat è in ascolto).
Inoltre, visto che c'ero ho provato a creare il tunnel con Code: | netcat -L serve:porta -p 23 | e in questo modo funziona perfettamente ...
La soluzione può anche andare ma se mi date una mano sono curioso di capire quale possa essere il problema di iptables (non ho assolutamente altre regole). _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
comio Advocate
Joined: 03 Jul 2003 Posts: 2191 Location: Taranto
|
Posted: Tue Aug 01, 2006 10:33 am Post subject: |
|
|
Kernel78 wrote: | Cerco di rispondere al meglio delle mie capacità.
Suppongo che la porta non sia filtrata, nmap effettuato dall'ufficio verso casa mi dice che la porta è:
- chiusa prima che inserisca la regola (visto che non c'è nessuno in ascolto)
- filtered quando è attiva la regola
- open se la regola viene rimossa e se uso netcat per aprire la porta in ascolto
Suppongo quindi che non sia il firewall aziendale a filtrarla (altrimenti sarebbe filtered anche quando netcat è in ascolto).
Inoltre, visto che c'ero ho provato a creare il tunnel con Code: | netcat -L serve:porta -p 23 | e in questo modo funziona perfettamente ...
La soluzione può anche andare ma se mi date una mano sono curioso di capire quale possa essere il problema di iptables (non ho assolutamente altre regole). |
vorrei vedere il tuo iptables prima di rispondere (usa iptables-save)...
ciao _________________ RTFM!!!!
e
http://www.comio.it
|
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Tue Aug 01, 2006 11:33 am Post subject: |
|
|
Il fatto è che quando ho tetto che non avevo altre regole intendevo proprio dire che non avevo altre regole Code: | # Generated by iptables-save v1.3.5 on Tue Aug 1 13:31:14 2006
*nat
:PREROUTING ACCEPT [4274:1653957]
:POSTROUTING ACCEPT [5863:395405]
:OUTPUT ACCEPT [5858:395105]
-A PREROUTING -p tcp -m tcp --dport 23 -j DNAT --to-destination xxx.xxx.xxx.xxx:yyyy
COMMIT
# Completed on Tue Aug 1 13:31:14 2006
# Generated by iptables-save v1.3.5 on Tue Aug 1 13:31:14 2006
*filter
:INPUT ACCEPT [83764:38465219]
:FORWARD ACCEPT [14:840]
:OUTPUT ACCEPT [78293:12071693]
COMMIT
# Completed on Tue Aug 1 13:31:14 2006
|
ho censurato io l'ip e la porta di destinazione _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
comio Advocate
Joined: 03 Jul 2003 Posts: 2191 Location: Taranto
|
Posted: Tue Aug 01, 2006 12:05 pm Post subject: |
|
|
Kernel78 wrote: | Il fatto è che quando ho tetto che non avevo altre regole intendevo proprio dire che non avevo altre regole Code: | # Generated by iptables-save v1.3.5 on Tue Aug 1 13:31:14 2006
*nat
...
snip
...
|
ho censurato io l'ip e la porta di destinazione |
Volevo solo assicurarmi che le regole fossero in ACCEPT per quella porta... e così è.
Allora, il nat mi pare ok. sicuramente il comando
Code: |
echo 1 > /proc/sys/net/ipv4/ip_forward # Attenzione allo spazio fra 1 ed >
|
l'hai dato (deve essere 1 altrimenti i pacchetti non vengono forwardati).
Non so... io questa cosa la uso da sempre (faccio una cosa del genere con l'ftp, quindi porta 20 e 21).
non so... magari riesegui i due passi (impostazione di iptables ed echo 1 > ...).
ciao
luigi _________________ RTFM!!!!
e
http://www.comio.it
|
|
Back to top |
|
|
makoomba Bodhisattva
Joined: 03 Jun 2004 Posts: 1856
|
Posted: Wed Aug 02, 2006 8:47 am Post subject: |
|
|
il problema è che l'ip dal quale tenti di accedere al server è esterno alla tua lan, quindi non ha come gateway il tuo pc domestico.
in parole povere, la sola DNAT non basta perchè cambia solo l'ip di destinazione ma non quello sorgente.
succede questo
Code: | Lavoro --> Casa --> Server --> Lavoro (wtf ? ma chi ti conosce ???) |
mentre il path corretto è
Code: | Lavoro --> Casa --> Server --> Casa --> Lavoro |
che è ciò che accade quando usi il tunnel netcat (infatti funziona).
prova aggiungendo
Code: | iptables -t nat -A POSTROUTING -p tcp --dport 23 -d ip.del.server.telnet -j MASQUERADE |
_________________ When all else fails, read the instructions. |
|
Back to top |
|
|
comio Advocate
Joined: 03 Jul 2003 Posts: 2191 Location: Taranto
|
Posted: Wed Aug 02, 2006 9:27 am Post subject: |
|
|
makoomba wrote: | il problema è che l'ip dal quale tenti di accedere al server è esterno alla tua lan, quindi non ha come gateway il tuo pc domestico.
in parole povere, la sola DNAT non basta perchè cambia solo l'ip di destinazione ma non quello sorgente.
succede questo
Code: | Lavoro --> Casa --> Server --> Lavoro (wtf ? ma chi ti conosce ???) |
mentre il path corretto è
Code: | Lavoro --> Casa --> Server --> Casa --> Lavoro |
che è ciò che accade quando usi il tunnel netcat (infatti funziona).
prova aggiungendo
Code: | iptables -t nat -A POSTROUTING -p tcp --dport 23 -d ip.del.server.telnet -j MASQUERADE |
|
posso rilanciare con un SNAT?
Code: |
iptables -t nat -A POSTROUTING -p tcp --dport -d ip.del.server.telnet -j SNAT --to-source ip.interfaccia.pubblica
|
_________________ RTFM!!!!
e
http://www.comio.it
|
|
Back to top |
|
|
makoomba Bodhisattva
Joined: 03 Jun 2004 Posts: 1856
|
Posted: Wed Aug 02, 2006 9:43 am Post subject: |
|
|
comio wrote: | posso rilanciare con un SNAT? |
vedo il tuo SNAT e rilancio con un "ha ip dinamico prrr!" _________________ When all else fails, read the instructions. |
|
Back to top |
|
|
comio Advocate
Joined: 03 Jul 2003 Posts: 2191 Location: Taranto
|
Posted: Wed Aug 02, 2006 12:57 pm Post subject: |
|
|
Oggi mi sono dato all'arte... ecco lo schema di come passano i pacchetti nelle chain di IPTables (ho fatto proprio il debug di un pacchetto...):
http://www.comio.it/IptablesSchema.png
Magari poi lo riempo con tutti i target...
(Prendete con le pinze la parte di forwarding, appena vado a casa la sondo per benino e vi dico l'ordine esatto).
ciao
luigi _________________ RTFM!!!!
e
http://www.comio.it
|
|
Back to top |
|
|
|