Autor Tema: [Tutorial] Movistar FTTH con OpenWrt (VOIP e Imagenio)  (Leído 668922 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Noltari

  • Visitante
Re: [Tutorial] Movistar FTTH con OpenWrt (VOIP e Imagenio)
« Respuesta #440 en: 23-08-2014, 20:43 (Sábado) »
Añadida al primer post la versión r12, que vuelca todo el log al fichero /tmp/movistar.log, de forma que si alguien tiene algún problema, esa información puede ayudar a solucionarlo.

Saludos.



Goommer

  • Visitante
Re: [Tutorial] Movistar FTTH con OpenWrt (VOIP e Imagenio)
« Respuesta #441 en: 25-08-2014, 04:55 (Lunes) »
Vale, después de buscar un poco más sobre conntrack/nat/rtsp he encontrado esto:
http://mike.it-loops.com/item/29

Si os fijáis en los comentarios hay uno que se queja de que no le funciona.
Ya en los últimos comentarios dice que ha conseguido que le funcionara con este parche:
http://pastebin.com/XsyyCxzW

Pues bien, yo he cogido el parche, lo he adaptado a la versión actual de OpenWrt, y aquí lo tenéis:
https://dl.dropboxusercontent.com/u/4708147/openwrt/movistar/rtsp_fix.tgz

Solamente he probado a compilarlo, no puedo probarlo hasta dentro de 2/3 semanas.

Saludos!

Noltari, muchas gracias por el esfuerzo. Lo he probado sin éxito.

Compiló bien, pero en mis pruebas no funcionó...


Hola otra vez, quiero aclarar que yo estoy trabajando en debian aunque estoy seguro que se puede extrapolar a openwrt, lo publico aquí porque es el único sitio donde he encontrado algo de información, gracias a vosotros.

Ya he podido probar el módulo, por sí solo no conseguí que funcionase, pero he aplicado el parche que comentais y junto con otra modificación me ha funcionado. En el log se puede ver:

Código: [Seleccionar]
conntrackinfo = 2
 IP_CT_DIR_REPLY
 IP_CT_DIR_REPLY
 conntrackinfo = 2
 found a setup message
 tran='Transport: MP2T/H2221/UDP;unicast;client_port=27352-27352
 '
 lo port found : 27352
 incorrect range: 27352-27352, correcting
 udp transport found, ports=(1,27352,27353)
 setup expectation for rtcp
 expect_related 0.0.0.0:0-0-10.x.x.x:27352-27353
 NAT rtsp help_out
 hdr: len=9, CSeq: 3
 hdr: len=25, User-Agent: MICA-IP-STB
 hdr: len=59, Transport: MP2T/H2221/UDP;unicast;client_port=27352-27352
 hdr: Transport
 stunaddr=10.159.34.38 (auto)
 nat expect_related 0.0.0.0:0-0-10.x.x.x:27352-27353
 rep: len=59, Transport: MP2T/H2221/UDP;unicast;client_port=27352-27353
 hdr: len=14, x-mayNotify:

Código: [Seleccionar]
# /usr/sbin/conntrack -L | grep 10.x.x.x | grep udp; netstat-nat -n | grep 192.168.1.200
...
udp      17 29 src=172.26.83.137 dst=10.x.x.x sport=49566 dport=27352 [UNREPLIED] src=192.168.1.200 dst=172.26.83.137 sport=27352 dport=49566 mark=0 use=1
...
udp   172.26.83.137:49566            192.168.1.200:27352            UNREPLIED  
...


La modificación que he echo se debe a que movistar tv usa otra ip distinta para el vídeo:

Código: [Seleccionar]
$ diff -u /usr/src/nat-rtsp-0.7+1.g2ea3cb6/nf_conntrack_rtsp.c nf_conntrack_rtsp.c
--- /usr/src/nat-rtsp-0.7+1.g2ea3cb6/nf_conntrack_rtsp.c 2013-04-03 19:22:19.000000000 +0200
+++ nf_conntrack_rtsp.c 2014-08-25 03:35:49.672541851 +0200
@@ -346,7 +346,7 @@
 
  nf_ct_expect_init(rtp_exp, NF_CT_EXPECT_CLASS_DEFAULT,
   nf_ct_l3num(ct),
-  &ct->tuplehash[!dir].tuple.src.u3,
+              NULL, //&ct->tuplehash[!dir].tuple.src.u3,
   &ct->tuplehash[!dir].tuple.dst.u3,
   IPPROTO_UDP, NULL, &be_loport);
 
@@ -364,7 +364,7 @@
 
  nf_ct_expect_init(rtcp_exp, NF_CT_EXPECT_CLASS_DEFAULT,
   nf_ct_l3num(ct),
-  &ct->tuplehash[!dir].tuple.src.u3,
+                 NULL, //&ct->tuplehash[!dir].tuple.src.u3,
   &ct->tuplehash[!dir].tuple.dst.u3,
   IPPROTO_UDP, NULL, &be_hiport);
 

Espero que os sea útil
« Última modificación: 25-08-2014, 21:17 (Lunes) por Goommer »

dtroyanop

  • Visitante
Re: [Tutorial] Movistar FTTH con OpenWrt (VOIP e Imagenio)
« Respuesta #442 en: 25-08-2014, 10:11 (Lunes) »
buenos días, soy nuevo en el foro he llegado buscando una solución a la basura de router que ponen telefónica movistar con la fibra fusion internet+voip+tv.

el dichoso es un comtrend vg8050 en el que al poner el torrent el router se cuelga y el pc te indica red limitada. por lo que he visto en foros no soy el único que sufre esta chapuza, en el que las soluciones son bajar el numero de descargas por torrent, las conexiones a clientes y limitar la velocidad.
esto pasa con wifi  y con cable lan

el caso es que mirando el tutorial  del post no se si se si metiéndole openwrt mejorará el asunto citado anteriormente y la cobertura... pero la cobertura es lo de menos porque al final acabaré pasando cable ethernet.


tengo unas dudas sobre el tutorial, ya que es mi primera vez en meter openwrt a un router

Paso 1
Opción A: Transferir el fichero movistar.sh al router de la forma que más os guste (usb, scp...).
Opción B: Crear el fichero utilizando vi (copiando el contenido de movistar.txt):


"A"no entiendo como se puede transferir el movistar.sh al router. usb? scp? me podéis decir que es o como se hace?
"B" entiendo que la opción B es crear un firmware con el script de Noltari siguiendo los pasos que indican. una vez con lo que se cree al final del script se puede meter al router cómo una actualización o cómo?

y si sale algo mal se puede devolver al estado de fábrica de movistar en algún momento??

muchas gracias

y gracias a Noltari por el pedazo tutorial

Buenas,

La opción A no está descrita, pero la opción B sí...
De todas formas, si no sabes cómo copiar el fichero al router es casi mejor que no sigas, porque probablemente no tengas los conocimientos básicos que necesitas para realizar el proceso hasta el final.

A todo esto, el Comtrend VG-8050 no tiene soporte OpenWrt, así que necesitarías utilizar otro router.

Saludos.

Muchas gracias Noltari, continuaré investigando a ver que puedo hacer con la mierda router que instala telefonica, gracias!!!

alfgut

  • Visitante
Re: [Tutorial] Movistar FTTH con OpenWrt (VOIP e Imagenio)
« Respuesta #443 en: 26-08-2014, 12:26 (Martes) »
Hola de nuevo,

Sigo teniendo problemas con el UPnP. Hoy he tenido que reiniciar el router y ya no funciona. He reiniciado el servicio pero nada. Por lo menos parece que el Port Forward sí que funciona. ¿Alguien me podría echar una mano por favor?

Muchas gracias

jirm

  • Visitante
Re: [Tutorial] Movistar FTTH con OpenWrt (VOIP e Imagenio)
« Respuesta #444 en: 27-08-2014, 08:08 (Miércoles) »
Buenos dias.

En primer lugar gracias a Noltari por su dedicacion y esfuerzo por hacer que "todos" (los que no sabemos y los demas) podamos tener una forma facil y bien documentada de implementar movistar tv en nuestros routers con openwrt.

Soy bastante novato en el tema de openwrt pero creo que puedo aportar mi granito de arena en algunos aspectos asi que estoy disponible para ayudar en aquellas cuestiones que se me sugieran.

Yo he configurado recientemente un router (WD MyNet 750) con openwrt y movistart tv y me suscribo al resto de "feligreses" que les interesaria poner en marcha el VOD en multiroom (varios decos a la vez) y que por lo que he visto (ver post de jfm) y dado que el modulo RTSP-conntrac que haria esa tarea ya no esta disponible para ser compilado y como creo firmemente que no es posible que con openwrt no se pueda conseguir la misma funcionalidad que con routers con firmwares realmente "patateros" como los que nos "venden" los operadores de las plataformas de tv,  he pensado que quizas podria hacerse una aproximacion diferente al uso modulo RTSP-conntrac y he visto los siguiente:

Segun entiendo el problema es conseguir la funcion "full cone NAT" en OpenWRT para que el servicio VOD funcione en diferentes decos y el flujo de datos del RTSP "atraviese" extremo a extremo (a traves de NAT, el Firewall, etc...), e intentando comprender un poco mas la problematica me he topado con lo siguiente:

http://www.joewein.net/info/sw-iptables-full-cone-nat.htm

En este post parece que han resuelto como realizar la funcion full cone NAT con OpenWrt e iptables sin mas. Quizas sea asi de simple el resolverlo?

Como no tengo conocimientos (estoy en ello) suficientes como para llegar a conclusiones claras, expongo aqui el tema por si los "gurus" que por aqui moran pueda realizar las pruebas pertinentes y evaluar si es una solucion.

Tambien he visto que "alguien" (Goomer) ha posteado que ha consguido hacer funcionar el modulo RTSP-contrac pero parece que instalandolo directamente en debian, aunque no indica los detalles concretos de como lo ha realizado y tampoco de que pruebas a realizado (en cuanto al VOD y varios decos) y por tanto creo que no es posible averiguar que pasos deberian seguirse para conseguir el mismo funcionamiento portando el mismo metodo a openwrt.

Considero que el servicio multirrom es muy interesante para mucha gente y en cualquier caso que con openwrt deberian conseguirse completamente las funcionalidades y servicios que nos ofrece la plataforma movistar tv y que lo consiguen con unos routers "chusqueros" como los que nos instalan los operadores.

Un saludo a todos
« Última modificación: 27-08-2014, 08:24 (Miércoles) por jirm »

ppfdez

  • Visitante
Re: [Tutorial] Movistar FTTH con OpenWrt (VOIP e Imagenio)
« Respuesta #445 en: 29-08-2014, 01:45 (Viernes) »
Visto que en el foro al menos hay 2 personas interesadas (deejayexe y virusbcn) por poder disponer de una solucion VPN en un router OpenWRT y que ademas conviva con la personalizacion de Noltari para fibra Movistar, paso a contar mi experiencia exitosa sobre el tema basada en OpenVPN/OpenWRT partiendo de mi experiencia de usuario del mismo paquete desde el despacho, el portatil y el movil, mediante un plugin de mi NAS OpenMediaVault.

Dispongo de un router tp-link tl-wr1043ND V2 OpenWRT Barrier Breaker 14.07 RC2 personalizado para fibra Movistar en primer lugar con el script de Noltari r10 y en segundo lugar realizando ciertas modificaciones mías para por un lado aprovechar la potencialidad de los 2 puertos CPU del router y por otro, ya que el multiroom no anda muy fino de momento, redirigiendo todo el tráfico imagenio a un port dedicado del switch. Todo ello se explica más o menos en mis post anteriores y en un momento se podría realizar un post especifico resumen final.

Para todo el proceso es necsario tambien disponer de un  software de autoridad de certificación (easy-RSA), dentro del OpenWRT o fuera, yo he optado por la opcion externa sobre debian que explicaré en el siguiente post, para no cargar más al tp-link, ya que no tengo experiencia, no se por donde pueden salir las cosas y no quiero arriesgarme.

Tambien es necesario contar con una ip fija o un servicio de DDNS, como dyndns, duckdns, etc. para poder acceder desde el exterior.

Teniendo los certificados, como se explica en el siguiente post, pasaremos a instalar propiamente el OpenVPN en el tercer post.

Perdonad las posibles faltas de ortografia, sintaxis y semantica así como las "ausencias", pero no tengo mucho tiempo.

Todo lo que he hecho ha sido buscar por aqui, buscar por allí, leer y leer, nada es mio pero todo este resumen si.

Nota: Se suponen conocimeintos básicos de putty, winsscp, etc ...


ppfdez

  • Visitante
Re: [Tutorial] Movistar FTTH con OpenWrt (VOIP e Imagenio)
« Respuesta #446 en: 29-08-2014, 01:51 (Viernes) »
OBTENCION DE CERTIFICADOS

Como software de Autoridad Certificadora hemos usado easy-rsa, tal como viene con el paquete de OpenVPN server cuando se instala en un debian. En nuestro caso hemos tomado un turnkey de OpenVPN para un OpenVZ container de mi entorno virtual PROXMOX VE 3.1, pero se puede partir de una distribución debian wheezy e instalar sobre ella el paquete con apt-get etc o bien de un WINDOWS sobre el que se instalaría el easyrsa 3.0 propiamente dicho. Todo vale.

En los parametros de los certificados, aparecen abreviaturas que en mi caso he usado así:
O=MICASA OU="en blanco" C=ES S=Andalucia L=Sevilla Málaga CN=loquito cuquito coco ruti Casa_Glez_CA E=cuquito@hotmail.com

Para instalar en Debian:
Código: [Seleccionar]
apt-get update
apt-get install openvpn
cd /etc/openvpn
mkdir easy-rsa
cp -R /usr/share/doc/openvpn/examples/easy-rsa/2.0/* ./easy-rsa
nano /etc/openvpn/easy-rsa/vars
.....
Poner los parametros de los certificados segun nuestros gustos o necesidades
.....
CTRL-O
CTRL-X
Código: [Seleccionar]
cd easy-rsa
touch keys/index.txt
echo 01>keys/serial
. ./vars  ###ojo así como se ve . ./vars
. ./clean-all
./build-ca
./build-dh
./build-key-server "server"
./build-key "client1"
.....................
./build-key "clientn"
.....................
./revoke-full "clientx"

Despues de esto tenemos ca.crt ca.key dh1024.pem
tambien server.crt y server.key
y como no client1.crt, client1.key,........., clientn.crt y clientn.key

A cada servidor se le entregan sus 2 certificados y el ca.crt
A cada cliente se le entregan sus 2 certificados y el ca.crt que se sacan con winsscp del directorio de claves.

Para dudas consultar https://wiki.debian.org/OpenVPN


ppfdez

  • Visitante
Re: [Tutorial] Movistar FTTH con OpenWrt (VOIP e Imagenio)
« Respuesta #447 en: 29-08-2014, 02:05 (Viernes) »
INSTALACION OPENVPN

En primer lugar instalamos mediante luci el paquete openvpn-openssl:

System/Software/Actions/Available packets/O/install "openvpn-openssl"

Ahora debemos editar el fichero /etc/conf/openvpn para que contenga algo parecido a:

Código: [Seleccionar]
config openvpn 'casaglez_server'
option enabled '1'
option port '554'
option proto 'tcp'
option dev 'tun'
option ca '/etc/openvpn/Casa_Glez_CA.crt'
option cert '/etc/openvpn/serv_ruti1_Casa_Glez_CA.crt'
option key '/etc/openvpn/serv_ruti1_Casa_Glez_CA.key'
option dh '/etc/openvpn/dh1024_Casa_Glez_CA.pem'
option server '10.8.0.0 255.255.255.0'
option ifconfig_pool_persist '/tmp/ipp.txt'
list push 'route 192.168.20.0 255.255.255.0'
list push 'dhcp-option DNS 192.168.20.1'
option client_to_client '1'
option keepalive '10 120'
option comp_lzo 'yes'
option max_clients '4'
option persist_key '1'
option persist_tun '1'
option status '/tmp/openvpn-status.log'
option log '/tmp/openvpn.log'
option verb '3'
option mute '20'
option script_security '3'
option auth_user_pass_verify '/etc/openvpn/pass.sh via-env'

Donde basicamente decimos el nombre del server, el port (este no es el standar) y protocolo a usar (es mejor UDP), el tipo de interface (tun equivale a routed mode, existe tap equivalente a briged mode), el nombre y localizacion de los certificados: el público de la autoridad de certificación, el publico y privado tipo server del servidor y el mágico dh1024........pem, la definición de la red VPN, la red propia, otros parametros operativos, la localizacion de los logs y el shell-script de comprobacion extra usuario/password por si los certificados de alguno/s de nuestros clientes calleran en malas manos.

Al igual en cada cliente hay que instalar el soft OpenVPN, yo lo tengo para android y Win7, y el fichero de configuracion C:\Program Files\OpenVPN\config\casagzlez.ovpn debe ser algo parecido a:

Código: [Seleccionar]
##############################################
# Sample client-side OpenVPN 2.0 config file #
# for connecting to multi-client server.     #
#                                            #
# This configuration can be used by multiple #
# clients, however each client should have   #
# its own cert and key files.                #
#                                            #
# On Windows, you might want to rename this  #
# file so it has a .ovpn extension           #
##############################################

# Specify that we are a client and that we
# will be pulling certain config file directives
# from the server.
client

# server connection params
remote casaglez.dyndns.com 554
proto tcp
dev tun

# certs and keys
ca Casa_Glez_CA.crt
cert cuqui_Casa_Glez_CA.crt
key cuqui_Casa_Glez_CA.key
ns-cert-type server

# Authentication and compression settings must
# match on both client and server

# Uncomment to have the VPN client prompt for
# a password. If authentication was not enabled
# at the time this configuration file was
# generated, this setting will be commented out
auth-user-pass

# Uncomment to use compression
# If compression was not enabled at the time
# this configuration file was generated, this
# setting will be commented out
comp-lzo

# If you are connecting through an
# HTTP proxy to reach the actual OpenVPN
# server, put the proxy server/IP and
# port number here.  See the man page
# if your proxy server requires
# authentication.
;http-proxy-retry # retry on connection failures
;http-proxy [proxy server] [proxy port #]

# Try to preserve some state across restarts.
persist-key
persist-tun

# Most clients don't need to bind to
# a specific local port number.
nobind

# Keep trying indefinitely to resolve the
# host name of the OpenVPN server.  Very useful
# on machines which are not permanently connected
# to the internet such as laptops.
resolv-retry infinite

# Logging verbosity
verb 3

# Silence repeating messages.  At most 20
# sequential messages of the same message
# category will be output to the log.
mute 10

en este directorio  C:\Program Files\OpenVPN\config\ tambien tienen que estar el certificado publico de la entidad certificadora .crt y los certificados publico .crt y privado.key del cliente (cuqui) otorgado por nuestra autoridad (se han obtenido siguiendo el antterior post).

volviendo al router lo configuramos para que OpenVPN arranque cuando se inicia OpenWRT mediante luci:

System/Startup/openvpn <enabled>

En /tmp deben estar /tmp/ipp.txt /tmp/openvpn-status.log y /tmp/openvpn.log

Al ejecutarse OpenVPN por primera vez veremos errores primero en el system log (luci: status/system log) cuando ni siquiera puede ejecutarse y despues en sus propios logs cuando la cosa vaya mejor, todo esto nos ayudará.

Una vez ejecutado como se pueda, nos aparecera la interface tun: y procederemos mediante luci a asignarle una red: la red "VPN" y una zona de firewall: la zona "vpn"

/network/add interface/ "vpn" tun unmanaged firewall zone "vpn"

Ahora a través de luci en el firewall debemos dar los permisos:

/Network/Firewall/Forwading settings/add zona vpn >Accept Accept Reject< y crear 3 reglas. Por comodidad se pueden meter con putty y nano o vi en /etc/config/openvpn o con luci quedando añadidos a /etc/config/openvpn

Código: [Seleccionar]
config rule
option target 'ACCEPT'
option src 'lan'
option dest 'vpn'
option name 'LANtoVPN'
option proto 'all'

config rule
option target 'ACCEPT'
option name 'VPNtoLAN'
option src 'vpn'
option dest 'lan'
option proto 'all'

config rule
option target 'ACCEPT'
option src 'wan'
option proto 'tcp'
option dest_port '554'
option name 'OpenVPN'

config zone
option input 'ACCEPT'
option output 'ACCEPT'
option name 'vpn'
option network 'vpn'
option forward 'REJECT'

Para la comprobacion opcional extra de usuario/password debemos incluir en /etc/openvpn/ (el mismo directorio de los certificados) el shell-script "pass.sh" siguiente (para el caso de 2 usuarios, es facil de generalizar):

Código: [Seleccionar]
#!/bin/sh
user1="cuqui"
pass1="cuquito###"
user2="cuqo"
pass2="cocino0@@"
test "$user1" = "${username}" && test "$pass1" = "${password}" && exit 0
test "$user2" = "${username}" && test "$pass2" = "${password}" && exit 0
exit 1

ojo dar permisos de ejecucion al fichero
Código: [Seleccionar]
chmod 755 pass.sh
¡Aqui y en la lista de certificados revocados tenemos el control de acceso de nuestros clientes!

Y si tenemos los certificados instalados obtenidos segun el tutorial del siguiente post, todo debe funcionar y bien.

Hemos bebido de muchos sitios pero principalmente de https://forum.openwrt.org/viewtopic.php?id=35021 nuestras gracias.
Ojo:
* No instalar openvpn-easy-rsa para no cargar router.
* No Apply "push" fix ..............
* No Generate keys Part1, part2, part3.

Espero que os sirva.

virusbcn

  • Visitante
Re:
« Respuesta #448 en: 29-08-2014, 09:01 (Viernes) »
Gracias,  justo ayer conseguí conectar contra un openvpn server ssl, conecté mi openwrt en modo cliente openvpn (cuando lo tenga acabado pongo minituto) consigo hacer ping desde el router hacia la otra red pero desde mi red hacia la otra red no va, has cambiado algo en las rutas??

ppfdez

  • Visitante
Re: [Tutorial] Movistar FTTH con OpenWrt (VOIP e Imagenio)
« Respuesta #449 en: 29-08-2014, 10:31 (Viernes) »
Mi caso es el contrario, OpenWRT es mi OpenVPN SSL server. A través de él accedo a mi red de casa, en particular a la NAS (OpenMediaVault) y a mi servidor de VPS´s (PROXMOX VE) al que arranco con el plugin luci wake-on-lan.

Tuve muchos problemas con el firewall, tenia pings pero no acceso a la red, buscaba soluciones complejas cuando la solución era muy simple. La mayor parte de los problemas vinieron por la simulacion de la situación desde casa con un VPS OpenVPN i-386 radicado en el PROXMOX y las herencias de mi anterior OpenVPN server radicado en la NAS.

Tu quieres una visibilidad completa red1<->red2 ¿no?.

Explica mejor tu caso, para que no andemos con dialogos de suposiciones.

Salu2

virusbcn

  • Visitante
Re:
« Respuesta #450 en: 29-08-2014, 10:46 (Viernes) »
Sí gracias,  yo busco visibilidad completa red1 a red2
Es para conectar la red de mi casa entera a la red del trabajo

Goommer

  • Visitante
Re: [Tutorial] Movistar FTTH con OpenWrt (VOIP e Imagenio)
« Respuesta #451 en: 29-08-2014, 13:03 (Viernes) »
...
Tambien he visto que "alguien" (Goomer) ha posteado que ha consguido hacer funcionar el modulo RTSP-contrac pero parece que instalandolo directamente en debian, aunque no indica los detalles concretos de como lo ha realizado...


Hola jirm, pensaba que mi publicación estaba lo suficientemente claro, además indiqué los detalles, eso sí, sólo lo que se diferencia de lo que hizo jfm y Noltari. Intento detallarlo mejor.

Obtengo el software del módulo nat_rtsp aplico el parche que indica Noltari http://pastebin.com/XsyyCxzW, además este parche Noltari dice haberlo adaptado a la versión actual de OpenWrt. Después de esto y una vez comprobado que el módulo no me funcionaba para ver las grabaciones en movistar tv, haciendo debug compruebo que el conntrack añade la ip de destino del diálogo rtsp a lo que debe esperar para casar con la red interna, fíjate en lo que espera (expect_related):

Código: [Seleccionar]
found a setup message
 tran='Transport: MP2T/H2221/UDP;unicast;client_port=27352-27352
 '
 lo port found : 27352
 incorrect range: 27352-27352, correcting
 udp transport found, ports=(1,27352,27353)
 setup expectation for rtcp
 expect_related 172.26.83.134:0-0-10.x.x.x:27352-27353
 NAT rtsp help_out


El problema con esto es que movistart tv no funciona así, sino que el vídeo lo envía desde otra ip distinta a la que usa para negociar el rtps. Como ejemplo te añado una captura del diálogo rtsp y el inicio del envío del vídeo, donde se puede ver que la negociación se hace contra la ip 172.26.83.134 y el envío de vídeo desde la 172.26.83.138:


Código: [Seleccionar]
Source         Destination    Protocol Length Info
10.x.x.x       172.26.83.134  RTSP     122    OPTIONS * RTSP/1.0
172.26.83.134  10.x.x.x       RTSP     173    Reply: RTSP/1.0 200 OK
10.x.x.x       172.26.83.134  RTSP     233    DESCRIBE rtsp://172.26.83.134:554/rolling_buffer/1613/2014-08-28T19:45:00Z/2014-08-28T21:40:00Z RTSP/1.0
172.26.83.134  10.x.x.x       RTSP/SDP 356    Reply: RTSP/1.0 200 OK
10.x.x.x       172.26.83.134  RTSP     298    SETUP rtsp://172.26.83.134:554/rolling_buffer/1613/2014-08-28T19:45:00Z/2014-08-28T21:40:00Z/3026458647976657478 RTSP/1.0
                                                    MP2T/H2221/UDP;unicast;client_port=27160-27161
172.26.83.134  10.x.x.x       RTSP     281    Reply: RTSP/1.0 200 OK
10.x.x.x       172.26.83.134  RTSP     316    PLAY rtsp://172.26.83.134:554/rolling_buffer/1613/2014-08-28T19:45:00Z/2014-08-28T21:40:00Z/3026458647976657478 RTSP/1.0
172.26.83.134  10.x.x.x       RTSP     153    Reply: RTSP/1.0 200 OK
172.26.83.138  10.x.x.x       MPEG TS  1358   Program Map Table (PMT)
172.26.83.138  10.x.x.x       MPEG TS  1358   Source port: 42278  Destination port: 27160
172.26.83.138  10.x.x.x       MPEG TS  1358   Source port: 42278  Destination port: 27160


Una vez visto esto lo que hay que hacer es modificar lo que conntrack debe esperar quitando la ip de destino, y eso lo realizo con este parche:

Código: [Seleccionar]
--- nf_conntrack_rtsp.c.orig 2013-04-03 19:22:19.000000000 +0200
+++ nf_conntrack_rtsp.c 2014-08-27 10:59:41.519771956 +0200
@@ -346,7 +346,7 @@
 
  nf_ct_expect_init(rtp_exp, NF_CT_EXPECT_CLASS_DEFAULT,
    nf_ct_l3num(ct),
-   &ct->tuplehash[!dir].tuple.src.u3,
+   NULL, //&ct->tuplehash[!dir].tuple.src.u3,
    &ct->tuplehash[!dir].tuple.dst.u3,
    IPPROTO_UDP, NULL, &be_loport);
 
@@ -364,7 +364,7 @@
 
  nf_ct_expect_init(rtcp_exp, NF_CT_EXPECT_CLASS_DEFAULT,
    nf_ct_l3num(ct),
-   &ct->tuplehash[!dir].tuple.src.u3,
+   NULL, //&ct->tuplehash[!dir].tuple.src.u3,
    &ct->tuplehash[!dir].tuple.dst.u3,
    IPPROTO_UDP, NULL, &be_hiport);


una vez modificado compruebo que funciona correctamente.


...y tampoco de que pruebas a realizado (en cuanto al VOD y varios decos) ....

Las pruebas las puse, añadí el debug del módulo nat_rtsp donde se ve que funciona, es decir, que conntrack selecciona correctamente lo que se debe esperar y que nat lo recoge. Además añadi las entradas de conntrack y de nat donde se puede ver la parte externa e interna de la red.

Intentaré explicarme mejor.


Escenario: dos decos conectados, uno con ip 192.168.1.200 y otro con ip 192.168.1.201, dentro del rango típico del dhcp, selecciono en los decos una grabación distinta y pulso <ver> en los dos, las grabaciones se reproducen sin problema en los dos decos.


Detalles:
Información del primer deco al reproducir una grabación. Información de debug del módulo nat_rtsp donde se puede ver

1. análisis de lo que viene en el paquete SETUP de rtsp detectando los puertos indicados por el cliente:
Código: [Seleccionar]
found a setup message
tran='Transport: MP2T/H2221/UDP;unicast;client_port=27160-27160
'
lo port found : 27160
incorrect range: 27160-27160, correcting
udp transport found, ports=(1,27160,27161)

2. conntrack_rtsp indica lo que se debe esperar
Código: [Seleccionar]
setup expectation for rtcp
expect_related 0.0.0.0:0-0-10.x.x.x:27160-27161

3. nat_rtsp con lo que debe esperar
Código: [Seleccionar]
NAT rtsp help_out
hdr: len=9, CSeq: 3
hdr: len=25, User-Agent: MICA-IP-STB
hdr: len=59, Transport: MP2T/H2221/UDP;unicast;client_port=27160-27160
hdr: Transport
stunaddr=10.x.x.x (auto)
nat expect_related 0.0.0.0:0-0-10.x.x.x:27160-27161
rep: len=59, Transport: MP2T/H2221/UDP;unicast;client_port=27160-27161
hdr: len=14, x-mayNotify:
IP_CT_DIR_REPLY
IP_CT_DIR_REPLY
IP_CT_DIR_REPLY
IP_CT_DIR_REPLY

con esto el módulo nat_rtsp ya sabe que debe esperar paquetes en los puertos 27160 y 27161 y cualquier ip de la parte externa y ligarla a la conexión interna. Esto último se puede ver con estas órdenes:

Código: [Seleccionar]
# conntrack -L | grep 10.x.x.x | grep udp; netstat-nat -n | grep 192.168.1.20
...
udp      17 29 src=172.26.83.138 dst=10.x.x.x sport=42278 dport=27160 [UNREPLIED] src=192.168.1.201 dst=172.26.83.138 sport=27160 dport=42278 mark=0 use=1
...
udp   172.26.83.138:42278            192.168.1.201:27160            UNREPLIED
...

aquí podeis ver que desde el orgien 172.26.83.138:42278 llega al destino 192.168.1.201:27160 que en mi caso es el segundo deco.


Añado además la información general, con los dos decos, sin comentar para no entorpezer la lectura de los logs:

Código: [Seleccionar]
conntrackinfo = 2
IP_CT_DIR_REPLY
IP_CT_DIR_REPLY
conntrackinfo = 2
found a setup message
tran='Transport: MP2T/H2221/UDP;unicast;client_port=27160-27160
'
lo port found : 27160
incorrect range: 27160-27160, correcting
udp transport found, ports=(1,27160,27161)
setup expectation for rtcp
expect_related 0.0.0.0:0-0-10.159.34.38:27160-27161
NAT rtsp help_out
hdr: len=9, CSeq: 3
hdr: len=25, User-Agent: MICA-IP-STB
hdr: len=59, Transport: MP2T/H2221/UDP;unicast;client_port=27160-27160
hdr: Transport
stunaddr=10.159.34.38 (auto)
nat expect_related 0.0.0.0:0-0-10.159.34.38:27160-27161
rep: len=59, Transport: MP2T/H2221/UDP;unicast;client_port=27160-27161
hdr: len=14, x-mayNotify:
IP_CT_DIR_REPLY
teardown handled

Código: [Seleccionar]
conntrackinfo = 2
IP_CT_DIR_REPLY
IP_CT_DIR_REPLY
conntrackinfo = 2
found a setup message
tran='Transport: MP2T/H2221/UDP;unicast;client_port=27711-27711
'
lo port found : 27711
incorrect range: 27711-27711, correcting
udp transport found, ports=(1,27710,27711)
setup expectation for rtcp
expect_related 0.0.0.0:0-0-10.x.x.x:27710-27711
NAT rtsp help_out
hdr: len=9, CSeq: 3
hdr: len=25, User-Agent: MICA-IP-STB
hdr: len=59, Transport: MP2T/H2221/UDP;unicast;client_port=27711-27711
hdr: Transport
stunaddr=10.x.x.x (auto)
nat expect_related 0.0.0.0:0-0-10.x.x.x:27710-27711
multiple ports found, port 27711 ignored
rep: len=59, Transport: MP2T/H2221/UDP;unicast;client_port=27711-27711
hdr: len=14, x-mayNotify:
IP_CT_DIR_REPLY
teardown handled




Código: [Seleccionar]
# conntrack -L | grep 10.x.x.x | grep udp; netstat-nat -n | grep 192.168.1.20
...
udp      17 29 src=172.26.83.138 dst=10.x.x.x sport=42278 dport=27160 [UNREPLIED] src=192.168.1.201 dst=172.26.83.138 sport=27160 dport=42278 mark=0 use=1
udp      17 29 src=172.26.83.136 dst=10.x.x.x sport=41747 dport=27711 [UNREPLIED] src=192.168.1.200 dst=172.26.83.136 sport=27711 dport=41747 mark=0 use=1
...
udp   172.26.83.136:41747            192.168.1.200:27711            UNREPLIED 
udp   172.26.83.138:42278            192.168.1.201:27160            UNREPLIED
...




Código: [Seleccionar]
Source         Destination    Protocol Length Info
10.x.x.x       172.26.83.134  RTSP     122    OPTIONS * RTSP/1.0
172.26.83.134  10.x.x.x       RTSP     173    Reply: RTSP/1.0 200 OK
10.x.x.x       172.26.83.134  RTSP     233    DESCRIBE rtsp://172.26.83.134:554/rolling_buffer/1613/2014-08-28T19:45:00Z/2014-08-28T21:40:00Z RTSP/1.0
172.26.83.134  10.x.x.x       RTSP/SDP 356    Reply: RTSP/1.0 200 OK
10.x.x.x       172.26.83.134  RTSP     298    SETUP rtsp://172.26.83.134:554/rolling_buffer/1613/2014-08-28T19:45:00Z/2014-08-28T21:40:00Z/3026458647976657478 RTSP/1.0
                                                    MP2T/H2221/UDP;unicast;client_port=27160-27161
172.26.83.134  10.x.x.x       RTSP     281    Reply: RTSP/1.0 200 OK
10.x.x.x       172.26.83.134  RTSP     316    PLAY rtsp://172.26.83.134:554/rolling_buffer/1613/2014-08-28T19:45:00Z/2014-08-28T21:40:00Z/3026458647976657478 RTSP/1.0
172.26.83.134  10.x.x.x       RTSP     153    Reply: RTSP/1.0 200 OK
172.26.83.138  10.x.x.x       MPEG TS  1358   Program Map Table (PMT)
172.26.83.138  10.x.x.x       MPEG TS  1358   Source port: 42278  Destination port: 27160
172.26.83.138  10.x.x.x       MPEG TS  1358   Source port: 42278  Destination port: 27160


Código: [Seleccionar]
Source         Destination    Protocol Length Info
10.x.x.x       172.26.83.134  RTSP     122    OPTIONS * RTSP/1.0
172.26.83.134  10.x.x.x       RTSP     173    Reply: RTSP/1.0 200 OK
10.x.x.x       172.26.83.134  RTSP     233    DESCRIBE rtsp://172.26.83.134:554/rolling_buffer/1611/2014-08-26T20:28:00Z/2014-08-26T22:38:00Z RTSP/1.0
172.26.83.134  10.x.x.x       RTSP/SDP 356    Reply: RTSP/1.0 200 OK
10.x.x.x       172.26.83.134  RTSP     298    SETUP rtsp://172.26.83.134:554/rolling_buffer/1611/2014-08-26T20:28:00Z/2014-08-26T22:38:00Z/3026458665156526664 RTSP/1.0
                                                    MP2T/H2221/UDP;unicast;client_port=27711-27711
172.26.83.134  10.x.x.x       RTSP     281    Reply: RTSP/1.0 200 OK
10.x.x.x       172.26.83.134  RTSP     316    PLAY rtsp://172.26.83.134:554/rolling_buffer/1611/2014-08-26T20:28:00Z/2014-08-26T22:38:00Z/3026458665156526664 RTSP/1.0
172.26.83.134  10.x.x.x       RTSP     153    Reply: RTSP/1.0 200 OK
172.26.83.136  10.x.x.x       MPEG TS  1358   Program Map Table (PMT)
172.26.83.136  10.x.x.x       MPEG TS  1358   Source port: 41747  Destination port: 27711
172.26.83.136  10.x.x.x       MPEG TS  1358   Source port: 41747  Destination port: 27711


Espero que esta vez quede lo suficientemente claro.

Esto es totalmente extrapolable a openwrt porque lo único que he modificado es conntrack_rtsp.c con el parche arriba indicado, Noltari y jfm ya compilaron con el parche anterior, sólo deben añadir la modificación que indico.


Por cierto, en esto yo veo un problema de selección de puertos por parte de los decos, en algún momento podrían seleccionar los mismos puertos.

jirm

  • Visitante
Re: [Tutorial] Movistar FTTH con OpenWrt (VOIP e Imagenio)
« Respuesta #452 en: 01-09-2014, 11:54 (Lunes) »
Hola Goomer.
Antes de nada agradecerte todas las aclaraciones que has indicado. Disculpa mi torpeza pero soy novato en estas lides y ademas no habia comprendido bien siquiera tu escenario.

Sino entiendo mal, lo que interpreto es que la modificacion que indicas del fichero nf_conntrack_rtsp.c hace que el modulo conntrac funcione como se requiere para que la VOD funcione en un escenario de varios decos.

Asi pues solo quedaria recompilar el modulo conntrac para openwrt nuevamente pero ya incorporando la modificacion que tu has comprobado del fichero nf_conntrack_rtsp.c, me equivoco?

Yo actualmente no tengo infraestructura para poder compilar modulos de openwrt (ni tampoco conocimientos suficientes) ni tampoco creo que pudiera hacerlo en un plazo de tiempo razonable y menos aun para poder integrarlo el excelente script que noltari ha preparado y que seria la forma ideal de integrarlo para poder incorporar esta funcionalidad de VOD en multiroom que creo que será la guinda del pastel del buenisimo trabajo que se ha hecho para portar todo lo que movistar tv nos ofrece a openwrt.

Por lo anterior comentado hago desde aqui un ultimo ruego a noltari (o a cualquiera que no como yo se vea con corazon para hacerlo) para que nos compile el conntrac y si es necesario adapte el script para ponerlo en marcha y completar el funcionamiento del VOD.

Insto a que le demos un "ultimo empujoncito" y dejamos el movistar tv en openwrt al 100% y mas alla...

Un saludo a todos.


kalanda

  • Visitante
Re: [Tutorial] Movistar FTTH con OpenWrt (VOIP e Imagenio)
« Respuesta #453 en: 02-09-2014, 18:49 (Martes) »
Después de algo más de un mes con la configuración sobre Openwrt con imagenio e internet todo va perfectamente. En alguna ocasión he alternado entre el router "oficial" y el mio con openwrt para saber si algún problema que tenia era propio o fallo general de movistar y parece que en ningun caso ha sido por usar openwrt.

Pero tengo una pregunta a ver si alguien me puede dar algo de luz.

Si uso el router con openwrt, recibo constantemente paquetes multicast en todos las bocas ethernet, pero si uso el de movistar esto no ocurre. Si no entiendo mal, se usa algo en la configuración que tenemos sobre openwrt para que no se sature la wifi con esos paquetes, pero .... ¿Porque no tenemos lo mismo para los paquetes por la LAN?

Me he leido todo el hilo y no he sido capaz de entender por que. Se que algun usuario como ppfdez ha modificado la configuracion para tener iptv solamente en una boca ethernet, pero no acabo de entener que tiene el router de movistar que no tenga openwrt para poder hacerlo igual sin tener que restringir a un puerto ethernet ... ¿?

A ver si alguien puede aclararme un poco :D
Gracias de antemano.

unowos

  • Visitante
Re: [Tutorial] Movistar FTTH con OpenWrt (VOIP e Imagenio)
« Respuesta #454 en: 05-09-2014, 17:32 (Viernes) »
Pregunta tonta...
¿esto es para cualquier router o para el router-deco de imagenio?
Es decir, a mi me han dado un router-deco sin wifi que hay que enchufarle (si o si) con un cable al router-adsl de movistar.
Claro, yo no quiero tirar cable hasta alla.
El router-deco es un zyxel 2112 nosecuantos.

¿este tutorial me sirve para poner un router wifi con openwrt y captar el wifi y que se enchufe el router-deco por lan a este de openwrt?

ACTUAL:
(TV)---hdmi---(router-deco)---rj45---(router-adsl)---internet

DESEADO:
(TV)---hdmi---(router-deco)---rj45---(router-wifi-openwrt)---wifi_modo_cliente---(router-adsl)---internet

¿Este tutorial me sirve para lo que yo deseo? (Yo entiendo que sirve para sustituirlo, verdad?)
¿Como saco mis "ip's privadas" de deco? Me hice un backup del router-adsl-original y hay bastantes ip's parecidas, la mayoria empiezan por 10.64.x.x y otras por 192.168.x.x, ninguna por 172.x.x.x

¿Alguien bondadoso y simpaticorro podria sacarme de las dudas y aportarme luz en mi camino?

Gracias y S2

Noltari

  • Visitante
Re: [Tutorial] Movistar FTTH con OpenWrt (VOIP e Imagenio)
« Respuesta #455 en: 06-09-2014, 02:03 (Sábado) »
Pregunta tonta...
¿esto es para cualquier router o para el router-deco de imagenio?
Es decir, a mi me han dado un router-deco sin wifi que hay que enchufarle (si o si) con un cable al router-adsl de movistar.
Claro, yo no quiero tirar cable hasta alla.
El router-deco es un zyxel 2112 nosecuantos.

¿este tutorial me sirve para poner un router wifi con openwrt y captar el wifi y que se enchufe el router-deco por lan a este de openwrt?

ACTUAL:
(TV)---hdmi---(router-deco)---rj45---(router-adsl)---internet

DESEADO:
(TV)---hdmi---(router-deco)---rj45---(router-wifi-openwrt)---wifi_modo_cliente---(router-adsl)---internet

¿Este tutorial me sirve para lo que yo deseo? (Yo entiendo que sirve para sustituirlo, verdad?)
¿Como saco mis "ip's privadas" de deco? Me hice un backup del router-adsl-original y hay bastantes ip's parecidas, la mayoria empiezan por 10.64.x.x y otras por 192.168.x.x, ninguna por 172.x.x.x

¿Alguien bondadoso y simpaticorro podria sacarme de las dudas y aportarme luz en mi camino?

Gracias y S2
FTTH != xDSL

ppfdez

  • Visitante
Re: [Tutorial] Movistar FTTH con OpenWrt (VOIP e Imagenio)
« Respuesta #456 en: 06-09-2014, 08:37 (Sábado) »
Citar
ACTUAL:
(TV)---hdmi---(router-deco)---rj45---(router-adsl)---internet

DESEADO:
(TV)---hdmi---(router-deco)---rj45---(router-wifi-openwrt)---wifi_modo_cliente---(router-adsl)---internet

¿Este tutorial me sirve para lo que yo deseo? (Yo entiendo que sirve para sustituirlo, verdad?)
¿Como saco mis "ip's privadas" de deco? Me hice un backup del router-adsl-original y hay bastantes ip's parecidas, la mayoria empiezan por 10.64.x.x y otras por 192.168.x.x, ninguna por 172.x.x.x

¿Alguien bondadoso y simpaticorro podria sacarme de las dudas y aportarme luz en mi camino?

Gracias y S2



Tu necesitas esto o similar

http://www.aliexpress.com/store/product/Promotional-discounts-Wireless-N-Wifi-Repeater-802-11N-B-G-Network-Router-Range-300Mbps-signal-Antennas/910546_1871929040.html

Hay otras posibilades.

Salu2

unowos

  • Visitante
Re: [Tutorial] Movistar FTTH con OpenWrt (VOIP e Imagenio)
« Respuesta #457 en: 06-09-2014, 09:10 (Sábado) »
Gracias.

Se que FTTH != xDSL ...
Pero, como estamos incluyendo imagenio, y a mi me lo han puesto sin fibra, pues... por eso pregunte.

La solucion de los PLC's no me gusta. Es como que estoy en la universidad y en vez de aprender, me dijeras: ·"si das dinero a ese tio te dara las respuestas del examen..."

Ya conecte mi router con openwrt en modo cliente y le enchufe via lan al router-deco, pero, no conecta, no tira.
Por eso, quiero saber que pasa...

Y sigo necesitando ayuda aclaratorias...

S2 y Gracias!!

Desconectado Tki2000

  • Moderador
  • *
  • Mensajes: 2118
Re: [Tutorial] Movistar FTTH con OpenWrt (VOIP e Imagenio)
« Respuesta #458 en: 09-09-2014, 19:27 (Martes) »
Pregunta tonta...
¿esto es para cualquier router o para el router-deco de imagenio?
Es decir, a mi me han dado un router-deco sin wifi que hay que enchufarle (si o si) con un cable al router-adsl de movistar.
Claro, yo no quiero tirar cable hasta alla.
El router-deco es un zyxel 2112 nosecuantos.

¿este tutorial me sirve para poner un router wifi con openwrt y captar el wifi y que se enchufe el router-deco por lan a este de openwrt?

ACTUAL:
(TV)---hdmi---(router-deco)---rj45---(router-adsl)---internet

DESEADO:
(TV)---hdmi---(router-deco)---rj45---(router-wifi-openwrt)---wifi_modo_cliente---(router-adsl)---internet

¿Este tutorial me sirve para lo que yo deseo? (Yo entiendo que sirve para sustituirlo, verdad?)
¿Como saco mis "ip's privadas" de deco? Me hice un backup del router-adsl-original y hay bastantes ip's parecidas, la mayoria empiezan por 10.64.x.x y otras por 192.168.x.x, ninguna por 172.x.x.x

¿Alguien bondadoso y simpaticorro podria sacarme de las dudas y aportarme luz en mi camino?

Gracias y S2

La solucion de los PLC's no me gusta. Es como que estoy en la universidad y en vez de aprender, me dijeras: ·"si das dinero a ese tio te dara las respuestas del examen..."

... ¿por qué quieres poner un enlace se ve afectado por la distancia, las interferencias, los obstáculos y que además radia tu información a tus vecinos hackers de alrededor (wifi)?   ;D
Si es por tema de cableado la opción PLC es plausible y privada. Simplemente utiliza los enchufes como si fuera un cable RJ45 y generalmente no suele tener las interferencias de la wifi. Dado que tendrás un enchufe junto al router ADSL y otro enchufe junto al deco, es donde puedes enchufar la pareja de PLCs. Además una pareja de PLCs te va a salir más o menos al mismo precio que un router con wifi medio decente.

El enlace que te puso ppfdez es de un router wifi vulgaris, no lo confundas con los PLC (Power-line communication: http://en.wikipedia.org/wiki/Power-line_communication)

Aunque, bueno..., esto es sólo una opinión...
No habrás entendido algo, hasta que seas capaz de explicárselo a tu abuela...
Hacemos pantallas con píxeles casi invisibles, para luego ampliar la letra porque no la vemos... Bonita paradoja...
Creamos analfabetos tecnológicos con una velocidad pasmosa. Todo el mundo "maneja" tecnología, casi nadie sabe lo que tiene entre las manos, pero todo el mundo opina.
El analfabetismo, antes, pasaba desapercibido. Ahora, se transmite por Internet y las redes sociales.
Los dispositivos táctiles y las pantallas pequeñas son una lacra para la información relevante y el desarrollo de interfaces de usuario.
Trabajar sin la nube debería ser una prestación de los IoT, no un bug.

unowos

  • Visitante
Re: [Tutorial] Movistar FTTH con OpenWrt (VOIP e Imagenio)
« Respuesta #459 en: 09-09-2014, 22:33 (Martes) »
Si... Gracias... pero seguimos con la burra a brincos... Si, se lo del power line, se lo del wifi... pero no se esto que pregunto...

Yo lo que quiero es conectarlo con el router wifi con openwrt, y en modo cliente (funcionando para un pc ya probado) no funciona para el deco.
Y me gustaria que funcionara...

¿podemos darle solucion por ese camino?

S2