Skip to main content

Thuis hebben we 6 dedicated raspberryPi’s voor uitsluitend streaming van muziek. Op alle Pi’s staat MoOde audio geinstalleerd: software die OpenHome UPNP streaming implementeert. De muziek wordt gehost op een Synology Server en wordt via de Synology Media Server aan de Raspberry Pi’s geserved. Als controller gebuiken we BubbleDS op Android telefoons/tablets.

De topologie samengevat:

  • Synology is de DMS (Digital Media Server);
  • De raspberry Pi’s met MoOde Audio zijn de DMR’s (Digital Media Renderers);
  • De Android devices met BubbleDS zijn de DMC’s (Digital Media Controllers);

Dit heeft 5 jaar perfect gewerkt, beter dan welke commerciele oplossing die ik daarvoor heb gehad (Linn DS, Naim, Lumin). Nu ik sinds vorige week ben overgestapt naar KPN werkt het niet meer goed. Exact om de 3 minuten wordt een nummer afgebroken en springt de muziek naar het volgende nummer.

Wat ik verder heb vastgesteld is:

  • Ontkoppel ik mijn router van de NT-kast dan houdt het verspringen op;
  • Gisteren (Zondag) heb ik geen verspingen gehad;
  • Vandaag is het (net als Zaterdag) weer helemaal mis; 

We gebruiken geen Experiabox maar een Mikrotik Router RB5009. Deze is ingericht volgens de aanbevelingen van https://netwerkje.com/config-internet. Momenteel gebruik ik dus alleen de VLAN-6 en is alles op IPv4 geconfigureerd. Momenteel is de IPTV nog niet geconfigureerd.

Ik heb de firewall rules gechecked (door ze afzonderlijk te disabelen) maar dat blijkt niet de oorzaak te zijn. Ook zijn er services gedisabled/enabled (zoals DNS en NTP) maar ook dat heeft geen effect.

 

Hieronder onze router configuratie. De DHCP leases en NAT’s zijn voor een deel weggehaald/
 

# jun/25/2022 15:01:17 by RouterOS 7.3.1
# software id = LK6U-MMYI
#
# model = RB5009UG+S+
# serial number = EC190F671726

/interface bridge
add arp=proxy-arp name=filiaal-bridge

/interface ethernet
set f find default-name=ether1 ] arp=proxy-arp l2mtu=1598 loop-protect=off
set p find default-name=ether2 ] l2mtu=1598

/interface vlan
add interface=ether1 loop-protect=off name=vlan1.6 vlan-id=6

/interface pppoe-client
add add-default-route=yes allow=pap disabled=no interface=vlan1.6 \
keepalive-timeout=20 max-mru=1500 max-mtu=1500 name=pppoe-client user=\
1234@provider

/interface list
add comment=filiaal-conf name=filiaal-interface-list-wan
add comment=filiaal-conf name=filiaal-interface-list-lan

/interface wireless security-profiles
set r find default=yes ] supplicant-identity=MikroTik

/ip pool
add comment=filiaal-conf name=filiaal-pool ranges=192.168.0.100-192.168.0.200

/ip dhcp-server
add address-pool=filiaal-pool interface=filiaal-bridge name=\
filiaal-dhcp-server

/ppp profile
set *0 only-one=yes use-compression=yes use-ipv6=no use-upnp=no
add name=default-ipv6 only-one=yes use-compression=yes use-upnp=no

/interface bridge port
add bridge=filiaal-bridge ingress-filtering=no interface=ether2
add bridge=filiaal-bridge ingress-filtering=no interface=ether3
add bridge=filiaal-bridge ingress-filtering=no interface=ether4
add bridge=filiaal-bridge ingress-filtering=no interface=ether5
add bridge=filiaal-bridge ingress-filtering=no interface=ether6
add bridge=filiaal-bridge ingress-filtering=no interface=ether7
add bridge=filiaal-bridge ingress-filtering=no interface=ether8

/interface list member
add comment=filiaal-conf interface=pppoe-client list=\
filiaal-interface-list-wan
add comment=filiaal-conf interface=filiaal-bridge list=\
filiaal-interface-list-lan

/ip address
add address=192.168.0.1/24 interface=filiaal-bridge network=192.168.0.0

/ip dhcp-server lease

... weggehaald ...

/ip dhcp-server network
add address=192.168.0.0/24 dns-server=192.168.0.1 gateway=192.168.0.1

/ip dns
set allow-remote-requests=yes servers=1.1.1.1,1.0.0.1

