Mikrotik - Configuraciones de los principales operadores de fibra óptica
Podemos tener aquí una buena base para cuando nos toque cambiar de proveedor y queramos seguir usando nuestros equipos Mikrotik como los equipos principales de nuestra red.
Para no liarnos, vamos a partir de la configuración base que montaría un quick set: equipo con IP 192.168.88.1/24 y trabajando como router neutro. A partir de ahí, vamos a poner los comandos que necesitaríamos para dejar el router funcionando con cada ISP.
Pepephone
Tipo de conexión WAN: DHCP
VLAN Internet: 20
VLAN Teléfono: N/A
VLAN TV: N/A
Código:
# Damos de alta la vlan correspondiente, asociada al puerto físico que haga de WAN. Suponemos ether1
/interface vlan add interface=ether1 name=internet vlan-id=20
# Creamos (o editamos el existente) cliente DHCP y la asignamos a esa nueva interfaz vlan
/ip dhcp-client add disabled=no interface=internet use-peer-dns=yes use-peer-ntp=yes
# Añadimos la nueva vlan a la lista WAN, para que el firewall/nat funcione correctamente
/interface list member add interface=internet list=WAN
02
Tipo de conexión WAN: PPPoE: usuario (adslppp@telefonicanetpa) y contraseña (adslppp)
VLAN Internet: 6
VLAN Teléfono: 3
VLAN TV: N/A
Código:
# Dar de alta las vlans 3 voip y 6 internet.
/interface vlan
add interface=ether1 name=vlan3 vlan-id=3
add interface=ether1 name=vlan6 vlan-id=6
# Configurar la interfaz PPPoE para que use la VLAN 6 internet.
/interface pppoe-client
add add-default-route=yes allow=pap,chap disabled=no interface=vlan6 \
keepalive-timeout=60 max-mru=1492 max-mtu=1492 name=pppoe-out1 password=\
adslppp use-peer-dns=yes user=adslppp@telefonicanetpa
# Añadimos a la lista WAN el interface PPPoE para que el firewall/nat funcione correctamente.
/interface list member
add interface=pppoe-out1 list=WAN
# Crear un cliente dhcp para la vlan 3 del teléfono voip.
/ip dhcp-client
add add-default-route=no dhcp-options=hostname,clientid disabled=no interface=vlan3 use-peer-ntp=no
# Establecer la prioridad de las conexiones vlans.
/ip firewall mangle
add action=set-priority chain=postrouting new-priority=4 out-interface=vlan3
add action=set-priority chain=postrouting new-priority=1 out-interface=pppoe-out1
# Aceptar el tráfico de entrada para la vlan3 en el firewall
/ip firewall filter
add action=accept chain=input comment="Acepta el trafico de la vlan del telefono" \
in-interface=vlan3 src-address=10.0.0.0/8 \
place-before=[find where chain=input and comment="defconf: drop invalid"]
# Enmascarar las conexiones PPPoE y vlan3 voip.
/ip firewall nat
add action=masquerade chain=srcnat comment="default configuration" \
out-interface=pppoe-out1
add action=masquerade chain=srcnat comment="default configuration" \
out-interface=vlan3
# Puertos del servicio voip.
/ip firewall service-port
set sip disabled=yes ports=5060,5070
# Añadir la vlan 3 de voz protocolo RIP.
/routing rip interface
add interface=vlan3 passive=yes receive=v2
# Indicar la red en la que correrá RIP.
/routing rip network
add network=10.0.0.0/8
Movistar Triple Play
Configuración para un único desco, con ether2 como puerto dedicado, partiendo de la configuración base del quick set.
Tipo de conexión WAN: PPPoE: usuario (adslppp@telefonicanetpa) y contraseña (adslppp)
VLAN Internet: 6
VLAN Teléfono: 3
VLAN TV: 2
Código:
# Editamos el bridge principal para que sea
# compatible con Hardware Offloading
# para equipos con switch-chip MT7621
/interface bridge set bridge protocol-mode=none
# Sacamos ether2 del bridge, para usarlo en exclusivo con el desco
/interface bridge port remove numbers=[find interface=ether2]
# Añadimos las VLANs asociadas al puerto WAN
/interface vlan
add interface=ether1 name=internet-vlan6 vlan-id=6
add interface=ether1 name=iptv-vlan2 vlan-id=2
add interface=ether1 name=voip-vlan3 vlan-id=3
# Creamos el cliente PPPoE sobre la vlan6
/interface pppoe-client
add add-default-route=yes allow=pap,chap disabled=no interface=internet-vlan6 \
keepalive-timeout=60 max-mru=1492 max-mtu=1492 name=pppoe-out1 password=\
adslppp use-peer-dns=yes user=adslppp@telefonicanetpa
# Añadimos una nueva lista donde meteremos las vlans 2 y 3
/interface list
add comment="Vlan2 (Iptv) & Vlan3 (Voip)" name=Vlan2&3
# Metemos cada interfaz en su lista correspondiente
/interface list member
add interface=pppoe-out1 list=WAN
add interface=iptv-vlan2 list=Vlan2&3
add interface=voip-vlan3 list=Vlan2&3
add interface=ether2 list=LAN
# Añadimos la opción especial para el dhcp del desco
/ip dhcp-server option
add code=240 name=option_para_deco value=\
"':::::239.0.2.10:22222:v6.0:239.0.2.30:22222'"
# Añadimos un nuevo pool para IPTV
/ip pool
add name=iptv-pool ranges=192.168.77.195-192.168.77.200
# Damos de alta una nueva red para el servidor dhcp del deco, con un dns concreto de telefónica
/ip dhcp-server network
add address=192.168.77.0/24 dhcp-option=option_para_deco dns-server=\
172.26.23.3 gateway=192.168.77.1 netmask=24
# Creamos un nuevo servidor dhcp para IPTV
/ip dhcp-server
add address-pool=iptv-pool disabled=no interface=ether2 name=iptv-dhcp-server
# Añadir la ip de IPTV, extraída de un backup del router
# Más info, aquí: https://alexariza.net/tutorial/como-obtener-los-datos-de-iptv-con-movistar/
# Sustituir el valor correspondiente en 10.XX.XX.XX/ZZ
/ip address
add address=10.XX.XX.XX/ZZ comment="My Telefonica's IPTV address, from NOLTARI" interface=\
iptv-vlan2 network=10.128.0.0
add address=192.168.77.1/24 comment="IPTV subnet" interface=ether2 network=\
192.168.77.0
# Añadimos un cliente dhcp para obtener la IP del teléfono
/ip dhcp-client
add add-default-route=no disabled=no interface=voip-vlan3 use-peer-ntp=no
# Añadimos tres nuevas reglas al firewall para que funcionen las vlans,
# dos en el chain de input, para aceptar el tráfico de VoIP e IPTV
# y una en el chain de forward para prohibir el tráfico unicast que
# no esté ya nateado
/ip firewall filter
add action=accept chain=input comment="Accept vlan2 Iptv IGMP packets" \
in-interface=iptv-vlan2 protocol=igmp \
place-before=[find where chain=input and comment="defconf: drop invalid"]
add action=accept chain=input comment=\
"Accept vlan2 & 3 (Iptv & Voip) multicast & broadcast traffic" \
dst-address-type=!unicast in-interface-list=Vlan2&3 \
place-before=[find where chain=input and comment="defconf: drop invalid"]
add action=drop chain=forward comment=\
"Drop all new unicast traffic from vlan3 & 2 (Voip & Iptv) not DSTNATed" \
connection-nat-state=!dstnat connection-state=new dst-address-type=\
unicast in-interface-list=Vlan2&3
# Marcamos la prioridad de cada una de las VLANs, usando mangle, postrouting
/ip firewall mangle
add action=set-priority chain=postrouting comment="Prioritise Voip packets" \
new-priority=5 out-interface=voip-vlan3 passthrough=yes
add action=set-priority chain=postrouting comment="Prioritise Iptv packets" \
new-priority=4 out-interface=iptv-vlan2 passthrough=yes
add action=set-priority chain=postrouting new-priority=1 out-interface=\
pppoe-out1
# Además del masquerade a la lista WAN (defconf), añadimos los masquerade
# tanto para ambas vlans como una regla dst-nat para el tráfico del desco
# IMPORTANTE: Si cambia la IP del desco por la asignación del DHCP, hay
# que modificarla en esa regla de NAT
/ip firewall nat
add action=masquerade chain=srcnat comment=\
"masq. vlan2 & vlan3 (Iptv & Voip)" out-interface-list=Vlan2&3
add action=dst-nat chain=dstnat comment="VOD Movistar 1 Desco" dst-address-type=local \
in-interface=iptv-vlan2 to-addresses=192.168.77.200
# Activamos el IGMP-Proxy
/routing igmp-proxy
set query-interval=30s quick-leave=yes
# Configuramos el IGMP-proxy para la interfaz vlan de IPTV y para ether2
/routing igmp-proxy interface
add alternative-subnets=0.0.0.0/0 interface=iptv-vlan2 upstream=yes
add interface=ether2
# Activamos RIP para VoIP e IPTV
/routing rip interface
add interface=voip-vlan3 passive=yes receive=v2
add interface=iptv-vlan2 passive=yes receive=v2
/routing rip network
add network=10.0.0.0/8
add network=172.26.0.0/16
Movistar Triple Play
Configuración multi desco, multi-bridge, partiendo de la configuración base del quick set.
Tipo de conexión WAN: PPPoE: usuario (adslppp@telefonicanetpa) y contraseña (adslppp)
VLAN Internet: 6
VLAN Teléfono: 3
VLAN TV: 2
Código:
# Editamos el bridge principal para que sea
# compatible con Hardware Offloading
# para equipos con switch-chip MT7621
/interface bridge set bridge protocol-mode=none
# Sacamos ether2 del bridge principal
/interface bridge port remove numbers=[find interface=ether2]
# Creamos el nuevo bridge para IPTV
/interface bridge
add name=bridge-iptv igmp-snooping=yes
# Añadimos el puerto ether2 al nuevo bridge
# Si se desa usar más de un puerto para conectar dos descos
# por cable, quitarlos del bridge principal y asignarlos a este
/interface bridge port add bridge=bridge-iptv interface=ether2
# Añadimos las VLANs asociadas al puerto WAN
/interface vlan
add interface=ether1 name=internet-vlan6 vlan-id=6
add interface=ether1 name=iptv-vlan2 vlan-id=2
add interface=ether1 name=voip-vlan3 vlan-id=3
# Creamos el cliente PPPoE sobre la vlan6
/interface pppoe-client
add add-default-route=yes allow=pap,chap disabled=no interface=internet-vlan6 \
keepalive-timeout=60 max-mru=1492 max-mtu=1492 name=pppoe-out1 password=\
adslppp use-peer-dns=yes user=adslppp@telefonicanetpa
# Añadimos una nueva lista donde meteremos las vlans 2 y 3
/interface list
add comment="Vlan2 (Iptv) & Vlan3 (Voip)" name=Vlan2&3
# Metemos cada interfaz en su lista correspondiente
/interface list member
add interface=pppoe-out1 list=WAN
add interface=iptv-vlan2 list=Vlan2&3
add interface=voip-vlan3 list=Vlan2&3
add interface=bridge-iptv list=LAN
# Añadir la ip de IPTV, extraída de un backup del router
# Más info, aquí: https://alexariza.net/tutorial/como-obtener-los-datos-de-iptv-con-movistar/
# Sustituir el valor correspondiente en 10.XX.XX.XX/ZZ
/ip address
add address=10.XX.XX.XX/ZZ comment="My Telefonica's IPTV address, from NOLTARI" interface=\
iptv-vlan2 network=10.128.0.0
add address=192.168.77.1/24 comment="IPTV subnet" interface=bridge-iptv network=\
192.168.77.0
# Añadimos la opción especial para el dhcp del desco
/ip dhcp-server option
add code=240 name=option_para_deco value=\
"':::::239.0.2.10:22222:v6.0:239.0.2.30:22222'"
# Añadimos un nuevo pool para los descos,
# y otro para el resto de los hosts en ese bridge-iptv
/ip pool
add name=pool-iptv-descos ranges=192.168.77.201-192.168.77.206
add name=pool-iptv-hosts ranges=192.168.77.50-192.168.77.199
# Damos de alta una nueva red para los hosts del nuevo bridge-iptv,
# y otra específica para los descos, con una dirección /29
/ip dhcp-server network
add address=192.168.77.0/24 comment="IPTV subnet for hosts" gateway=192.168.77.1 \
netmask=24
add address=192.168.77.200/29 comment="IPTV subnet for descos" \
dhcp-option=option_para_deco dns-server=172.26.23.3 gateway=192.168.77.1 \
netmask=24
# Creamos un nuevo servidor dhcp, asociado al nuevo bridge-iptv
/ip dhcp-server
add address-pool=pool-iptv-hosts disabled=no interface=bridge-iptv name=dhcp-server-iptv
# Asignamos el vendor-class al nuevo servidor IPTV, para los descos
/ip dhcp-server vendor-class-id
add address-pool=pool-iptv-descos name="Movistar Descos" server=dhcp-server-iptv vid="[IAL]"
# Añadimos un cliente dhcp para obtener la IP del teléfono
/ip dhcp-client
add add-default-route=no disabled=no interface=voip-vlan3 use-peer-ntp=no
# Añadimos tres nuevas reglas al firewall para que funcionen las vlans,
# dos en el chain de input, para aceptar el tráfico de VoIP e IPTV
# y una en el chain de forward para prohibir el tráfico unicast que
# no esté ya nateado
/ip firewall filter
add action=accept chain=input comment="Accept vlan2 Iptv IGMP packets" \
in-interface=iptv-vlan2 protocol=igmp \
place-before=[find where chain=input and comment="defconf: drop invalid"]
add action=accept chain=input comment=\
"Accept vlan2 & 3 (Iptv & Voip) multicast & broadcast traffic" \
dst-address-type=!unicast in-interface-list=Vlan2&3 \
place-before=[find where chain=input and comment="defconf: drop invalid"]
add action=drop chain=forward comment=\
"Drop all new unicast traffic from vlan3 & 2 (Voip & Iptv) not DSTNATed" \
connection-nat-state=!dstnat connection-state=new dst-address-type=\
unicast in-interface-list=Vlan2&3
# Marcamos la prioridad de cada una de las VLANs, usando mangle, postrouting
# Además, creamos una lista para identificar las IPs de los los receptores
# de video bajo demanda, los descos.
/ip firewall mangle
add action=set-priority chain=postrouting comment="Prioritise Voip packets" \
new-priority=5 out-interface=voip-vlan3 passthrough=yes
add action=set-priority chain=postrouting comment="Prioritise Iptv packets" \
new-priority=4 out-interface=iptv-vlan2 passthrough=yes
add action=set-priority chain=postrouting new-priority=1 out-interface=\
pppoe-out1
add action=add-src-to-address-list address-list=vod-receiver \
address-list-timeout=1m chain=postrouting comment="RTSP - VOD Movistar" \
connection-state=new dst-port=554 out-interface=iptv-vlan2 protocol=tcp
# Además del masquerade a la lista WAN (defconf), añadimos los masquerade
# para las vlans de voz e iptv, y para los hosts conectados al bridge IPTV
# El script añadirá una regla adicional de masquerade, para los descos
# que vienen de la lista vod-receiver, dada de alta en magle previamente
# con el comentario "VOD Script"
/ip firewall nat
add action=masquerade chain=srcnat comment=\
"masq. vlan2 & vlan3 (Iptv & Voip)" out-interface-list=Vlan2&3
add action=masquerade chain=srcnat comment=\
"masq. IPTV hosts" src-address=192.168.77.0/24
# Activamos el IGMP-Proxy
/routing igmp-proxy
set query-interval=30s quick-leave=yes
# Configuramos el IGMP-proxy para la interfaz vlan de IPTV y para ether2
/routing igmp-proxy interface
add alternative-subnets=0.0.0.0/0 interface=iptv-vlan2 upstream=yes
add interface=bridge-iptv
# Activamos RIP para VoIP e IPTV
/routing rip interface
add interface=voip-vlan3 passive=yes receive=v2
add interface=iptv-vlan2 passive=yes receive=v2
/routing rip network
add network=10.0.0.0/8
add network=172.26.0.0/16
# Script de Toniros para añadir la regla de src-NAT dinámicamente
/system script
add dont-require-permissions=no name=vod owner=admin policy=read,write \
source=":local iplist [:len [/ip firewall address-list find list=\"vod-rec\
eiver\"]]\
\n:local rules [:len [/ip firewall nat find where comment=\"VOD Script\"]]\
\n#:log info \"VODScript: IPs in list are \$iplist !\"\
\n#:log info \"VODScript: Rules are \$rules !\"\
\n:if (\$iplist = 0 and \$rules > 0) do={\
\n\t#/ip firewall nat remove [find comment=\"VOD Script\"];\
\n\t#:log info \"VODScript: Rule removed !\"\
\n} else {\
\n\t:local ipadressnew [/ip firewall address-list get [:pick [/ip firewall\
\_address-list find list=\"vod-receiver\"] (\$iplist-1)] address]\
\n\t:local ipadressold \"None\"\
\n\t#:log info \"VODScript: IP address new is \$ipadressnew !\"\
\n\t:if (\$iplist > 0 ) do {\
\n\t\tif (\$rules > 0 ) do {\
\n\t\t\t:set ipadressold [/ip firewall nat get [find comment=\"VOD Script\
\"] to-addresses] \
\n\t\t\t#:log info \"VODScript: IP address old is \$ipadressold !\"\
\n\t\t}\
\n\t\t:if (\$ipadressnew != \$ipadressold) do={\
\n\t\t\tif (\$rules > 0 ) do {\
\n\t\t\t\t/ip firewall nat remove [find comment=\"VOD Script\"];\
\n\t\t\t}\
\n\t\t\t/ip firewall nat add action=dst-nat chain=dstnat comment=\"VOD Scr\
ipt\" dst-address-type=local in-interface=iptv-vlan2 to-addresses=\$ipadre\
ssnew\
\n\t\t\t:log info \"VODScript: IP address changed from \$ipadressold to \$\
ipadressnew !\"\
\n\t\t}\
\n\t}\
\n}"
# Programamos el script de VOD, para correr cada seis segundos
/system scheduler
add interval=6s name=vod on-event=vod policy=read,write start-time=startup
Vodafone Neba (Sin teléfono)
Tipo de conexión WAN: PPPoE
VLAN Internet: 24 (vlan 20, en algunos casos)
VLAN Teléfono: N/A
VLAN TV: N/A
Código:
# Añadimos la VLAN del servicio de internet (24 normalmente, aunque también puede venir por la 20)
/interface vlan add interface=ether1 name=vlan24 vlan-id=24
# Creamos la conexión PPPoE, sobre la vlan previamente creada. Usuario y contraseña extraidos de la configuración del router de Vodafone
/interface pppoe-client add disabled=no interface=vlan24 name=pppoe-out1 user=(usuario VF) password=(contraseña VF)
# Añadimos la nueva interfaz a la lista WAN
/interface list member add interface=pppoe-out1 list=WAN
No hay comentarios:
Publicar un comentario