Newsgroup: it.comp.os.linux.sys
Titolo: Quando i router bloccano le porte alte, che si fa?

Eccomi qui per una domanda, una volta tanto. (-:
Amministro un server di posta per  un CSF della Regione Lombardia, ci ho
installato qmail, e il macinino (mica tanto: ha 256 MB di RAM che, visto
il compito che svolge, mi  sembrano decisamente eccessivi) fa molto bene
il suo lavoro.
Il problema  che e`  saltato fuori  recentemente, pero`,  e` che  non si
riesce a mandare la posta a  certi domini. Con traceroute i pacchetti si
bloccano all'ultimo hop, e con telnet, la connessione rimane nello stato
SYN_SENT e non va avanti.
Con il traceroute e il telnet di Window$, invece, va tutto bene. <grrr>
snort alla mano, ho fatto un bel dump dei pacchetti e ho notato questo:
- nel  pacchetto SYN,  Linux asserisce  due flag  a me  sconosciuti, che
  snort indica con "12", e che Window$ non asserisce.
- sempre nel pacchetto  SYN, Window$ manda un payload di  due byte 0x00,
  che Linux non manda (stando al  dump di snort). Il comportamento dello
  stack TCP/IP di Linux mi sembra pero`, a occhio, piu` corretto: non mi
  pare che abbia senso mandare un payload subito con il SYN, tant'e` che
  Window$ manda un payload nullo.
- Linux asserisce il TOS 0x10, cosa che Window$ non fa.
- ma il problema vero, penso che risieda tutto nel fatto che Window$ usa
  una porta intorno alla 4900, mentre Linux usa porte dalla 34000 in su.
Secondo me,  qualche router  bastardo blocca quelle  porte, (o  forse e`
l'host stesso  a farlo, visto che  il traceroute da Linux  funziona fino
all'hop immediatamente  precedente all'host  che non  risponde), tant'e`
che ricordo che  ai tempi della flat di Galactica  (pace all'anima sua),
non potevo mandare posta dalle macchine dietro al firewall al loro SMTP,
perche` mi bloccavano le porte alte. Perche`, poi, non lo so.
Il mio sospetto  e` confermato dal fatto  che uno dei server  con cui il
mio qmail ha dei problemi e`  proprio un dominio virtuale ospitato dalla
stessa Galactica (maledetti figli di buona donna).
Ora, siccome gli ISP fanno sempre orecchie da /dev/null, volevo chiedere
se c'e` un modo per forzare qualunque connessione in uscita ad andare su
una porta bassa, ma non privilegiata,  senza andare a toccare i sorgenti
dei programmi, che sarebbero tanti, oltre al fatto che non sono certo un
programmatore esperto e potrei introdurre dei bug.
Magari qualche regoletta di iptables? Io non saprei da dove iniziare.
Grazie a chi si interessa della questione. (-:
-- 
  _      ___ ____
 | | /| / (_)_  / >>> aka Luciano Di Lucrezia
 | |/ |/ / / / /_   . Radiance BBS: 
+39-0362-332921
 - JOIN THE FUN NOW!
 |__/|__/_/ /___/   . Ban Micro$oft from Universities! Support Free Software.
 
Nota filosofica: grep è fonte di Verità e di Saggezza, anzi, la natura
stessa dell'Uomo è riconducibile, in ultima analisi, ad un pipe con un
grep: lo stdin (la Realtà), il grep (la Domanda), e lo stdout del grep
(la Risposta). (Wiz, in un momento di meditazione trascendentale)

 perche` mi bloccavano le porte alte. Perche`, poi, non lo so.
Io ho provato or ora a collegarmi con un server smtp di galactica usando come
porta sorgente 34000 e 34100 e non ci sono stati problemi.
Non è che siete elencati in qualche elenco rbl?
Prova a monitorare una sessione smtp del tuo server (magari con ethereal:
penso che sia un po' più comodo di snort) per vedere cosa succede esattamente
e prova poi a rifare la stessa connessione con netcat uscendo con un ip
diverso ma usando la stessa porta sorgente.
Fabio

stessa Galactica (maledetti figli di buona donna).
Non so se c'entri, ma ricordo che galactica aveva server della posta che
avevano problemi con una funzionalita' introdotta in Linux 2.3-2.4, mi
sembra ECN o qualcosa del genere.
-- 
"La coerenza e' la virtu' degli imbecilli."
(Ciccillo su it.fan.startrek quando filosofeggia)