Skip to main content

Beste allemaal,

 

Ik heb sinds enkele dagen Glasvezel van KPN. Ik kom van Ziggo met het modem in bridge, maar dit kan bij KPN dus niet zo eenvoudig. In mijn mikrotik heb ik de configuratie gedaan zoals ik op meerdere plaatsen op dit forum lees en ook op netwerkje.com te vinden is.

Na enige pijn en moeite heb ik het internet en de ITV werkend gekregen. Helaas heb ik, wanneer ik 1 stream blijf kijken, iedere ~4:25 minuten een storing. Dus als ik binnen de 4 minuten wissel naar een andere zender doet de storing zich niet voor.

Deze storing wisselt elkaar om-en-om af:

  1. op de ITV: ‘stb-nmc-400’, of
  2. alleen een korte onderbreking van ~3-5 seconden

Ik heb dit een tijdje getimed door continue 1 zender te kijken

timing minuten storing oplossing
1 04:42.16 even een hapering even wachten
2 04:26.99 stb-nmc-400 zender wisselen
3 04:26.57 even een hapering even wachten
4 04:35.07 stb-nmc-400 zender wisselen
5 04:27.03 even een hapering even wachten
6 04:29.62 stb-nmc-400 zender wisselen

 

Dit issue doet zich voor op beide decoders (Arris VIP5202) en beide decoders zitten achter een switch op verschillende poorten op mijn router. (Ether2 en Ether3)

Op de experiabox (v12) werkte de decoders beide prima, ook via de switches.

 

Vraag:

Kan iemand zien of er iets in mijn configuratie niet correct is? De timing van de storing kan ik nergens terug vinden maar doet me wel vermoeden dat er een aanwijsbare oorzaak/instelling is danwel zou moeten zijn

 

# mar/10/2022 12:03:39 by RouterOS 7.1
# software id = FKSN-PHQM
#
# model = 960PGS
# serial number = ---------------
/interface bridge
add admin-mac=CC:2D:E0:7B:3A:1D arp=proxy-arp auto-mac=no comment=defconf \
igmp-snooping=yes name=bridge-LAN protocol-mode=none
/interface ethernet
set r find default-name=ether1 ] loop-protect=off name=\
"ether1-Internet Acces" speed=100Mbps
set r find default-name=ether2 ] comment=\
"Aansluiting in de woonkamer t.b.v. televisiemeubel" name=\
ether2-Multimedia poe-out=off speed=100Mbps
set r find default-name=ether3 ] comment="Switch in meterkast met alle BHI" \
name="ether3-PoE Switch" poe-out=off speed=100Mbps
set r find default-name=ether4 ] comment=\
"Switch in de hal met de NAS/RPI/BLUEIRIS" name=ether4-IoT poe-out=off \
speed=100Mbps
set r find default-name=ether5 ] disabled=yes poe-out=off speed=100Mbps
set r find default-name=sfp1 ] advertise=\
10M-half,10M-full,100M-half,100M-full,1000M-half,1000M-full disabled=yes
/interface vlan
add comment="KPN: https://netwerkje.com/routed-iptv VLAN4" interface=\
"ether1-Internet Acces" loop-protect=off name=vlan1.4 vlan-id=4
add comment="KPN: https://netwerkje.com/config-internetv6 VLAN6" interface=\
"ether1-Internet Acces" loop-protect=off mtu=1520 name=vlan1.6 vlan-id=6
/interface pppoe-client
add add-default-route=yes allow=pap comment="Voor KPN ipv6 internet access" \
disabled=no interface=vlan1.6 keepalive-timeout=20 max-mtu=1500 name=\
pppoe-client user=1234@provider
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface lte apn
set r find default=yes ] ip-type=ipv4
/interface wireless security-profiles
set r find default=yes ] supplicant-identity=MikroTik
/ip dhcp-client option
add code=60 name=option60-vendorclass value="'IPTV_RG'"
/ip dhcp-server option
add code=60 name=option60-vendorclass value="'IPTV_RG'"
add code=28 name=option28-broadcast value="'10.255.255.255'"
/ip dhcp-server option sets
add name=IPTV options=option60-vendorclass,option28-broadcast
/ip pool
add name=dhcp ranges=10.0.1.100-10.0.1.254
/ip dhcp-server
add address-pool=dhcp interface=bridge-LAN lease-time=1d name=dhcp-thuis
/ppp profile
set *0 only-one=yes use-compression=yes use-ipv6=no use-upnp=no
add name=default-ipv6 only-one=yes use-upnp=no
/routing bgp template
set default as=65530 disabled=yes name=default output.network=bgp-networks
/routing ospf instance
add name=default-v2
add name=default-v3 version=3
/routing ospf area
add disabled=yes instance=default-v2 name=backbone-v2
add disabled=yes instance=default-v3 name=backbone-v3
/user group
set full policy="local,telnet,ssh,ftp,reboot,read,write,policy,test,winbox,pas\
sword,web,sniff,sensitive,api,romon,dude,tikapp,rest-api"
add name=read2 policy="read,api,!local,!telnet,!ssh,!ftp,!reboot,!write,!polic\
y,!test,!winbox,!password,!web,!sniff,!sensitive,!romon,!dude,!tikapp,!res\
t-api"
/interface bridge port
add bridge=bridge-LAN comment=defconf ingress-filtering=no interface=\
ether2-Multimedia
add bridge=bridge-LAN comment=defconf ingress-filtering=no interface=\
"ether3-PoE Switch"
add bridge=bridge-LAN comment=defconf ingress-filtering=no interface=\
ether4-IoT
add bridge=bridge-LAN comment=defconf ingress-filtering=no interface=ether5
add bridge=bridge-LAN comment=defconf ingress-filtering=no interface=sfp1
/ip neighbor discovery-settings
set discover-interface-list=LAN
/ip settings
set max-neighbor-entries=8192
/ipv6 settings
set max-neighbor-entries=8192
/interface detect-internet
set detect-interface-list=all
/interface list member
add comment=defconf interface=bridge-LAN list=LAN
add comment=defconf interface="ether1-Internet Acces" list=WAN
/ip address
add address=10.0.0.1/8 comment=defconf interface=bridge-LAN network=10.0.0.0
/ip cloud
set ddns-enabled=yes
/ip dhcp-client
add comment=defconf disabled=yes interface="ether1-Internet Acces"
add add-default-route=special-classless comment=\
"KPN: https://netwerkje.com/config-internetv6" default-route-distance=210 \
dhcp-options=option60-vendorclass interface=vlan1.4 use-peer-dns=no \
use-peer-ntp=no
/ip dhcp-server config
set store-leases-disk=immediately
/ip dhcp-server lease
add address=10.0.2.21 comment="Media: Decoder 1 KPN" dhcp-option-set=IPTV \
mac-address=00:02:9B:FA:43:9E server=dhcp-thuis
add address=10.0.2.26 comment="KPN decoder 2" dhcp-option-set=IPTV \
mac-address=00:02:9B:FA:F0:0A server=dhcp-thuis
/ip dhcp-server network
add address=10.0.0.0/8 comment=defconf dns-server=10.0.2.0,8.8.8.8 gateway=\
10.0.0.1 netmask=8
/ip dns
set allow-remote-requests=yes servers=10.0.2.0,8.8.8.8
/ip firewall address-list
add address=89f908aae8b3.sn.mynetname.net list=WAN-IP
/ip firewall filter
add action=accept chain=input comment=\
"defconf: accept established,related,untracked" connection-state=\
established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=\
invalid
add action=accept chain=input comment="defconf: accept ICMP" in-interface=\
pppoe-client protocol=icmp
add action=drop chain=input comment="defconf: drop all not coming from LAN" \
in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept in ipsec policy" \
ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" \
ipsec-policy=out,ipsec
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" \
connection-state=established,related hw-offload=yes
add action=accept chain=forward comment=\
"defconf: accept established,related, untracked" connection-state=\
established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" \
connection-state=invalid
add action=drop chain=forward comment=\
"defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat \
connection-state=new in-interface-list=WAN
add action=drop chain=input comment="drop DNS requests from WAN" disabled=yes \
dst-port=53 in-interface="ether1-Internet Acces" protocol=udp
add action=drop chain=input comment="drop DNS requests from WAN" disabled=yes \
dst-port=53 in-interface="ether1-Internet Acces" protocol=tcp
add action=accept chain=input comment=\
"KPN: https://netwerkje.com/config-internetv6" in-interface=\
"ether1-Internet Acces" protocol=icmp
add action=accept chain=input comment=\
"KPN: https://netwerkje.com/config-internetv6" connection-state=related
add action=accept chain=input comment=\
"KPN: https://netwerkje.com/config-internetv6" connection-state=\
established
add action=reject chain=input comment=\
"KPN: https://netwerkje.com/config-internetv6" in-interface=pppoe-client \
protocol=tcp reject-with=icmp-port-unreachable
add action=reject chain=input comment=\
"KPN: https://netwerkje.com/config-internetv6" in-interface=pppoe-client \
protocol=udp reject-with=icmp-port-unreachable
/ip firewall nat
add action=masquerade chain=srcnat comment="Needed for IPTV" dst-address=\
213.75.112.0/21 out-interface=vlan1.4
add action=masquerade chain=srcnat comment="Needed for IPTV" dst-address=\
217.166.0.0/16 out-interface=vlan1.4
add action=masquerade chain=srcnat comment="Hairpin NAT" dst-address=\
10.0.0.0/8 src-address=10.0.0.0/8
add action=masquerade chain=srcnat comment=\
"defconf: masquerade (NOT FOR KPN)" disabled=yes ipsec-policy=out,none \
out-interface-list=WAN src-address=10.0.0.0/8
add action=masquerade chain=srcnat comment=\
"KPN: https://netwerkje.com/config-internetv6" out-interface=pppoe-client \
src-address=10.0.0.0/8
add action=dst-nat chain=dstnat comment="WireGuard RPI" dst-address-list=\
WAN-IP dst-port=51820 protocol=udp to-addresses=10.0.2.0 to-ports=51820
add action=dst-nat chain=dstnat comment=Bitwarden dst-address-list=WAN-IP \
dst-port=7277 protocol=tcp to-addresses=10.0.2.1 to-ports=7277
add action=dst-nat chain=dstnat comment=Homeassistant dst-address-list=WAN-IP \
dst-port=443 protocol=tcp to-addresses=10.0.2.1 to-ports=8123
add action=dst-nat chain=dstnat comment="NAS NAT" dst-address-list=WAN-IP \
dst-port=444 protocol=tcp to-addresses=10.0.0.10 to-ports=443
add action=dst-nat chain=dstnat comment="8123 to 8123" disabled=yes \
dst-address-list=WAN-IP dst-port=8123 protocol=tcp to-addresses=10.0.0.12 \
to-ports=8123
add action=dst-nat chain=dstnat comment="port80 to 80 from_WAN to HASS" \
dst-address-list=WAN-IP dst-port=80 in-interface="ether1-Internet Acces" \
protocol=tcp to-addresses=10.0.2.1 to-ports=80
add action=dst-nat chain=dstnat comment="port80 to 80 from_WAN to NAS" \
disabled=yes dst-address-list=WAN-IP dst-port=80 in-interface=\
"ether1-Internet Acces" protocol=tcp to-addresses=10.0.0.10 to-ports=80
/ip upnp
set show-dummy-rule=no
/ipv6 address
# address pool error: pool not found: 0 (4)
add address=::1 from-pool=0 interface=bridge-LAN
/ipv6 dhcp-client
add add-default-route=yes comment=\
"KPN: https://netwerkje.com/config-internetv6" disabled=yes interface=\
pppoe-client pool-name=0 pool-prefix-length=48 request=prefix \
use-peer-dns=no
/ipv6 firewall filter
add action=accept chain=input connection-state=established in-interface=\
pppoe-client
add action=accept chain=input connection-state=related in-interface=\
pppoe-client
add action=accept chain=input comment="DHCPv6 for public addresses" \
dst-address=fe80::/64 dst-port=546 in-interface=pppoe-client log-prefix=\
DHCPv6 protocol=udp
add action=reject chain=input in-interface=pppoe-client reject-with=\
icmp-port-unreachable
add action=accept chain=forward connection-state=related in-interface=\
pppoe-client
add action=accept chain=forward connection-state=established in-interface=\
pppoe-client
add action=reject chain=forward in-interface=pppoe-client reject-with=\
icmp-no-route
/ipv6 nd
set r find default=yes ] disabled=yes
/routing igmp-proxy
set quick-leave=yes
/routing igmp-proxy interface
add alternative-subnets=0.0.0.0/0 comment=KPN interface=vlan1.4 upstream=yes
add comment=KPN interface=bridge-LAN
/system clock
set time-zone-name=Europe/Amsterdam
/system identity
set name=Rmpz_router
/system package update
set channel=long-term
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN

 

 

 

