[Raspberry pi] Sacar Streaming al exterior

Buenas.

Necesito hacer salir el streaming del tuto de Alex C. por internet, he configurado en noip el dominio con las opciones:

DNS Host (A)
Hosts By Domain
noip.me :
raulostreaming.noip.me ---> IP_PUBLICA

Mi Streaming sale desde casa por:

http://192.168.X.X:8080/stream_simple.html
y quiero que salga por el dominio que configuré:

raulostreaming.noip.me:8080

He configurado en la raspberry pi el no-ip logandome con correo y pass
También he instalado el cliente en la raspberry DUC y detecta el dominio creado:

$ sudo /usr/local/bin/noip2 -S

Configuration data from /usr/local/etc/no-ip2.conf.
Account miemail@gmail.com
configured for:
host raulostreaming.noip.me
Updating every 30 minutes via /dev/eth0 with NAT enabled.

En el router tambien configuré el DNS DINAMICO:

Activado: SI
proveedor de DNS dinámico: No-Ip.com
E-Mail :miemail@gmail.com
Contraseña: mi contraseña de la cuenta de noip.com
Nombre del equipo: Le puse el enlace (raulostreaming.noip.me:8080)
Estado: ---

¿Alguien puede ayudarme a conseguir que salga por internet desde cualquier sitio? No se que parte de la configuración en la raspberry o en noip estoy haciendo mal.

Acudo a este foro ya que siempre obtengo buenas respuestas
Muchas gracias de antemano!!!

Tutoriales seguidos:
https://geekytheory.com/video-streaming-live-con-raspberrypi-y-playstation-eye/
https://geekytheory.com/tutorial-raspberry-pi-7-escritorio-remoto-vnc-no-ip/


Gracias
No se de que va la historia, pero parece que no has redireccionado el puerto 8080 a la raspi. Lo que comúnmente se le dice abrir el puerto.
De todas maneras, ¿el puerto 8080 no está reservado para HTTP y puede dar problemas si rediriges ese puerto a la RasPi? Igual sería mejor usar otro puerto, ¿no?
Paté de gato escribió:De todas maneras, ¿el puerto 8080 no está reservado para HTTP y puede dar problemas si rediriges ese puerto a la RasPi? Igual sería mejor usar otro puerto, ¿no?


Normalmente, la mayoria de los routers te dan error al intentar redireccionarlo si lo tienen en uso/reservado
Buenas!!
Lo primero de todo quiero daros las gracias por contestar.

A ver, voy a dar un poco más de información.
En la raspberry pi configure MJPG-Streamer y creo que por defecto sale por el 8080 o al menos no se donde está el archivo para configurarlo.
por defecto en mi casa el streaming sale por la ip y el puerto 8080:
http://192.168.1.20:8080

y me lleva a la pagina de ejemplo :
Imagen

Si voy hasta donde pone Streaming y le doy a "here" en el siguiente texto donde explica que "este enlace" es el que se puede servir sin panel de control
Hints
This example shows a stream. It works with a few browsers like Firefox for example. To see a simple example click here. You may have to reload this page by pressing F5 one or more times.

Me sirve el siguiente enlace, que es el que me interesa redireccionar:
http://192.168.1.20:8080/stream_simple.html


Mi router es uno de Ono CG6640 y en Router--> Avanzada --> Reenvío abrí el 8080
Addr IP local: 192.168.1.20 (la de la raspberry)
Puertos inicial y final Externos: 8080 y 8080
Puertos inicial y final Internos: 8080 y 8080
Protocolo: Ambos

A parte tengo en el DZM Host la ip de la raspberry pi
y en DNS Dinamico la cuenta de no ip configurada como ya comenté.

También he probado en no ip en configurar una redirección y nada.
Hosts By Domain
noip.me                           |
raulostreaming.noip.me  |192.168.1.20:8080/stream_simple.html


Gracias de nuevo, seguramente sea una tontería pero me está costando un monton sacarla. He revisado la configuración del router de arriba a abajo y he probado las dos maneras en el ddns de No ip

Saludos!
Modifica las iptables de la raspberry para permitir peticiones por ese puerto.
Xdemixta escribió:Modifica las iptables de la raspberry para permitir peticiones por ese puerto.


Ok, baje el iptables :
$ sudo apt-get install iptables-persistent

Metí los comandos para crear las reglas según lo que necesitaba. ¿Pueden guiarme para rellenar lo necesario??
Es decir tengo que especificar Ips de destino y origen?
he seguido el siguiente tutorial:

1.Permitir conexiones entrantes
Teclearemos los siguientes parámetros:
iptables -A INPUT -i [interface] -p [protocolo] --dport [puerto] -m state --state NEW,ESTABLISHED -j ACCEPT
-i: debemos configurar la interfaz, por ejemplo, eth0. Esto es útil en caso de tener varias tarjetas de red, si tenemos sólo una, no tenemos por qué especificar este parámetro. -p: protocolo. Debemos especificar si el protocolo será TCP o UDP. --dport: el puerto que queremos permitir, por ejemplo, en caso de HTTP sería el 80. Un ejemplo para permitir las conexiones entrantes desde páginas web:
iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

2.Permitir las conexiones salientes
iptables -A OUTPUT -o [interfaz] -p [protocolo] --sport [puerto] -m state --state ESTABLISHED -j ACCEPT
-o: debemos configurar la interfaz, por ejemplo, eth0, al igual que en el caso anterior. -p: protocolo. Debemos especificar si el protocolo será TCP o UDP. --sport: el puerto que queremos permitir, por ejemplo, en caso de HTTPS sería el 443. Un ejemplo para permitir el tráfico saliente hacia páginas web:
iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT

3.Permitir que el tráfico interno salga a internet
En el caso de tener 2 tarjetas de red (eth0 en local y eth1 conectada a internet) podemos configurar el firewall para que reenvíe el tráfico de la red local a través de internet. Para ello escribiremos:
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT


Y el estado de las reglas es el siguiente:
$ sudo iptables -L -n -v

pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 state NEW,ESTABLISHED
0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 state NEW,ESTABLISHED

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- eth0 eth1 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- eth0 eth1 0.0.0.0/0 0.0.0.0/0

Chain OUTPUT (policy ACCEPT 179 packets, 27451 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- * eth0 0.0.0.0/0 0.0.0.0/0 tcp spt:8080 state ESTABLISHED
0 0 ACCEPT tcp -- * eth0 0.0.0.0/0 0.0.0.0/0 tcp spt:80 state ESTABLISHED


Sigo sin ver el streaming desde el móvil con los datos
Gracias de antemano!!
Bueno, las iptables no son un problema, de hecho nunca haces un drop de ninguna conexión, aceptas todo por defecto.
(De hecho esto es peligroso, por ejemplo porque cualquiera podría abrirte una ssh y si tu contraseña es blandita, conectarse remotamente)


Sobre qué está soportada la web; apache, nginx...? Lo más posible es que el error esté o ahí o en la redirección. Pon alguna captura de la redirección del router (modo gráfico) para ver si todo está correcto. En cuanto al servidor web utilizado, igual está configurado para que sólo sirva contenido a la red local o algo así.
Xdemixta escribió:Bueno, las iptables no son un problema, de hecho nunca haces un drop de ninguna conexión, aceptas todo por defecto.
(De hecho esto es peligroso, por ejemplo porque cualquiera podría abrirte una ssh y si tu contraseña es blandita, conectarse remotamente)


Sobre qué está soportada la web; apache, nginx...? Lo más posible es que el error esté o ahí o en la redirección. Pon alguna captura de la redirección del router (modo gráfico) para ver si todo está correcto. En cuanto al servidor web utilizado, igual está configurado para que sólo sirva contenido a la red local o algo así.


sobre la web soportada, la verdad no tengo mucha idea, se que es un servicio que se hostea en tu propia raspberry y supongo que genera el index con todo, tiene varios formatos como java scrip, stream que supongo que es html...pff ni idea la verdad....

En el router tengo toda esta parafernalia:
APERTURA DE PUERTOS DINAMICA
Apertura de puertos dinamica
Rango de puertos   intervalo de referencia   Protocolo   Activado   Eliminar
Puerto inicial   Puerto final   Puerto inicial   Puerto final
22   22   22   22   Ambos      
8080   8080   8080   8080   Ambos      

En el DMZ HOST lo tengo apuntando a la ip local de la raspberry 192.168.X.X

El renvio:

Reenvío de puertos
Addr IP local   Externo   Interno   Protocolo   Activado   Eliminar
192.168.X.X   8080   8080   8080   8080   Ambos      
ip local de la raspberry

Y el filltrado de puertos tengo el 22 para shh  y el 8080


Salludos!
8 respuestas