En este tutorial quiero compartir los pasos que he realizado para conseguir un escenario con un router con OpenWrt 19.07 como router principal de Movistar completamente funcional, incluyendo los servicios de VoIP e IPTV.
El objetivo es completar y actualizar el tutorial realizado por el compañero Noltari en seguridadwireless.net al que muchos otros usuarios han aportado información para adaptarlo a las nuevas versiones y equipos, el problema es que la información en el foro está disgregada en muchos comentarios y me ha costado navegar por ellos para encontrar la configuración óptima; por ello he creído necesario recopilar y agrupar toda esa información en este pequeño tutorial para si otras personas se han encontrado con el mismo problema que yo.
Es probable que en algunos apartados haya cometido errores o sea posible aplicar una configuración óptima respetando la operativa de los servicios, por lo que me encantaría actualizar el tutorial con todos aquellos aspectos que consideréis relevantes.
El tutorial lo he realizado en dos equipos, uno de ellos es un Xiaomi Redmi AC2100 y el otro es un Observa VH4032N, en ambos los pasos seguidos son similares con la diferencia de que el primero dispone de una entrada WAN independiente y el segundo no dispone de esa entrada con lo que hay que configurar el Switch interno. A continuación, explico ambos casos de forma gráfica.
En el tutorial realizo una configuración secuencial de todos los servicios, pero indico los casos en los que si no tienes contratada la televisión o no deseas configurarla puedes omitirlos.
En el tutorial doy por hecho que tienes un router con OpenWrt y LuCI instalado y puedes instalar paquetes.
- 1 Configuración de dispositivos
- 1.1 Con puerto WAN
- 1.2 Sin puerto WAN
- 2 Configuración de interfaces
- 3 Configuración Internet
- 3.1 Firewall
- 4 Configuración VoIP
- 5 Configuración IPTV
Configuración de dispositivos
Este apartado me gusta realizarlo de forma gráfica porque me parece mucho más claro e intuitivo, además en ocasiones el número de puerto que aparece en la interfaz no corresponde con el puerto físico del router y de esta manera se puede verificar que puerto es el que ha conectado reduciendo posibilidad de fallo a la hora de configurar las interfaces de red.
Con puerto WAN
Si tu router dispone de una interfaz WAN independiente deberemos ir al menú Network → Interfaces donde veremos una pantalla como esta (Dependiendo del router te pueden aparecer más o menos interfaces):
Ahora nos dirigimos a la pestaña Devices y pulsamos el botón inferior Add device configuration…
Se abrirá una ventana emergente en la que especificaremos el tipo de dispositivo, en este caso queremos VLAN (802.1q), a continuación deberemos seleccionar la interfaz de red correspondiente al puerto WAN, (en este caso se llama “WAN”) y finalmente poner en VLAN ID un 6 para configurar el servicio de Internet.
Si deseas configurar los servicios de VoIP e IPTV deberás repetir este paso cambiando únicamente el valor de VLAN ID por 3 (VoIP) y 2 (IPTV)
Sin puerto WAN
Si tu Router no tiene un puerto WAN independiente o no es reconocido por OpenWrt como tal deberemos ir a Network → Switch donde debería aparecer una pantalla similar a esta:
Ahora es importante decidir que puerto utilizarás para conectar el router a la ONT, es decir, que puerto actuará de puerto WAN.
En ocasiones los números de puerto en la interfaz están invertidos con respecto a como aparecen físicamente en el router, por ello recomiendo conectar el router al ordenador a través del puerto deseado para visualizar en esta pantalla que puerto indica la conexión (En este caso LAN2)
Una vez elegido el puerto, conecta tu router a otro diferente si es que no lo está ya, puesto que no se podrá acceder al portal de configuración a partir de la aplicación de esta fase si te conectas por ese puerto.
Ahora pulsamos el botón Add VLAN y en la columna VLAN ID introducimos el valor 6, ahora marcamos como “tagged” el de la columna CPU y el del puerto que vayas a conectar a la ONT y como “off” el resto.
Si deseas configurar los servicios de VoIP e IPTV repite este paso cambiando el valor VLAN ID por 3 (VoIP) y 2 (IPTV) marcando como “tagged” CPU y el puerto que vayas a conectar a la ONT y como “off” el resto.
Debería quedar algo como esto:
Configuración de interfaces
Una vez configurados los dispositivos hay que configurar las interfaces de Internet, Voz y Televisión.
Internet
En primer lugar, configuraremos la interfaz de Internet, pulsa en “Add new interface…”, en "Name" introduce wan
, en “Protocol” selecciona “PPPoE” y en “Interface” selecciona el dispositivo con VLAN 6, (en mi caso eth0.6 o wan.6).
Pulsamos “Create interface” y ahora en la ventana se podrán incluir nuevos campos. Introduce las siguientes credenciales de configuración:
- PAP/CHAP username:
adslppp@telefonicanetpa
- PAP/CHAP password:
adslppp
Una vez hayas especificado todos los valores pulsa Save para guardar los cambios.
VoIP
Ahora, si deseas configurar el servicio de telefonía o VoIP, pulsa de nuevo en “Add new interface”, en "Name" específica voip
, en "Protocol" selecciona “DHCP Client” y en "Interface" selecciona el dispositivo con VLAN 3, (en mi caso eth0.3 o wan.3). Pulsa "Create Interface"" y a continuación en Save.
IPTV
Para configurar el servicio de televisión o IPTV serán necesarios unos parámetros que previamente se podían recuperar a través de una herramienta online, pero que lamentable ya no está disponible. Si tienes esos parámetros guardados perfecto, si no, más adelante me gustaría realizar un tutorial sobre cómo recuperarlos de otras maneras.
Esos parámetros son la dirección IP de tu grupo Multicast, la máscara de red y la puerta de enlace que tenían esta forma:
- IPTV Address:
10.12.98.116
- IPTV Netmask:
255.255.0.0
- IPTV Gateway:
10.12.98.1
Con estos parámetros se puede agregar una nueva interfaz pulsando en “Add new interface”, especificando en "Name" el nombre iptv
, en "Protocol": Static Address, en IPv4 Address, la dirección correspondiente a IPTV Address, en IPv4 netmask, la correspondiente a IPTV Netmask y en IPv4 gateway la dirección de IPTV Gateway.
Pulsamos en "Create Interface" y a continuación en Save.
Es importante si vamos a configurar la televisión habilitar el IGMP Snooping para evitar inundar la red con tráfico multicast, para ello:
- A partir de OpenWrt 21: Ir a Network → Interfaces → Devices, y ahí seleccionar la opción Configure en el Bridge y en Advanced device options está para activar el IGMP Snooping.
- En OpenWrt 19 o anterior: en la pantalla de interfaces pulsamos en Edit en la interfaz LAN y en la pestaña de Physical Settings activamos la casilla Enable IGMP snooping y pulsamos en Save.
Ahora ya están las interfaces de red definidas y es posible pasar a configurar otros parámetros.
No te olvides de pulsar Save & Apply cuando termines para guardar los cambios.
Configuración Internet
A partir de este punto toda la configuración la realizaremos mediante línea de comandos a través de SSH. Cuando haya que editar ficheros recomiendo utilizar el editor nano que es intuitivo y fácil de utilizar, pero generalmente no viene instalado y hay que instalarlo bien por Luci o mediante línea de comandos:
opkg update
opkg install nano
Firewall
Abrimos el fichero /etc/config/firewall
y verificamos que las zonas y reglas wan
y lan
están correctamente configuradas:
config zone
option name 'lan'
list network 'lan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
config zone
option name 'wan'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option masq '1'
option mtu_fix '1'
option network 'wan WAN'
config forwarding
option src 'lan'
option dest 'wan'
Si no deseas configurar ningún servicio más que Internet, ya has acabado, puedes realizar un reinicio limpio del router habiendo salvado toda la configuración previa y disfrutar de la conexión a través de OpenWrt.
Configuración VoIP
Firewall
Para configurar el servicio de VoIP añadimos las siguientes líneas en el fichero /etc/config/firewall
:
config zone
option name 'voip'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'REJECT'
option network 'voip'
option masq '1'
option mtu_fix '1'
config forwarding
option src 'lan'
option dest 'voip'
Bird 4
Ahora procedemos a instalar el paquete BIRD4 que nos permitiría importar rutas por medio del protocolo RIP:
opkg update
opkg install bird1-ipv4
Borramos el fichero de configuración que genera la instalación:
>/etc/config/bird4.conf
Y añadimos las siguientes entradas:
log syslog all;
protocol kernel {
persist;
scan time 20;
import all;
export all;
}
protocol device {
scan time 10;
}
protocol static {
export none;
}
filter voip_filter {
if net ~ 10.0.0.0/8 then accept;
else reject;
}
protocol rip voip {
import all;
export filter voip_filter;
interface "wan.3";
}
Deberemos sustituir interfaz por el dispositivo que hemos configurado previamente en la VLAN 3. (en mi caso wan.3 o eth0.3)
Con esto quedaría establecida la configuración para VoIP, ahora reinicia el router para hacer efectiva la configuración y disfrutar de los servicios de Internet y Telefonía a través de OpenWrt. Con esta configuración sería posible utilizar un ATA para dar servicio a teléfonos analógicos o utilizar un smartphone o una aplicación de escritorio para enviar y recibir llamadas.
Configuración IPTV
Firewall
Para configurar el servicio de IPTV añadimos las siguientes líneas en el fichero /etc/config/firewall
:
config zone
option name 'iptv'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'REJECT'
option network 'iptv'
option mtu_fix '1'
option masq '1'
config forwarding
option src 'lan'
option dest 'iptv'
config forwarding
option src 'iptv'
option dest 'lan'
Bird 4
Ahora al final del fichero /etc/bird4.conf
que hemos editado previamente a la hora de configurar el servicio de VoIP añadimos las siguientes entradas:
filter iptv_filter {
if net ~ 172.16.0.0/12 then accept;
else reject;
}
protocol rip iptv {
import all;
export filter iptv_filter;
interface "wan.2";
}
Recuerda sustituir interfaz por el dispositivo que hemos configurado previamente en la VLAN 2. (en mi caso wan.2 o eth0.2)
OMC Proxy
Ahora procedemos a instalar y configurar el paquete omcproxy que nos permitirá activar el proxy multicast en la interfaz IPTV.
opkg update
opkg install omcproxy
Borramos el archivo de configuración generado en la instalación:
> /etc/config/omcproxy
Y añadimos las siguientes entradas:
config proxy
option scope global
option uplink iptv
list downlink lan
DHCP
Ahora habrá que configurar el servidor DHCP para que envíe paquetes especiales exclusivamente al decodificador de Movistar. Para ello entramos en /etc/config/dhcp
y establecemos la siguiente configuración:
config dnsmasq
option domainneeded '1'
option boguspriv '1'
option filterwin2k '0'
option localise_queries '1'
option rebind_localhost '1'
option local '/lan/'
option domain 'lan'
option expandhosts '1'
option nonegcache '0'
option authoritative '1'
option readethers '1'
option leasefile '/tmp/dhcp.leases'
option resolvfile '/tmp/resolv.conf.auto'
option localservice '1'
option rebind_protection '0'
config dhcp 'lan'
option interface 'lan'
option start '100'
option leasetime '12h'
option dhcpv6 'server'
option ra 'server'
option networkid 'tag:!dhcptv'
option limit '100'
config dhcp 'wan'
option interface 'wan'
option ignore '1'
config odhcpd 'odhcpd'
option maindhcp '0'
option leasefile '/tmp/hosts/odhcpd'
option leasetrigger '/usr/sbin/odhcpd-update'
config vendorclass 'vendortv'
option vendorclass 'IAL'
option networkid 'dhcptv'
config dhcp 'dhcptv'
option networkid 'tag:dhcptv'
option interface 'lan'
option start '200'
option limit '23'
option leasetime '24h'
list dhcp_option '6,172.26.23.3'
list dhcp_option '240,:::::239.0.2.10:22222:v6.0:239.0.2.30:22222'
NAT Helper
Ahora, para que funcionen las funciones TimeShift y VOD del decodificador deberemos instalar kmod-ipt-nathelper-rtsp.
opkg update
opkg install kmod-ipt-nathelper-rtsp
A continuación, editamos el fichero /etc/sysctl.d/local.conf
y añadimos la siguiente entrada:
net.netfilter.nf_conntrack_helper = 1
UDPxy
También podemos instalar el paquete udpxy para ver los canales de Movistar a través de VLC de forma unicast (aunque lamentablemente cada vez están más capados por el DRM)
Instalamos el paquete udpxy:
opkg update
opkg install udpxy
Y editamos el fichero de configuración para especificar las siguientes entradas:
config udpxy 'iptv'
option disabled '0'
option verbose '0'
option source 'wan.2'
option respawn '1'
option port '4022'
option max_clients '20'
Recuerda cambiar la opción source con la interfaz correspondiente a la VLAN 2.
Con todo esto deberíais tener funcionando todos los servicios de Movistar a través del router con OpenWrt.