Wat voor een apparatuur is op jouw LAN achter die Mikrotik aangesloten?

Ik ben dan met name geïnteresseerd in switches, accesspoints, routers en NASsen en Sonos apparatuur.

Kan het zijn dat op één van die apparaten een IGMP proxy server actief is?

Waarom geef jij bij de DHCP server option-60 en option-28 mee?


Hoi @wjb , bedankt voor je reactie.

Aanvulling: De storing doet zich alleen voor bij live TV stream, dus niet bij terugkijken of vertraagd kijken.

 

Achter de router zit allerlei apparatuur. een QNAP NAS met daarom een proxy server voor de growat omvormer, een RPI met een adguard DNS server, 2 draadloze acces points.
Ik heb deze allemaal al losgekoppeld van de router, alles een power cycle gegeven, helaas blijft de storing bestaan.

 

Waarom geef jij bij de DHCP server option-60 en option-28 mee?

Dit heb ik overgenomen van netwerkje.com:

 


Zou jij eens alles los kunnen koppelen behalve de TV ontvanger en dan kijken of het issue dan ook optreedt?

Als er dan geen storing optreedt sluit dan één voor één apparaten aan tot het weer mis gaat. Het kost wat tijd maar hopelijk kunnen we het veroorzakende apparaat dan achterhalen.


Zou jij eens alles los kunnen koppelen behalve de TV ontvanger en dan kijken of het issue dan ook optreedt?

Als er dan geen storing optreedt sluit dan één voor één apparaten aan tot het weer mis gaat. Het kost wat tijd maar hopelijk kunnen we het veroorzakende apparaat dan achterhalen.

Ik zal het morgen eens proberen om de tv ontvanger rechtstreeks op de router aan te sluiten zonder switch ertussen. Op de experiabox werkte het prima met de switch ertussen maar ik zal die voor de zekerheid ook even uitsluiten.


Zou jij eens alles los kunnen koppelen behalve de TV ontvanger en dan kijken of het issue dan ook optreedt?

Als er dan geen storing optreedt sluit dan één voor één apparaten aan tot het weer mis gaat. Het kost wat tijd maar hopelijk kunnen we het veroorzakende apparaat dan achterhalen.

Ik zal het morgen eens proberen om de tv ontvanger rechtstreeks op de router aan te sluiten zonder switch ertussen. Op de experiabox werkte het prima met de switch ertussen maar ik zal die voor de zekerheid ook even uitsluiten.

De switch is niet het eerste apparaat dat ik verdenk.

Mijn verdenking gaat uit naar de Growatt omvormer en de Proxy server op jouw NAS.