/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" 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="defconf: drop all not coming from LAN" \
in-interface-list=!filiaal-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=filiaal-interface-list-wan
add action=drop chain=input comment=\
"filiaal-conf: block DNS UDP-requests from WAN" connection-state=new \
dst-port=53 in-interface-list=filiaal-interface-list-wan protocol=udp
add action=drop chain=input comment=\
"filiaal-conf: block DNS TCP-requests from WAN" connection-state=new \
dst-port=53 in-interface-list=filiaal-interface-list-wan protocol=tcp

/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" \
ipsec-policy=out,none out-interface-list=filiaal-interface-list-wan
add action=masquerade chain=srcnat comment=\
"filiaal-conf: hairpin LAN-clients to LAN-services" dst-address=\
192.168.0.3 out-interface-list=filiaal-interface-list-lan protocol=tcp \
src-address=192.168.0.0/24

... weggehaald ...

/ip service
set telnet disabled=yes
set ftp disabled=yes
set ssh disabled=yes
set api disabled=yes
set api-ssl disabled=yes

/system clock
set time-zone-name=Europe/Amsterdam


Als de verbining tussen de Mikrotik router en NT-kast wordt verbroken is het probleem opgelost maar heb ik geen internet. Het probleem lijkt dus van ‘buiten’ te komen, van de KPN. Maar hoe kan het dat de Mikrotik firewall deze verstoringen van ‘buiten’ niet afschermt voor mijn LAN/Thuisnetwerk?

Hoi, ik ga dit volgen omdat er gebruikers zijn op mijn stream servers die hetzelfde probleem hebben.

Hier ook een mikrotik met alleen de vlan6 in gebruik.


Na weer een teleurstellend contact (in dit geval 5e telefoontje over Mijn KPN en activeringsproblemen van een mailacount voor SMTP-relay) met KPN-support heb ik mijn KPN-contract ontbonden en mijn Ziggo-contract weer geactiveerd.

Het Ziggo modem is weer verbonden met mijn Mikrotik router, script weer geinstalleerd en t.n.t. ben ik van de verspringen af. Het is nog mogelijk dat het ook aan de Mikrotik firmware heeft gelegen (upgrade van 7.0.5 naar 7.3.1). Ik hoop maar dat dat niet het geval is.

Maar ik begrijp nog steeds niet wat er gebeurd aan KPN-zijde waardoor er processen op de LAN-zijde worden verstoord.


@Herbert.M De verspringen zijn vanochtend weer terug, maar nu met het Ziggo modem.

Het zou dus toch kunnen dat de verspringen te maken hebben met RouterOS 7.3.1. Op welke versie zit jij? Had jij dit probleem ook op oudere RouterOS versies?

Ik heb al een bericht hierover geplaatst op het Mikrotik forum.


@Herbert.M 

Uiteindelijk had ik op RouterOS 7.1.0 ook weer verspringen. Dus op het Mikrotik forum een post geplaatst. Daar werd geadviseerd de DHCP lease-time van de router te verhogen van 10 minuten naar 1 dag. Dat loste direct het probleem op. 😀

RouterOS weer geupgrade naar 7.3.1: werkt ook goed.

Voor meer informatie: zie https://forum.mikrotik.com/viewtopic.php?p=942944&hilit=UPNP#p942944 

 

Uiteindelijk werkende config (waarbij mijn WAN-ipadres op my.ip.xxx.xxx is gezet):
 

