iptables, openvpn, xlite

Alvaro Patricio Avello Mendez aavello en servinco.cl
Lun Abr 27 09:32:15 CLT 2009


----- "Arturo Mardones" <katador en gmail.com> escribió:

> 2009/4/24 Miguel Oyarzo O. <admin en aim.cl>:
> > Arturo Mardones escribió:
> >>
> >> Hola a todos,
> >>
> >> Recurro a ustedes por un poco de iluminacion... porque en
> realidad...
> >> ya no entiendo mucho... tengo una vpn para conectar xlite a una
> >> central ip (siemens)
> >>
> >> en mi iptables tengo...
> >>
> >> -A INPUT -i tun+ -j ACCEPT
> >>
> >> -A FORWARD -i tun0 -o eth0 -j ACCEPT
> >>
> >> lo raro, es que con esto... si uso la aplicacion de administracion
> de
> >> la central no conecta, ni me da ping... y ademas peeeeeeeeeero
> xlite
> >> me funciona, pero cuando llamo a un telefono sip, en el firewall
> me
> >> arroja problemas de que debo hacer un forward -i eth0 -o tun0
> >>
> >> lo agrego y la llamada tampoco me funciona... peeeeeeeero no tengo
> el
> >> problema del firewall... cuec!
> >>
> >> y para que me funcione el ping y demases debo agregar:
> >>
> >>  iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j
> MASQUERADE y
> >> todo bien....
> >>
> >> ya estoy un tantito mareado.... alguien tiene alguna idea???...
> porque
> >> xlite igual se marea?? ya pregunte en el foro de xlite y no tuve
> mucha
> >> suerte
> >>
> >> Saludos y gracias desde ya.
> >
> > Debes consierar usar FORWARD cuando sabes que el paquete es ruteable
> entre
> > los las redes IP asociados a cada interfaz (palabras simples, los
> paquetes
> > de un extremo saben como alcanzar al otro mediante sus puertas de
> enlace).
> >
> > Cuando no hay posibilidad de ruteo (por ejemplo una LAN e INTERNET),
> puedes
> > usar SNAT o MASQUERADE en una de las interfaces (como en tu ejemplo)
> y eso
> > permitirá que los paquetes provenientes de la interfaz contraria
> puedan
> > atravezar el ruteador en un sentido ( y recibir respuestas
> relacionadas a
> > esa conexion)
> >
> > Esto es dificil de entender si no lees algo de material de routing
> y
> > traslacion de puertos (es la parte basica del rutero entre
> dispositivos)
> >
> > La instruccion de POSTROUTING que muestras arriba me da a entender
> que tu
> > caso es el segundo, es decir, no es posible rutear entre ambas
> redes, por lo
> > que MASQUERADE te esta abriendo paso.
> >
> > Solucion, depende de lo que tengas alli, pero con tan poca
> informacion que
> > das no se me ocurre nada logico
> 
> hice lo de wireshark... y encontre este error "RTCP frame length
> check: Wrong (expected 50 bytes, found 40)",  pues el problema que
> tengo y no mencione... (jo!) es que si llamo desde el w$ a un
> telefono
>  de un tipo A, me conecta bien.... a traves de SIP y RTP.  Pero si
> despues llamo a un telefono tipo b, al responder el telefono, me sale
> este error en un paquete.  Poco despues me arroja un error 487
> Request
> Terminated.
> 
> Esto con xlite... lo raro, es que si uso twinkle en linux, para
> llamar
> a los mismos dos telefonos, hace la llamada en ambos casos, pero al
> otro lado donde antes se corta la llamada, no me escuchan y yo si
> puedo oir.
> 
> Alguna idea??
> 
> Gracias desde ya.

El error que muestra wireshark al parecer corresponde a un bug :

http://www.mail-archive.com/wireshark-dev@wireshark.org/msg13233.html

Sin embargo, lo que explicas comúnmente se asocia a problemas en el trafico RTP en la comunicación entre los dos teléfonos, ya que como explicas, la señalización SIP estaría funcionando. Si ambos teléfonos son VOIP, aunque exista un proxy server intentarán la comunicación en forma directa :

http://www.voipforo.com/en/SIP/SIP_example.php

Ojala Te ayude. ( esto se esta poniendo medio OT :)

Saludos,




Más información sobre la lista de distribución Linux