Helaas heeft het niet mogen baten. De storing blijft aanwezig. Ik zal dit weekend eens de config van de router leegmaken en vanaf de start beginnen met alleen de config voor de IPTV zodat verder alles uitgesloten is.


Helaas heeft het niet mogen baten. De storing blijft aanwezig. Ik zal dit weekend eens de config van de router leegmaken en vanaf de start beginnen met alleen de config voor de IPTV zodat verder alles uitgesloten is.

Dus met alleen de TV ontvanger aangesloten krijg je nog steeds problemen na zo'n viereneenhalve minuut?


Dus met alleen de TV ontvanger aangesloten krijg je nog steeds problemen na zo'n viereneenhalve minuut?

yes :frowning2:


Je configuratie is nog uitgebreider dan de mijne en ik snap niet elke regel meteen (met name de extra masquerade regels t.o.v. netwerkje.com), maar heb je al uitgesloten dat je firewall iets tegenhoudt? B.v. door alle verkeer van/naar vlan1.4 te accepteren als eerste regel in de input en forward chains? Ik heb overigens zelf ook af en toe een seconde of 2 zwart beeld, maar volgens mij niet met de regelmaat van de klok. Ik zal dat eens in de gaten houden.


Gezien het feit dat het alleen fout gaat op het live tv verkeer duidt in de richting dat er iets met IGMP snooping igmp proces niet helemaal goed gaat.

Feit is dat de live streams wel bijna 5 minuten werken. Waarschijnlijk blijft de boel ook aan de gang als je voor het verstrijken van die tijd een channel change uitvoert. Er wordt dan door de tv box weer een join gedaan op een ander multicast kanaal. Bij live tv kijken moet de tv box regelmatig een IGMP join versturen om de lokale IGMP proxy router(in dit geval de mikrotik) te informeren dat de multicaststream nog steeds gewenst is richting tv box. Die uit time periode ligt dacht zo rond die 5 minuten. 

De mikrotik doet blijkbaar niets of niet het juiste met de herhaal joins van de tv box of deze komen niet op de bridge interface terecht van de mikrotik waar de stream dus na verloop van tijd stopt.

KPN werkt specifiek met IGMP versie 2. Kan het zijn dat de mikrotik met een afwijkende IGMP protocol versie bezig is? Tevens zoals eerder geopperd is moet er maar 1 IGMP router proxy aanbieder in het netwerk zijn voor de multicast streams want de source voor de tv streams kan alleen vanuit het vlan 4 netwerk komen.


Gezien het feit dat het alleen fout gaat op het live tv verkeer duidt in de richting dat er iets met IGMP snooping igmp proces niet helemaal goed gaat.

Dat het met de IGMP proxy server te maken heeft staat buiten kijf.

Die 4:25 minuut is ook zeer verklaarbaar wetende dat de IGMP proxy time-out standaard 260 seconden is ofwel 4:20 minuten.


Ik heb dezelfde symptomen en gebruik een MikroTik RB5009. Ben je nog iets verder gekomen hiermee @Gette ?


In mijn configuratie bleek het de volgende firewall rule te zijn:

add action=drop chain=input comment="defconf: drop all not coming from LAN" in-interface-list=!LAN

Ik zag na het aanzetten van logging op de firewall dat er erg veel werd gedropped.

Ik heb dit aangepast naar:

add action=drop chain=input comment="altered defconf: drop all coming from WAN" in-interface-list=WAN

En de interface lists:

/interface list member
add disabled=no interface=bridge-LAN list=LAN
add disabled=no interface=pppoe list=WAN
add disabled=no interface=ether1 list=WAN
add disabled=no interface=vlan-6-internet list=WAN
add disabled=no interface=wireguard1 list=LAN

Dit kan misschien (waarschijnlijk) beter. Ik ben geen grote netwerk-expert :)


Blijkbaar dropte je in eerste instantie alles van vlan 4 (KPN TV) omdat vlan 4 niet in de interface-list LAN opgenomen is.

Nu drop je alles uit de interface-list WAN en dus drop je geen verkeer meer van vlan 4.

Ik ben wel benieuwd op welk moment die rule uitgevoerd wordt en welke rules er dan al geweest zijn die verkeer juist wel doorlaten. 


Gisteravond weer tijd gemaakt om er naar te kijken, het probleem speelt bij mij helaas nog steeds.

Dat het met de IGMP proxy server te maken heeft staat buiten kijf.

Die 4:25 minuut is ook zeer verklaarbaar wetende dat de IGMP proxy time-out standaard 260 seconden is ofwel 4:20 minuten.

Dit heb ik getest, de time-out naar 30 seconden gezet, en dit is inderdaad de oorzaak. De oplossingen werken helaas nog niet.

 

KPN werkt specifiek met IGMP versie 2. Kan het zijn dat de mikrotik met een afwijkende IGMP protocol versie bezig is?

Gechecked, deze staat op versie2

 

In mijn configuratie bleek het de volgende firewall rule te zijn:

add action=drop chain=input comment="defconf: drop all not coming from LAN" in-interface-list=!LAN

Ik zag na het aanzetten van logging op de firewall dat er erg veel werd gedropped.

Ik heb deze rule tijdelijk uitgeschakeld, maar het probleem doet zich nog steeds voor.

 

Nu zag ik dat de bridge geen igmp-querier herkend:

dadmin@MikroTik] > /interface bridge monitor bridge-local
;;; defconf
state: enabled
current-mac-address: CC:2D:E0:7B:3A:1D
root-bridge: yes
root-bridge-id: 0x8000.00:00:00:00:00:00
root-path-cost: 0
root-port: none
port-count: 5
designated-port-count: 0
fast-forward: no
multicast-router: yes
igmp-querier: none
mld-querier: none

en in de status van de IGMP proxy zie ik dat alle packets vanuit de STB (10.0.2.26) gemarkeerd worden als ‘wrong packets’.

ik loop vast.. nog iemand tips :)


Dit is mijn (zoveel mogelijk misschien teveel uitgeklede) configuratie:

 