# jul/01/2022 16:36:32 by RouterOS 7.3.1
# software id = LK6U-MMYI
#
# model = RB5009UG+S+
# serial number = EC190F671726
/interface bridge
add admin-mac=DC:2C:6E:45:DC:08 auto-mac=no name=filiaal-bridge \
protocol-mode=none
/interface list
add comment=filiaal-conf name=filiaal-interface-list-wan
add comment=filiaal-conf name=filiaal-interface-list-lan
/interface wireless security-profiles
set < find default=yes ] supplicant-identity=MikroTik
/ip pool
add comment=filiaal-conf name=filiaal-pool ranges=192.168.0.100-192.168.0.200
/ip dhcp-server
add address-pool=filiaal-pool interface=filiaal-bridge lease-time=1d name=\
filiaal-dhcp-server
/interface bridge port
add bridge=filiaal-bridge interface=ether2
add bridge=filiaal-bridge interface=ether3
add bridge=filiaal-bridge interface=ether4
add bridge=filiaal-bridge interface=ether5
add bridge=filiaal-bridge interface=ether6
add bridge=filiaal-bridge interface=ether7
add bridge=filiaal-bridge interface=ether8
/interface list member
add comment=filiaal-conf interface=ether1 list=filiaal-interface-list-wan
add comment=filiaal-conf interface=filiaal-bridge list=\
filiaal-interface-list-lan
/ip address
add address=192.168.0.1/24 interface=filiaal-bridge network=192.168.0.0
/ip dhcp-client
add interface=ether1 use-peer-dns=no use-peer-ntp=no
/ip dhcp-server lease
add address=192.168.0.2 comment=ap-c3200 mac-address=84:16:F9:CB:B4:24 \
server=filiaal-dhcp-server
add address=192.168.0.3 comment=synology-1515 mac-address=00:11:32:39:A6:18 \
server=filiaal-dhcp-server
add address=192.168.0.4 comment=asrock mac-address=D0:50:99:A6:B6:C4 server=\
filiaal-dhcp-server
add address=192.168.0.5 comment=video-server mac-address=E4:5F:01:41:7F:3A \
server=filiaal-dhcp-server
add address=192.168.0.6 comment=filiaal-t14 mac-address=8C:8C:AA:A2:41:4F \
server=filiaal-dhcp-server
add address=192.168.0.7 comment=filiaal-t14-wifi mac-address=\
18:65:71:F4:2C:AC server=filiaal-dhcp-server
add address=192.168.0.8 comment=filiaal-t27hv mac-address=B4:0E:DE:53:50:6B \
server=filiaal-dhcp-server
add address=192.168.0.9 comment=kinetiek-t14 mac-address=8C:8C:AA:EA:FF:BB \
server=filiaal-dhcp-server
add address=192.168.0.10 comment=kinetiek-t14-wifi mac-address=\
E0:2B:E9:BB:FB:6B server=filiaal-dhcp-server
add address=192.168.0.11 comment=kinetiek-t27hv mac-address=18:65:71:F4:2C:2A \
server=filiaal-dhcp-server
add address=192.168.0.12 comment=galaxy-tab-s5e mac-address=A2:95:6A:B4:DF:8E \
server=filiaal-dhcp-server
add address=192.168.0.13 comment=galaxy-tab-s2 mac-address=E0:AA:96:74:C3:BA \
server=filiaal-dhcp-server
add address=192.168.0.14 comment=galaxy-tab-a10 mac-address=D4:E6:B7:3E:C0:59 \
server=filiaal-dhcp-server
add address=192.168.0.15 comment=galaxy-a52s mac-address=8E:78:06:6C:0A:E5 \
server=filiaal-dhcp-server
add address=192.168.0.16 comment=galaxy-a5 mac-address=1C:23:2C:36:F6:27 \
server=filiaal-dhcp-server
add address=192.168.0.17 comment=iphone-mike mac-address=58:1F:AA:31:FC:64 \
server=filiaal-dhcp-server
add address=192.168.0.20 comment=raspi-huiskamer mac-address=\
B8:27:EB:FA:0A:0A server=filiaal-dhcp-server
add address=192.168.0.21 comment=raspi-kinetiek-wire mac-address=\
B8:27:EB:7E:F1:5A server=filiaal-dhcp-server
add address=192.168.0.22 comment=raspi-filiaal-wire mac-address=\
B8:27:EB:65:92:ED server=filiaal-dhcp-server
add address=192.168.0.23 comment=raspi-slaap-wire mac-address=\
B8:27:EB:AE:10:2C server=filiaal-dhcp-server
add address=192.168.0.24 comment=raspi-zolder-wire mac-address=\
B8:27:EB:1F:7F:A7 server=filiaal-dhcp-server
add address=192.168.0.25 comment=raspi-keuken-wire mac-address=\
B8:27:EB:E3:5A:00 server=filiaal-dhcp-server
add address=192.168.0.26 comment=raspi-p1-mon mac-address=B8:27:EB:00:E4:A9 \
server=filiaal-dhcp-server
add address=192.168.0.30 comment=odroid-n2+ mac-address=00:1E:06:42:75:C1 \
server=filiaal-dhcp-server
add address=192.168.0.40 comment=netgear-gs116ev2 mac-address=\
3C:37:86:1B:42:3A server=filiaal-dhcp-server
add address=192.168.0.50 comment=sunny-boy mac-address=00:40:AD:AE:11:2C \
server=filiaal-dhcp-server
add address=192.168.0.51 comment=thermo-smart mac-address=00:1E:C0:3F:A5:FB \
server=filiaal-dhcp-server
add address=192.168.0.60 comment=hp-x476dw mac-address=58:20:B1:DF:58:18 \
server=filiaal-dhcp-server
/ip dhcp-server network
add address=192.168.0.0/24 dns-server=192.168.0.1,8.8.8.8 gateway=192.168.0.1 \
netmask=24
/ip dns
set allow-remote-requests=yes servers=1.1.1.1,1.0.0.1
/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" 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="defconf: drop all not coming from LAN" \
in-interface-list=!filiaal-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=filiaal-interface-list-wan
/ip firewall nat
add action=masquerade chain=srcnat comment="filiaal-conf: LAN-2-WAN" \
ipsec-policy=out,none out-interface-list=filiaal-interface-list-wan
add action=masquerade chain=srcnat comment=\
"filiaal-conf: hairpin for LAN-clients to LAN-servcies" dst-address=\
192.168.0.3 out-interface-list=filiaal-interface-list-lan protocol=tcp \
src-address=192.168.0.0/24
add action=dst-nat chain=dstnat comment=syno-ftp dst-address=my.ip.xxx.xxx \
dst-port=21 protocol=tcp to-addresses=192.168.0.3 to-ports=21
add action=dst-nat chain=dstnat comment=syno-smtp dst-address=my.ip.xxx.xxx \
dst-port=25 protocol=tcp to-addresses=192.168.0.3 to-ports=25
add action=dst-nat chain=dstnat comment=syno-http dst-address=my.ip.xxx.xxx \
dst-port=80 protocol=tcp to-addresses=192.168.0.3 to-ports=80
add action=dst-nat chain=dstnat comment=syno-http-ssl dst-address=\
my.ip.xxx.xxx dst-port=443 protocol=tcp to-addresses=192.168.0.3 to-ports=\
443
add action=dst-nat chain=dstnat comment=syno-smtp-tls dst-address=\
my.ip.xxx.xxx dst-port=587 protocol=tcp to-addresses=192.168.0.3 to-ports=\
587
add action=dst-nat chain=dstnat comment=syno-imap-ssl dst-address=\
my.ip.xxx.xxx dst-port=993 protocol=tcp to-addresses=192.168.0.3 to-ports=\
993
add action=dst-nat chain=dstnat comment=syno-bitwarden dst-address=\
my.ip.xxx.xxx dst-port=2021 protocol=tcp to-addresses=192.168.0.3 \
to-ports=2021
add action=dst-nat chain=dstnat comment=syno-audio-ssl dst-address=\
my.ip.xxx.xxx dst-port=6001 protocol=tcp to-addresses=192.168.0.3 \
to-ports=6001
add action=dst-nat chain=dstnat comment=syno-file-ssl dst-address=\
my.ip.xxx.xxx dst-port=7001 protocol=tcp to-addresses=192.168.0.3 \
to-ports=7001
add action=dst-nat chain=dstnat comment=syno-dwnld-ssl dst-address=\
my.ip.xxx.xxx dst-port=8001 protocol=tcp to-addresses=192.168.0.3 \
to-ports=8001
add action=dst-nat chain=dstnat comment=syno-torrent dst-address=my.ip.xxx.xxx \
dst-port=16881 protocol=tcp to-addresses=192.168.0.3 to-ports=16881
/ip service
set telnet disabled=yes
set ftp disabled=yes
set ssh disabled=yes
set api disabled=yes
set api-ssl disabled=yes
/system clock
set time-zone-name=Europe/Amsterdam
/system ntp client
set enabled=yes
/system ntp client servers
add address=1.nl.pool.ntp.org
add address=2.nl.pool.ntp.org
add address=2.europe.pool.ntp.org
add address=3.europe.pool.ntp.org
/system routerboard settings
set cpu-frequency=auto

 