# may/04/2022 10:48:52 by RouterOS 7.2.3
# software id = 0Y1L-ZDE6
#
# model = RB5009UG+S+
# serial number = <knip>
/interface bridge
add admin-mac=<knip> ageing-time=5m arp=proxy-arp arp-timeout=auto \
auto-mac=no dhcp-snooping=no disabled=no fast-forward=yes forward-delay=\
15s igmp-snooping=yes igmp-version=2 last-member-interval=1s \
last-member-query-count=2 max-message-age=20s membership-interval=4m20s \
mld-version=1 mtu=auto multicast-querier=no multicast-router=\
temporary-query name=bridge-LAN priority=0x8000 protocol-mode=rstp \
querier-interval=4m15s query-interval=2m5s query-response-interval=10s \
startup-query-count=2 startup-query-interval=31s250ms \
transmit-hold-count=6 vlan-filtering=no
/interface ethernet
set find default-name=ether1 ] advertise=\
10M-half,10M-full,100M-half,100M-full,1000M-half,1000M-full,2500M-full \
arp=enabled arp-timeout=auto auto-negotiation=yes bandwidth=\
unlimited/unlimited disabled=no full-duplex=yes l2mtu=1514 loop-protect=\
default loop-protect-disable-time=5m loop-protect-send-interval=5s \
mac-address=<knip> mtu=1500 name=ether1 orig-mac-address=\
<knip> rx-flow-control=off speed=2.5Gbps tx-flow-control=off
set find default-name=ether2 ] advertise=\
10M-half,10M-full,100M-half,100M-full,1000M-half,1000M-full arp=enabled \
arp-timeout=auto auto-negotiation=yes bandwidth=unlimited/unlimited \
disabled=no full-duplex=yes l2mtu=1514 loop-protect=default \
loop-protect-disable-time=5m loop-protect-send-interval=5s mac-address=\
<knip> mtu=1500 name=ether2 orig-mac-address=<knip> \
rx-flow-control=off speed=1Gbps tx-flow-control=off
set find default-name=ether3 ] advertise=\
10M-half,10M-full,100M-half,100M-full,1000M-half,1000M-full arp=enabled \
arp-timeout=auto auto-negotiation=yes bandwidth=unlimited/unlimited \
disabled=no full-duplex=yes l2mtu=1514 loop-protect=default \
loop-protect-disable-time=5m loop-protect-send-interval=5s mac-address=\
<knip> mtu=1500 name=ether3 orig-mac-address=<knip> \
rx-flow-control=off speed=1Gbps tx-flow-control=off
set find default-name=ether4 ] advertise=\
10M-half,10M-full,100M-half,100M-full,1000M-half,1000M-full arp=enabled \
arp-timeout=auto auto-negotiation=yes bandwidth=unlimited/unlimited \
disabled=no full-duplex=yes l2mtu=1514 loop-protect=default \
loop-protect-disable-time=5m loop-protect-send-interval=5s mac-address=\
<knip> mtu=1500 name=ether4 orig-mac-address=<knip> \
rx-flow-control=off speed=1Gbps tx-flow-control=off
set find default-name=ether5 ] advertise=\
10M-half,10M-full,100M-half,100M-full,1000M-half,1000M-full arp=enabled \
arp-timeout=auto auto-negotiation=yes bandwidth=unlimited/unlimited \
disabled=no full-duplex=yes l2mtu=1514 loop-protect=default \
loop-protect-disable-time=5m loop-protect-send-interval=5s mac-address=\
<knip> mtu=1500 name=ether5 orig-mac-address=<knip> \
rx-flow-control=off speed=1Gbps tx-flow-control=off
set find default-name=ether6 ] advertise=\
10M-half,10M-full,100M-half,100M-full,1000M-half,1000M-full arp=enabled \
arp-timeout=auto auto-negotiation=yes bandwidth=unlimited/unlimited \
disabled=no full-duplex=yes l2mtu=1514 loop-protect=default \
loop-protect-disable-time=5m loop-protect-send-interval=5s mac-address=\
<knip> mtu=1500 name=ether6 orig-mac-address=<knip> \
rx-flow-control=off speed=1Gbps tx-flow-control=off
set find default-name=ether7 ] advertise=\
10M-half,10M-full,100M-half,100M-full,1000M-half,1000M-full arp=enabled \
arp-timeout=auto auto-negotiation=yes bandwidth=unlimited/unlimited \
disabled=no full-duplex=yes l2mtu=1514 loop-protect=default \
loop-protect-disable-time=5m loop-protect-send-interval=5s mac-address=\
<knip> mtu=1500 name=ether7 orig-mac-address=<knip> \
rx-flow-control=off speed=1Gbps tx-flow-control=off
set find default-name=ether8 ] advertise=\
10M-half,10M-full,100M-half,100M-full,1000M-half,1000M-full arp=enabled \
arp-timeout=auto auto-negotiation=yes bandwidth=unlimited/unlimited \
disabled=no full-duplex=yes l2mtu=1514 loop-protect=default \
loop-protect-disable-time=5m loop-protect-send-interval=5s mac-address=\
<knip> mtu=1500 name=ether8 orig-mac-address=<knip> \
rx-flow-control=off speed=1Gbps tx-flow-control=off
set find default-name=sfp-sfpplus1 ] advertise="" arp=enabled arp-timeout=\
auto auto-negotiation=yes bandwidth=unlimited/unlimited disabled=yes \
full-duplex=yes l2mtu=1514 loop-protect=default \
loop-protect-disable-time=5m loop-protect-send-interval=5s mac-address=\
<knip> mtu=1500 name=sfp-sfpplus1 orig-mac-address=\
<knip> rx-flow-control=off sfp-rate-select=high \
sfp-shutdown-temperature=95C speed=10Gbps tx-flow-control=off
/queue interface
set bridge-LAN queue=no-queue
/interface vlan
add arp=enabled arp-timeout=auto disabled=no interface=ether1 loop-protect=\
default loop-protect-disable-time=5m loop-protect-send-interval=5s mtu=\
1500 name=vlan-4-iptv use-service-tag=no vlan-id=4
add arp=enabled arp-timeout=auto disabled=no interface=ether1 loop-protect=\
off loop-protect-disable-time=5m loop-protect-send-interval=5s mtu=1500 \
name=vlan-6-internet use-service-tag=no vlan-id=6
/queue interface
set vlan-4-iptv queue=no-queue
set vlan-6-internet queue=no-queue
/interface ethernet switch
set 0 cpu-flow-control=yes l3-hw-offloading=no mirror-egress-target=none \
name=switch1
/interface ethernet switch port
set 0 !egress-rate !ingress-rate mirror-egress=no mirror-ingress=no \
mirror-ingress-target=none
set 1 !egress-rate !ingress-rate mirror-egress=no mirror-ingress=no \
mirror-ingress-target=none
set 2 !egress-rate !ingress-rate mirror-egress=no mirror-ingress=no \
mirror-ingress-target=none
set 3 !egress-rate !ingress-rate mirror-egress=no mirror-ingress=no \
mirror-ingress-target=none
set 4 !egress-rate !ingress-rate mirror-egress=no mirror-ingress=no \
mirror-ingress-target=none
set 5 !egress-rate !ingress-rate mirror-egress=no mirror-ingress=no \
mirror-ingress-target=none
set 6 !egress-rate !ingress-rate mirror-egress=no mirror-ingress=no \
mirror-ingress-target=none
set 7 !egress-rate !ingress-rate mirror-egress=no mirror-ingress=no \
mirror-ingress-target=none
set 8 !egress-rate !ingress-rate mirror-egress=no mirror-ingress=no \
mirror-ingress-target=none
set 9 !egress-rate !ingress-rate mirror-egress=no mirror-ingress=no \
mirror-ingress-target=none
/interface list
set find name=all ] comment="contains all interfaces" exclude="" include="" \
name=all
set find name=none ] comment="contains no interfaces" exclude="" include="" \
name=none
set find name=dynamic ] comment="contains dynamic interfaces" exclude="" \
include="" name=dynamic
set find name=static ] comment="contains static interfaces" exclude="" \
include="" name=static
add exclude="" include="" name=WAN
add exclude="" include="" name=LAN
<knip>
/ip dhcp-client option
add code=60 name=option60-vendorclass value="'IPTV_RG'"
set clientid_duid code=61 name=clientid_duid value="0xff\$(CLIENT_DUID)"
set clientid code=61 name=clientid value="0x01\$(CLIENT_MAC)"
set hostname code=12 name=hostname value="\$(HOSTNAME)"
/ip dhcp-server option
add code=60 name=option60-vendorclass value="'IPTV_RG'"
add code=28 name=option28-broadcast value="'192.168.0.255'"
/ip dhcp-server option sets
add name=IPTV options=option28-broadcast,option60-vendorclass
/ip pool
add name=dhcp ranges=192.168.0.10-192.168.0.40
/ip dhcp-server
add address-pool=dhcp authoritative=yes disabled=no interface=bridge-LAN \
lease-script="" lease-time=10m name=dhcp use-radius=no
/ppp profile
set *0 address-list="" !bridge !bridge-horizon bridge-learning=default \
!bridge-path-cost !bridge-port-priority change-tcp-mss=yes !dns-server \
!idle-timeout !incoming-filter !insert-queue-before !interface-list \
!local-address name=default on-down="" on-up="" only-one=yes \
!outgoing-filter !parent-queue !queue-type !rate-limit !remote-address \
!session-timeout use-compression=yes use-encryption=default use-ipv6=no \
use-mpls=default use-upnp=no !wins-server
set *FFFFFFFE address-list="" !bridge !bridge-horizon bridge-learning=default \
!bridge-path-cost !bridge-port-priority change-tcp-mss=yes !dns-server \
!idle-timeout !incoming-filter !insert-queue-before !interface-list \
!local-address name=default-encryption on-down="" on-up="" only-one=\
default !outgoing-filter !parent-queue !queue-type !rate-limit \
!remote-address !session-timeout use-compression=default use-encryption=\
yes use-ipv6=yes use-mpls=default use-upnp=default !wins-server
/interface pppoe-client
add ac-name="" add-default-route=yes allow=pap,mschap2 \
default-route-distance=1 dial-on-demand=no disabled=no interface=\
vlan-6-internet keepalive-timeout=20 max-mru=1500 max-mtu=1500 mrru=\
disabled name=pppoe profile=default service-name="" use-peer-dns=no user=\
<knip>
/queue interface
set pppoe queue=no-queue
/queue type
set 0 kind=pfifo name=default pfifo-limit=50
set 1 kind=pfifo name=ethernet-default pfifo-limit=50
set 2 kind=sfq name=wireless-default sfq-allot=1514 sfq-perturb=5
set 3 kind=red name=synchronous-default red-avg-packet=1000 red-burst=20 \
red-limit=60 red-max-threshold=50 red-min-threshold=10
set 4 kind=sfq name=hotspot-default sfq-allot=1514 sfq-perturb=5
set 5 kind=pcq name=pcq-upload-default pcq-burst-rate=0 pcq-burst-threshold=0 \
pcq-burst-time=10s pcq-classifier=src-address pcq-dst-address-mask=32 \
pcq-dst-address6-mask=128 pcq-limit=50KiB pcq-rate=0 \
pcq-src-address-mask=32 pcq-src-address6-mask=128 pcq-total-limit=2000KiB
set 6 kind=pcq name=pcq-download-default pcq-burst-rate=0 \
pcq-burst-threshold=0 pcq-burst-time=10s pcq-classifier=dst-address \
pcq-dst-address-mask=32 pcq-dst-address6-mask=128 pcq-limit=50KiB \
pcq-rate=0 pcq-src-address-mask=32 pcq-src-address6-mask=128 \
pcq-total-limit=2000KiB
set 7 kind=none name=only-hardware-queue
set 8 kind=mq-pfifo mq-pfifo-limit=50 name=multi-queue-ethernet-default
set 9 kind=pfifo name=default-small pfifo-limit=10
/queue interface
set ether1 queue=only-hardware-queue
set ether2 queue=only-hardware-queue
set ether3 queue=only-hardware-queue
set ether4 queue=only-hardware-queue
set ether5 queue=only-hardware-queue
set ether6 queue=only-hardware-queue
set ether7 queue=only-hardware-queue
set ether8 queue=only-hardware-queue
set sfp-sfpplus1 queue=only-hardware-queue
/routing bgp template
set default as=65530 name=default
<knip>
/interface bridge port
add auto-isolate=no bpdu-guard=no bridge=bridge-LAN broadcast-flood=yes \
disabled=no edge=auto fast-leave=no frame-types=admit-all horizon=none \
hw=yes ingress-filtering=yes interface=ether2 internal-path-cost=10 \
learn=auto multicast-router=temporary-query path-cost=10 point-to-point=\
auto priority=0x80 pvid=1 restricted-role=no restricted-tcn=no \
tag-stacking=no trusted=no unknown-multicast-flood=yes \
unknown-unicast-flood=yes
add auto-isolate=no bpdu-guard=no bridge=bridge-LAN broadcast-flood=yes \
disabled=no edge=auto fast-leave=no frame-types=admit-all horizon=none \
hw=yes ingress-filtering=yes interface=ether3 internal-path-cost=10 \
learn=auto multicast-router=temporary-query path-cost=10 point-to-point=\
auto priority=0x80 pvid=1 restricted-role=no restricted-tcn=no \
tag-stacking=no trusted=no unknown-multicast-flood=yes \
unknown-unicast-flood=yes
add auto-isolate=no bpdu-guard=no bridge=bridge-LAN broadcast-flood=yes \
disabled=no edge=auto fast-leave=no frame-types=admit-all horizon=none \
hw=yes ingress-filtering=yes interface=ether4 internal-path-cost=10 \
learn=auto multicast-router=temporary-query path-cost=10 point-to-point=\
auto priority=0x80 pvid=1 restricted-role=no restricted-tcn=no \
tag-stacking=no trusted=no unknown-multicast-flood=yes \
unknown-unicast-flood=yes
add auto-isolate=no bpdu-guard=no bridge=bridge-LAN broadcast-flood=yes \
disabled=no edge=auto fast-leave=no frame-types=admit-all horizon=none \
hw=yes ingress-filtering=yes interface=ether5 internal-path-cost=10 \
learn=auto multicast-router=temporary-query path-cost=10 point-to-point=\
auto priority=0x80 pvid=1 restricted-role=no restricted-tcn=no \
tag-stacking=no trusted=no unknown-multicast-flood=yes \
unknown-unicast-flood=yes
add auto-isolate=no bpdu-guard=no bridge=bridge-LAN broadcast-flood=yes \
disabled=no edge=auto fast-leave=no frame-types=admit-all horizon=none \
hw=yes ingress-filtering=yes interface=ether6 internal-path-cost=10 \
learn=auto multicast-router=temporary-query path-cost=10 point-to-point=\
auto priority=0x80 pvid=1 restricted-role=no restricted-tcn=no \
tag-stacking=no trusted=no unknown-multicast-flood=yes \
unknown-unicast-flood=yes
add auto-isolate=no bpdu-guard=no bridge=bridge-LAN broadcast-flood=yes \
disabled=no edge=auto fast-leave=no frame-types=admit-all horizon=none \
hw=yes ingress-filtering=yes interface=ether7 internal-path-cost=10 \
learn=auto multicast-router=temporary-query path-cost=10 point-to-point=\
auto priority=0x80 pvid=1 restricted-role=no restricted-tcn=no \
tag-stacking=no trusted=no unknown-multicast-flood=yes \
unknown-unicast-flood=yes
add auto-isolate=no bpdu-guard=no bridge=bridge-LAN broadcast-flood=yes \
comment=IPTV disabled=no edge=auto fast-leave=no frame-types=admit-all \
horizon=none hw=yes ingress-filtering=yes interface=ether8 \
internal-path-cost=10 learn=auto multicast-router=temporary-query \
path-cost=10 point-to-point=auto priority=0x80 pvid=1 restricted-role=no \
restricted-tcn=no tag-stacking=no trusted=no unknown-multicast-flood=yes \
unknown-unicast-flood=yes
add auto-isolate=no bpdu-guard=no bridge=bridge-LAN broadcast-flood=yes \
disabled=no edge=auto fast-leave=no frame-types=admit-all horizon=none \
hw=yes ingress-filtering=yes interface=sfp-sfpplus1 internal-path-cost=10 \
learn=auto multicast-router=temporary-query path-cost=10 point-to-point=\
auto priority=0x80 pvid=1 restricted-role=no restricted-tcn=no \
tag-stacking=no trusted=no unknown-multicast-flood=yes \
unknown-unicast-flood=yes
/interface bridge port-controller
# disabled
set bridge=none cascade-ports="" switch=none
/interface bridge port-extender
# disabled
set control-ports="" excluded-ports="" switch=none
/interface bridge settings
set allow-fast-path=yes use-ip-firewall=no use-ip-firewall-for-pppoe=no \
use-ip-firewall-for-vlan=no
/ip firewall connection tracking
set enabled=auto generic-timeout=10m icmp-timeout=10s loose-tcp-tracking=yes \
tcp-close-timeout=10s tcp-close-wait-timeout=10s tcp-established-timeout=\
1d tcp-fin-wait-timeout=10s tcp-last-ack-timeout=10s \
tcp-max-retrans-timeout=5m tcp-syn-received-timeout=5s \
tcp-syn-sent-timeout=5s tcp-time-wait-timeout=10s tcp-unacked-timeout=5m \
udp-stream-timeout=3m udp-timeout=10s
/ip settings
set accept-redirects=no accept-source-route=no allow-fast-path=yes \
arp-timeout=30s icmp-rate-limit=10 icmp-rate-mask=0x1818 ip-forward=yes \
max-neighbor-entries=16384 route-cache=yes rp-filter=no secure-redirects=\
yes send-redirects=yes tcp-syncookies=no
/ipv6 settings
set accept-redirects=yes-if-forwarding-disabled accept-router-advertisements=\
yes-if-forwarding-disabled disable-ipv6=yes forward=yes \
max-neighbor-entries=16384
<knip>
/interface list member
add disabled=no interface=bridge-LAN list=LAN
add disabled=no interface=pppoe list=WAN
add disabled=no interface=ether1 list=WAN
add disabled=no interface=vlan-6-internet list=WAN
add disabled=no interface=wireguard1 list=LAN
/ip address
add address=192.168.0.1/24 disabled=no interface=bridge-LAN network=\
192.168.0.0
add address=10.0.0.1/24 disabled=no interface=wireguard1 network=10.0.0.0
/ip cloud
set ddns-enabled=no ddns-update-interval=none update-time=yes
/ip cloud advanced
set use-local-address=no
/ip dhcp-client
add add-default-route=yes default-route-distance=1 dhcp-options=\
option60-vendorclass disabled=no interface=vlan-4-iptv use-peer-dns=yes \
use-peer-ntp=yes
/ip dhcp-server config
set accounting=yes interim-update=0s radius-password=empty store-leases-disk=\
5m
/ip dhcp-server lease
<knip>
add address=192.168.0.9 address-lists="" dhcp-option="" dhcp-option-set=IPTV \
disabled=no !insert-queue-before mac-address=00:02:9B:FE:BE:25 server=\
dhcp
<knip>
/ip dhcp-server network
add address=192.168.0.0/24 caps-manager="" dhcp-option="" dns-server=\
192.168.0.111,192.168.0.65 domain=<knip> gateway=192.168.0.1 !next-server \
ntp-server="" wins-server=""
/ip dns
set allow-remote-requests=yes cache-max-ttl=1w cache-size=2048KiB \
max-concurrent-queries=100 max-concurrent-tcp-sessions=20 \
max-udp-packet-size=4096 query-server-timeout=2s query-total-timeout=10s \
servers=192.168.0.111,192.168.0.65 use-doh-server="" verify-doh-cert=no
/ip dns static
<knip>
/ip firewall filter
add action=accept chain=input comment=\
"defconf: accept established,related,untracked" !connection-bytes \
!connection-limit !connection-mark !connection-nat-state !connection-rate \
connection-state=established,related,untracked !connection-type !content \
disabled=no !dscp !dst-address !dst-address-list !dst-address-type \
!dst-limit !dst-port !fragment !hotspot !icmp-options !in-bridge-port \
!in-bridge-port-list !in-interface !in-interface-list !ingress-priority \
!ipsec-policy !ipv4-options !layer7-protocol !limit log=no log-prefix="" \
!nth !out-bridge-port !out-bridge-port-list !out-interface \
!out-interface-list !packet-mark !packet-size !per-connection-classifier \
!port !priority !protocol !psd !random !realm !routing-mark !src-address \
!src-address-list !src-address-type !src-mac-address !src-port !tcp-flags \
!tcp-mss !time !tls-host !ttl
add action=accept chain=input comment="Accept WireGuard" !connection-bytes \
!connection-limit !connection-mark !connection-nat-state !connection-rate \
!connection-state !connection-type !content disabled=no !dscp \
!dst-address !dst-address-list !dst-address-type !dst-limit dst-port=1194 \
!fragment !hotspot !icmp-options !in-bridge-port !in-bridge-port-list \
!in-interface !in-interface-list !ingress-priority !ipsec-policy \
!ipv4-options !layer7-protocol !limit log=yes log-prefix="" !nth \
!out-bridge-port !out-bridge-port-list !out-interface !out-interface-list \
!packet-mark !packet-size !per-connection-classifier !port !priority \
protocol=udp !psd !random !realm !routing-mark !src-address \
!src-address-list !src-address-type !src-mac-address !src-port !tcp-flags \
!tcp-mss !time !tls-host !ttl
add action=drop chain=input comment="defconf: drop invalid" !connection-bytes \
!connection-limit !connection-mark !connection-nat-state !connection-rate \
connection-state=invalid !connection-type !content disabled=no !dscp \
!dst-address !dst-address-list !dst-address-type !dst-limit !dst-port \
!fragment !hotspot !icmp-options !in-bridge-port !in-bridge-port-list \
!in-interface !in-interface-list !ingress-priority !ipsec-policy \
!ipv4-options !layer7-protocol !limit log=no log-prefix="" !nth \
!out-bridge-port !out-bridge-port-list !out-interface !out-interface-list \
!packet-mark !packet-size !per-connection-classifier !port !priority \
!protocol !psd !random !realm !routing-mark !src-address \
!src-address-list !src-address-type !src-mac-address !src-port !tcp-flags \
!tcp-mss !time !tls-host !ttl
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=accept chain=input comment=\
"defconf: accept to local loopback (for CAPsMAN)" dst-address=127.0.0.1
add action=drop chain=input comment=\
"altered defconf: drop all coming from WAN" !connection-bytes \
!connection-limit !connection-mark !connection-nat-state !connection-rate \
!connection-state !connection-type !content disabled=no !dscp \
!dst-address !dst-address-list !dst-address-type !dst-limit !dst-port \
!fragment !hotspot !icmp-options !in-bridge-port !in-bridge-port-list \
!in-interface in-interface-list=WAN !ingress-priority !ipsec-policy \
!ipv4-options !layer7-protocol !limit log=no log-prefix="" !nth \
!out-bridge-port !out-bridge-port-list !out-interface !out-interface-list \
!packet-mark !packet-size !per-connection-classifier !port !priority \
!protocol !psd !random !realm !routing-mark !src-address \
!src-address-list !src-address-type !src-mac-address !src-port !tcp-flags \
!tcp-mss !time !tls-host !ttl
add action=accept chain=forward comment="defconf: accept in ipsec policy" \
ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" \
ipsec-policy=out,ipsec
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" \
connection-state=established,related hw-offload=yes
add action=accept chain=forward comment=\
"defconf: accept established,related, untracked" connection-state=\
established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" \
!connection-bytes !connection-limit !connection-mark \
!connection-nat-state !connection-rate connection-state=invalid \
!connection-type !content disabled=no !dscp !dst-address \
!dst-address-list !dst-address-type !dst-limit !dst-port !fragment \
!hotspot !icmp-options !in-bridge-port !in-bridge-port-list !in-interface \
!in-interface-list !ingress-priority !ipsec-policy !ipv4-options \
!layer7-protocol !limit log=no log-prefix="" !nth !out-bridge-port \
!out-bridge-port-list !out-interface !out-interface-list !packet-mark \
!packet-size !per-connection-classifier !port !priority !protocol !psd \
!random !realm !routing-mark !src-address !src-address-list \
!src-address-type !src-mac-address !src-port !tcp-flags !tcp-mss !time \
!tls-host !ttl
add action=drop chain=forward comment=\
"defconf: drop all from WAN not DSTNATed" !connection-bytes \
!connection-limit !connection-mark connection-nat-state=!dstnat \
!connection-rate connection-state=new !connection-type !content disabled=\
no !dscp !dst-address !dst-address-list !dst-address-type !dst-limit \
!dst-port !fragment !hotspot !icmp-options !in-bridge-port \
!in-bridge-port-list !in-interface in-interface-list=WAN \
!ingress-priority !ipsec-policy !ipv4-options !layer7-protocol !limit \
log=no log-prefix="" !nth !out-bridge-port !out-bridge-port-list \
!out-interface !out-interface-list !packet-mark !packet-size \
!per-connection-classifier !port !priority !protocol !psd !random !realm \
!routing-mark !src-address !src-address-list !src-address-type \
!src-mac-address !src-port !tcp-flags !tcp-mss !time !tls-host !ttl
/ip firewall nat
add action=masquerade chain=srcnat comment=IPTV !connection-bytes \
!connection-limit !connection-mark !connection-rate !connection-type \
!content disabled=no !dscp dst-address=213.75.112.0/21 !dst-address-list \
!dst-address-type !dst-limit !dst-port !fragment !hotspot !icmp-options \
!in-bridge-port !in-bridge-port-list !in-interface !in-interface-list \
!ingress-priority !ipsec-policy !ipv4-options !layer7-protocol !limit \
log=no log-prefix="" !nth !out-bridge-port !out-bridge-port-list \
out-interface=vlan-4-iptv !out-interface-list !packet-mark !packet-size \
!per-connection-classifier !port !priority !protocol !psd !random !realm \
!routing-mark !src-address !src-address-list !src-address-type \
!src-mac-address !src-port !tcp-mss !time !tls-host !to-addresses \
!to-ports !ttl
add action=masquerade chain=srcnat comment=IPTV !connection-bytes \
!connection-limit !connection-mark !connection-rate !connection-type \
!content disabled=no !dscp dst-address=217.166.0.0/16 !dst-address-list \
!dst-address-type !dst-limit !dst-port !fragment !hotspot !icmp-options \
!in-bridge-port !in-bridge-port-list !in-interface !in-interface-list \
!ingress-priority !ipsec-policy !ipv4-options !layer7-protocol !limit \
log=no log-prefix="" !nth !out-bridge-port !out-bridge-port-list \
out-interface=vlan-4-iptv !out-interface-list !packet-mark !packet-size \
!per-connection-classifier !port !priority !protocol !psd !random !realm \
!routing-mark !src-address !src-address-list !src-address-type \
!src-mac-address !src-port !tcp-mss !time !tls-host !to-addresses \
!to-ports !ttl
add action=masquerade chain=srcnat !connection-bytes !connection-limit \
!connection-mark !connection-rate !connection-type !content disabled=no \
!dscp !dst-address !dst-address-list !dst-address-type !dst-limit \
!dst-port !fragment !hotspot !icmp-options !in-bridge-port \
!in-bridge-port-list !in-interface !in-interface-list !ingress-priority \
ipsec-policy=out,none !ipv4-options !layer7-protocol !limit log=no \
log-prefix="" !nth !out-bridge-port !out-bridge-port-list !out-interface \
out-interface-list=WAN !packet-mark !packet-size \
!per-connection-classifier !port !priority !protocol !psd !random !realm \
!routing-mark !src-address !src-address-list !src-address-type \
!src-mac-address !src-port !tcp-mss !time !tls-host !to-addresses \
!to-ports !ttl
add action=dst-nat chain=dstnat comment="Forward to Traefik" \
!connection-bytes !connection-limit !connection-mark !connection-rate \
!connection-type !content disabled=no !dscp dst-address=<knip> \
!dst-address-list !dst-address-type !dst-limit dst-port=80,443 !fragment \
!hotspot !icmp-options !in-bridge-port !in-bridge-port-list !in-interface \
!in-interface-list !ingress-priority !ipsec-policy !ipv4-options \
!layer7-protocol !limit log=no log-prefix="" !nth !out-bridge-port \
!out-bridge-port-list !out-interface !out-interface-list !packet-mark \
!packet-size !per-connection-classifier !port !priority protocol=tcp !psd \
!random !realm !routing-mark !src-address !src-address-list \
!src-address-type !src-mac-address !src-port !tcp-mss !time !tls-host \
to-addresses=192.168.0.100 !to-ports !ttl
add action=masquerade chain=srcnat comment="Hairpin NAT to Traefik" \
!connection-bytes !connection-limit !connection-mark !connection-rate \
!connection-type !content disabled=no !dscp dst-address=192.168.0.100 \
!dst-address-list !dst-address-type !dst-limit dst-port=80,443 !fragment \
!hotspot !icmp-options !in-bridge-port !in-bridge-port-list !in-interface \
!in-interface-list !ingress-priority !ipsec-policy !ipv4-options \
!layer7-protocol !limit log=no log-prefix="" !nth !out-bridge-port \
!out-bridge-port-list out-interface=bridge-LAN !out-interface-list \
!packet-mark !packet-size !per-connection-classifier !port !priority \
protocol=tcp !psd !random !realm !routing-mark src-address=192.168.0.0/24 \
!src-address-list !src-address-type !src-mac-address !src-port !tcp-mss \
!time !tls-host !to-addresses !to-ports !ttl
/ip firewall service-port
set ftp disabled=yes ports=21
set tftp disabled=yes ports=69
set irc disabled=no ports=6667
set h323 disabled=no
set sip disabled=no ports=5060,5061 sip-direct-media=yes sip-timeout=1h
set pptp disabled=no
set udplite disabled=no
set dccp disabled=no
set sctp disabled=no
/ip ipsec policy
set 0 disabled=no dst-address=::/0 group=default proposal=default protocol=\
all src-address=::/0 template=yes
/ip ipsec settings
set accounting=yes interim-update=0s xauth-use-radius=no
/ip traffic-flow
set active-flow-timeout=30m cache-entries=256k enabled=no \
inactive-flow-timeout=15s interfaces=all packet-sampling=no \
sampling-interval=0 sampling-space=0
/ip traffic-flow ipfix
set bytes=yes dst-address=yes dst-address-mask=yes dst-mac-address=yes \
dst-port=yes first-forwarded=yes gateway=yes icmp-code=yes icmp-type=yes \
igmp-type=yes in-interface=yes ip-header-length=yes ip-total-length=yes \
ipv6-flow-label=yes is-multicast=yes last-forwarded=yes nat-dst-address=\
yes nat-dst-port=yes nat-events=no nat-src-address=yes nat-src-port=yes \
out-interface=yes packets=yes protocol=yes src-address=yes \
src-address-mask=yes src-mac-address=yes src-port=yes sys-init-time=yes \
tcp-ack-num=yes tcp-flags=yes tcp-seq-num=yes tcp-window-size=yes tos=yes \
ttl=yes udp-length=yes
/ip upnp
set allow-disable-external-interface=no enabled=no show-dummy-rule=yes
/ppp aaa
set accounting=yes interim-update=0s use-circuit-id-in-nas-port-id=no \
use-radius=no
/radius incoming
set accept=no port=3799
/routing igmp-proxy
set query-interval=2m5s query-response-interval=10s quick-leave=yes
/routing igmp-proxy interface
add alternative-subnets=0.0.0.0/0 disabled=no interface=vlan-4-iptv \
threshold=1 upstream=yes
add alternative-subnets="" disabled=no interface=bridge-LAN threshold=1 \
upstream=no




igmp-querier is bij mij gelijk als in jouw configuratie:

@MikroTik_RB5009UG+S+IN] > /interface bridge monitor bridge-LAN                   state: enabled     current-mac-address: <knip>             root-bridge: no          root-bridge-id: <knip>          root-path-cost: 10               root-port: ether7              port-count: 8   designated-port-count: 4            fast-forward: no        multicast-router: yes            igmp-querier: none             mld-querier: none 

Beste Gette,

Ik heb geen oplossing (ik werk met trial and error omdat ik de materie niet goed genoeg begrijp) maar ik kan misschien wel iets toevoegen over die wrong packets. Ik werk zelf met VLANs in mijn netwerk. Daarom moest ik bij de igmp-proxy niet de bridge maar de juiste VLAN als interface toevoegen:

/routing igmp-proxy interface

add interface=VLAN_NAAM

Gek genoeg had ik problemen bij het wisselen van kanalen totdat ik al mijn VLANs toevoegde als interface, ook die waar helemaal geen IPTV naartoe hoeft. Geen idee waarom dit nodig was, maar het werkt. Maar wat ik nu zie in de IMGP Proxy MFC tab is dat er een klein aantal pakketjes naar de 'verkeerde' VLANs gaan, en die worden allen aangemerkt als wrong packets. Het lijkt er haast op dat er bij jou geen ontvanger voor de packets is in de bridge local o.i.d.