@Herbert.M De verspringen zijn vanochtend weer terug, maar nu met het Ziggo modem.

Het zou dus toch kunnen dat de verspringen te maken hebben met RouterOS 7.3.1. Op welke versie zit jij? Had jij dit probleem ook op oudere RouterOS versies?

Ik heb al een bericht hierover geplaatst op het Mikrotik forum.

Sorry voor mijn late reactie, mijn versie is 6.49 Stable
Het verhaal van de lease time heb ik ook gelezen, ik heb hem op 23:59:00 gezet nu
Ik hou het even in de gaten en laat het nog wel weten hier.
Bedankt voor het delen!


@Herbert.M 
Na een aantal dagen was het probleem weer terug. Dit weekend mijn oude TP-Link router terug gezet en ook dan bleef het probleem. Dan lijkt het probleem NIET met de Mikrotik router of RouterOS versie te maken te hebben. Na lang zoeken vastgesteld dat de oorzaak ligt in een  VPN-client op mijn Synology die elke 3 minuten de verbinding verliest/hersteld. Ongeveer 10 seconden na het verlies/herstel van de VPN-verbinding springt de muziek naar het volgende nummer. Dat komt omdat MoOde audio de muziek buffert: blijkbaar bevat deze buffer ~10 seconden muziek.

De haperende VPN-Client connectie werd veroorzaakt door fouten in de OVPN-files van ProtoVPN. Na aanpassing van de OVPN-files is de verbinding stabiel en blijft de muziek draaien. 😀
Dat een haperende VPN-client invloed heeft op de connectie tussen de Synology en mijn RaspberryPi’s gaat mij even boven mijn pet.