Verder lijken al mijn instellingen hetzelfde als de scripts hier, en werkt het daarmee. Hooguit is mijn firewall anders ingesteld (ik eindig met een drop all en accepteer expliciet alles wat ik wel wil toelaten).


<knip>

 

Ik heb alleen de bridge en de iptv VLAN. Dat werkt voor mij nu goed.

 

e@MikroTik_RB5009UG+S+IN] /routing/igmp-proxy/interface> print
Flags: U - UPSTREAM
Columns: INTERFACE, THRESHOLD
# INTERFACE THRESHOLD
0 U vlan-4-iptv 1
1 bridge-LAN 1

@Gette Ik zou je willen aanraden eens voor al je drop firewall rules logging aan te zetten, met een herkenbare prefix. Dan ‘TV gaan kijken’ en in je MikroTik log kijken wat er allemaal langs komt. In mijn geval was het gelijk vrij duidelijk dat er heel veel iptv verkeer werd gedropt:

 

firewall6 input: in:vlan-4-iptv out:(unknown 0), src-mac <knip>, proto UDP, 217.166.226.137:49152->224.0.252.137:7274, prio 6->0, len 1356

 

 


Mocht het helpen, dit zijn mijn firewall rules die voor zover ik kan zien all het IPTV verkeer accepteren:

 

##### These firewall rules seem to allow all valid IPTV traffick ####

## First make two new IP address lists

# 1. A list with the local IPTV IP addresses (the router receiving the broadcast and the TV receiver) /ip firewall address-list   add address=xx.xx.xx.xx list=LOCAL_IPTV comment="TV receiver IP"   add address=xx.xx.xx.xx list=LOCAL_IPTV comment="Router IPTV IP"

# Note, that last address might change. I add the IP address given by the KPN DHCP server via a script in the DHCP client :if ($bound=1) do={   /ip firewall address-list remove ofind where comment="Router IPTV IP"]   /ip firewall address-list add list=LOCAL_IPTV address=$"lease-address" comment="Router IPTV IP" }


# 2. A list with KPN IPTV address ranges /ip firewall address-list   add address=213.75.0.0/16 list=KPN-IPTV   add address=217.166.0.0/16 list=KPN-IPTV   add address=10.0.0.0/8 list=KPN-IPTV

 

## Then use jumps so that other traffick does not need to be checked against these rules.

# In the input chain add action=jump chain=input in-interface=vlan1.4 jump-target=IPTV_INPUT comment="Jump to IPTV_INPUT"

# In the forward chain add action=jump chain=forward in-interface=vlan1.4 jump-target=IPTV_FORWARD_IN comment="Jump to IPTV_FORWARD_IN chain" add action=jump chain=forward jump-target=IPTV_FORWARD_OUT out-interface=vlan1.4 comment="Jump to IPTV_FORWARD_OUT chain"

# The IPTV_INPUT rules add action=accept chain=IPTV_INPUT dst-address=224.0.0.0/4 dst-address-type=multicast src-address-list=KPN-IPTV comment="Accept all multicast traffick from KPN IP ranges" add action=accept chain=IPTV_INPUT dst-address=224.0.0.0/4 protocol=igmp src-address=10.0.0.0/8 comment="Accept IGMP from KPN" add action=accept chain=IPTV_INPUT dst-address-list=LOCAL_IPTV src-address-list=KPN-IPTV comment="Accept traffick from KPN IP ranges to TV box" add action=drop chain=IPTV_INPUT comment="Drop the rest of the vlan1.4 traffick"

# The IPTV_FORWARD_IN rules add action=accept chain=IPTV_FORWARD_IN dst-address=224.0.0.0/4 dst-address-type=multicast out-interface=IOT_VLAN src-address-list=KPN-IPTV comment="Accept multicast IPTV in" add action=drop chain=IPTV_FORWARD_IN comment="Drop the rest of the vlan1.4 traffick"

# The IPTV_FORWARD_OUT rules add action=accept chain=IPTV_FORWARD_OUT dst-address-list=KPN-IPTV dst-address-type="" src-address-list=LOCAL_IPTV comment="Accept traffick from TV box to KPN" add action=drop chain=IPTV_FORWARD_OUT comment="Drop all other vlan1.4 traffick"


Het adres 10.0.0.0/16 in jouw firewall address-list is in ieder geval niet goed. Dit zou 10.0.0.0/8 moeten zijn. Ook het adres 217.166.0.0 is niet correct immers dit zou 217.166.0.0/16 moeten zijn.

Zelf hanteer ik op mijn EdgeRouter de onderstaande firewall inkomend op vlan 4.

Inkomend accepteer ik dus alleen maar UDP verkeer met bestemming 224.0.0.0/4 waarbij het niet uitmaakt vanaf welk IP adres op vlan 4 dat komt. Feitelijk hanteer ik dus een firewall address list 0.0.0.0/0 en worden alleen IGMP multicasts doorgelaten immers dat is het enige verkeer dat aan het subnet 224.0.0.0/4 gericht is.

Uitgaand heb ik geen firewall actief op vlan 4.


Dankje wjb voor de correcties. Beiden bleken typo's in mijn aantekeningen te zijn. De configuratie is precies zoals je aangeeft. Ik heb mijn eerdere post gecorrigeerd.


Dankje wjb voor de correcties, ga ik gelijk doorvoeren in mijn configuratie! De 217.166.0.0 wordt blijkbaar niet veel gebruikt, anders had dit zeker niet moeten werken!

Niet, voor zover ik kan zien 🙂 Misschien bij on demand/terugkijken/andere functie? Dat heb ik niet gedaan.

 

 


De NAT rule met destination address 217.166.0.0/16 is mijns inziens overbodig.

Je ziet ook dat er geen pakketjes door die NAT rule opgepakt worden.

Verkeer vanuit dit subnet (217.166.0.0/16) wordt altijd van buitenaf geïnitieerd en loopt altijd naar het subnet 224.0.0.0/4 (IGMP multicasts).

 

Onderstaand de source NAT rules die ik op mijn EdgeRouter heb staan.

Je ziet dat ik alleen het subnet 213.75.112.0/21 naar vlan 4 NAT.

Overigens is de tweede source NAT rule enkel voor een testopstelling met een V12 die op de pppoe server van mijn EdgeRouter aangesloten is en die kan je dus negeren.


Bedankt voor alle hulp en adviezen, helaas heeft het allemaal niet mogen baten.

 

Wat nu geholpen lijkt te hebben is dat ik de ‘Membership interval’ heb verhoogt van 260sec naar 300sec. ik hou het even een paar dagen in de gaten of dit daadwerkelijk de oplossing is.

 

 


Bedankt voor alle hulp en adviezen, helaas heeft het allemaal niet mogen baten.

 

Wat nu geholpen lijkt te hebben is dat ik de ‘Membership interval’ heb verhoogt van 260sec naar 300sec. ik hou het even een paar dagen in de gaten of dit daadwerkelijk de oplossing is.

 

Ik weet niet of er een technische onderbouwing is, maar bovenstaande heeft het probleem wel voor mij opgelost. Ik kan nu ongestoord de live TV streams kijken zonder haperingen!