Waoo TV med en USG (Unifi Security Gateway)

Jeg flyttede i hus med kæresten og fik os en 300/300 Mbit/s forbindelse ved EnergiMidt, som i dag hedder Eniig.

Dertil skulle vi selvfølgelig også have os noget TV igennem denne hurtige forbindelse, og da alt udstyr ankom, og jeg satte alt til, opdagede jeg at deres TV boks (Airties 7410x) ikke virkede med min USG.

Man kunne fint se programoversigten, men ellers var der bare sort skærm.

Opsætning

FiberModem (Den standart fra Eniig) -> USG -> Switch -> Airties 7410x

Den switch jeg har, er bare en billig 1G D-Link Switch (Det er dog vigtigt at den understøtter multicast, men det gør de fleste)

USG Opsætning

Først og fremmest skal du vide disse ting:

  1. Hvilken IP adresse din USG har (min hedder 192.168.2.1)
  2. Hvad hedder dine interfaces (eth0, eth1 …) og hvad de bliver brugt til.
    1. Hos mig hedder de eth0 (internet) og eth1 (lokal) – altså er eth0 sat til modem, og eth1 sat til switch
  3. Hvilken controller du bruger – jeg bruger bare min stationær med Unifis eget software
  4. Hvilken IP Adresse din TV boks har fået (min hedder 192.168.2.30)

IGMP (Internet Group Management Protocol) Proxy (Dette er det svære trin)

Vi skal have sat en IGMP Proxy op på USGen – dette gør at dine “dimser” må tilmelde sig en multicast gruppe på nettet.

Opsætningen skal udføres således:

  1. Opret en fil på din controller (Jeg bruger windows her – men søg på Ubiquitis side, om hvordan man opretter denne fil på andre controllere)
    C:\Users\BRUGERNAVN\Ubiquiti UniFi\data\sites\defaultFilen skal hedde “config.gateway.json” og indeholde nedenstående json.
{
“protocols”: {
“igmp-proxy”: {
“interface”: {
“eth0”: {
“alt-subnet”: [ “0.0.0.0/0” ],
“role”: “upstream”,
“threshold”: “1”
},
“eth1”: {
“alt-subnet”: [ “0.0.0.0/0” ],
“role”: “downstream”,
“threshold”: “1”
}
}
}
}

}

Her er det vigtigt at du ændre dine interfaces til hvad der passer til din USG, altså eth0 var forbundet til internettet, og eth1 er til lokal switch.

Når du har gjort dette, gemmer du filen og genstarter USG’en.

Firewall regler

Så skal vi have sat firewall regler op:

  1. Lav en ny gruppe under Firewall -> Grupper -> Opret ny gruppe
  2. Skriv et navn (dette er lige meget)
  3. Tilføj adresserne: 88.83.72.0/24 og 88.83.68.0/24
  4. Gem

Opret firewall regel

Under regler:

  1. WAN IND: Opret ny regl:
  2. navn: allow multicast in
  3. Godkend
  4. UDP
  5. KILDE: (Din nye gruppe)
  6. Destination: (Ingenting)

  1. WAN LOKAL: Opret ny regel:
  2. navn: allow IGMP
  3. Godkend
  4. vælg protokol efter navn: IGMP
  5. Intet andet – lad resten stå

Nu kan du se TV via din Waoo TV boks!!

Tjek her om det er muligt at se TV på din Airties boks – Hvis ikke så smid gerne en linje i kommentarfeltet, eller gennemgå guiden igen.

Nu skal vi have pause og start forfra til at virke

  1. Opret en SSH forbindelse til din USG
    1. Hvis du ved hvordan man opretter en SSH forbindelse – hop til punkt 7
  2. Download Putty her
  3. Skriv din routers IP adresse (min var 192.168.2.1)
  4. Tryk “Open”
  5. login as: admin
  6. password: (Dette er en adgangskode du selv har valgt – det er samme adgangskode du skal bruge til USG’ens WebInterface, altså http://192.168.2.1)
  7. Skriv: sudo modprobe nf_nat_rtsp
  8. Undersøg om det lykkedes: lsmod | grep rtsp

Linje 7 installerer en driver på din USG, og linje 8 viser at det lykkedes.

Nu skal vi have pause og start forfra til at virke – også efter reboot

  1. Opret en SSH forbindelse til din USG
    1. Hvis du ved eller allerede har oprettet en SSH forbindelse – hop til punkt 7
  2. Download Putty her
  3. Skriv din routers IP adresse (min var 192.168.2.1)
  4. Tryk “Open”
  5. login as: admin
  6. password: (Dette er en adgangskode du selv har valgt – det er samme adgangskode du skal bruge til USG’ens WebInterface, altså http://192.168.2.1)
  7. Skriv følgende:

sudo su # Så du bliver Super User

mkdir /config/scripts/pre-config.d #Opret en mappe

vi /config/scripts/pre-config.d/load_nat_rtsp_module.sh #Opret og rediger filen load_nat_rtsp_module.sh

(Tryk “i” for at kunne skrive)

modprobe nf_nat_rtsp #Skriv dette i filen

(Tryk ESC, skriv: “:wq”) – W = write, Q = quit

chmod +x /config/scripts/pre-config.d/load_nat_rtsp_module.sh

reboot #Tryk “y” når den spørger om du er sikker

Når den så er bootet op igen, lav en SSH forbindelse til den og skriv: lsmod | grep nf_nat_rtsp (Får du et output, har det virket)

Skriv endelig en kommentar om den ovenstående guide virker – jeg prøvede mig bare frem, og søgte på nettet her og der indtil jeg fandt ud af hvordan opsætningen skulle være.

Det er også derfor jeg skriver denne guide, da der ikke er ret meget hjælp, hverken ved Eniig/Waoo eller på deres support sider.

Mange tak til Morten, og resten af Ubiquiti Facebook Gruppe som har været meget behjælpelige med at debugge dette problem.
Lad os få alle USG’er derude til at virke med IPTV fra Waoo!!

14 thoughts to “Waoo TV med en USG (Unifi Security Gateway)”

  1. Hej,

    Jeg roder med samme problem stilling i Aura/Eniig område, dog kan jeg ikke få det til at virker ved blot disse steps.
    Waoo har leveret en 711 boks (modem only) med bridge med en public ip.
    Jeg har puttet flere IP’er i gruppen som jeg kender fra tidligere og har fundet i forums rundt om, også uden held.

    TV-Boksene starter fint op og menu og info kommer men der er sort skærm og ingen lyd.

    USG interface config:
    {
    “interfaces”: {
    “ethernet”: {
    “eth0”: {
    “address”: [
    “dhcp”
    ],
    “description”: “WAN”,
    “dhcp-options”: {
    “client-option”: [
    “retry 60;”
    ],
    “default-route”: “update”,
    “default-route-distance”: “1”,
    “name-server”: “update”
    },
    “duplex”: “auto”,
    “firewall”: {
    “in”: {
    “ipv6-name”: “WANv6_IN”,
    “name”: “WAN_IN”
    },
    “local”: {
    “ipv6-name”: “WANv6_LOCAL”,
    “name”: “WAN_LOCAL”
    },
    “out”: {
    “ipv6-name”: “WANv6_OUT”,
    “name”: “WAN_OUT”
    }
    },
    “speed”: “auto”
    },
    “eth1”: {
    “address”: [
    “10.10.10.1/24”
    ],
    “description”: “LAN”,
    “duplex”: “auto”,
    “firewall”: {
    “in”: {
    “ipv6-name”: “LANv6_IN”,
    “name”: “LAN_IN”
    },
    “local”: {
    “ipv6-name”: “LANv6_LOCAL”,
    “name”: “LAN_LOCAL”
    },
    “out”: {
    “ipv6-name”: “LANv6_OUT”,
    “name”: “LAN_OUT”
    }
    },
    “speed”: “auto”
    }
    },
    “loopback”: {
    “lo”: “””
    }
    },
    “port-forward”: {
    “auto-firewall”: “disable”,
    “hairpin-nat”: “enable”,
    “lan-interface”: [
    “eth1”
    ],
    “wan-interface”: “eth0”
    }
    }

    med følgende config i config.gateway.json:
    {
    “protocols”: {
    “igmp-proxy”: {
    “interface”: {
    “eth0”: {
    “alt-subnet”: [
    “0.0.0.0/0”
    ],
    “role”: “downstream”,
    “threshold”: “1”
    },
    “eth1”: {
    “alt-subnet”: [
    “0.0.0.0/0”
    ],
    “role”: “upstream”,
    “threshold”: “1”
    }
    }
    }
    }
    }

    Sat gui config af firewall som ser således ud:
    {
    “firewall”: {
    “group”: {
    “5b24d06a3841be04df3ce02d”: {
    “address”: [
    “88.83.68.0/24”,
    “88.83.72.0/24”,
    “87.104.240.0/20”,
    “87.104.67.0/24”,
    “224.0.0.0/4”
    ],
    “description”: “customized-FiberTV”
    }
    }
    },
    “name”: {
    “WAN_IN”: {
    “default-action”: “drop”,
    “description”: “packets from internet to intranet”,
    “rule”: {
    “2000”: {
    “action”: “accept”,
    “description”: “MulticastFiberTV”,
    “protocol”: “udp”,
    “source”: {
    “group”: {
    “address-group”: “5b24d06a3841be04df3ce02d”
    }
    }
    }
    }
    },
    “WAN_LOCAL”: {
    “rule”: {
    “2001”: {
    “action”: “accept”,
    “description”: “AllowIGMP”,
    “icmp”: {
    “type-name”: “any”
    },
    “protocol”: “icmp”
    }
    }
    }
    },
    “protocols”: {
    “igmp-proxy”: {
    “interface”: {
    “eth0”: {
    “alt-subnet”: [
    “0.0.0.0/0”
    ],
    “role”: “upstream”,
    “threshold”: “1”
    },
    “eth1”: {
    “role”: “downstream”,
    “threshold”: “1”
    }
    }
    }
    }
    }

  2. Hej Mark, og mange tak for dit spørgsmål.

    Jeg kan se at i din config.gateway.json fil, har du byttet om på upstream og downstream.
    Du har sat eth0 til at være downstream, og eth1 til at være upstream (er det med vilje?)

    Hvis du har en USG, hvor portene er WAN, LAN og LAN2/VOIP (og en sidste console port også)
    Så tror jeg du skal bytte om på downstream og upstream i din fil.

    Du kan tjekke hvilken en der er forbundet til internettet, og hvilken en der er din LAN ved at SSH til din USG og skrive “sudo ifconfig”

    Så får du noget det minder om dette:


    eth0 Link encap:Ethernet HWaddr f0:9f:c2:c4:xx:xx
    inet addr:192.168.1.182 Bcast:192.168.1.255 Mask:255.255.255.0
    ...
    eth1 Link encap:Ethernet HWaddr f0:9f:c2:c4:xx:xx
    inet addr:192.168.2.1 Bcast:192.168.2.255 Mask:255.255.255.0
    ...

    Ovenstående er min egen router, og der kan jeg se at eth0 er forbundet (bag NAT) til en anden router (som mer Waoos router)
    Dette er dog IKKE nødvendig for at få Waoo TV til at virke.

    Husk på at du laver en IGMP-PROXY, så dine lokale devices kan få lov til at “snakke” IGMP ud igennem routeren – derfor skal interfacet (eth0) have upstream.

    Skriv endelig igen hvis dette ikke virker, eller bare virker 🙂 – Hvis ikke, så debugger vi bare videre.

  3. Hej Dan.
    Tak for din fine guide, der satte mig i gang (inde fra Facebook gruppen).
    Jeg fandt, at man kan få “Start Forfra” og “Pause” til at virke, ved at logge ind på USG CLi og køre følgende kommando:

    sudo modprobe nf_nat_rtsp

    Man får ikke nogen lykkedsbesked eller lign, men man kan efterfølgende køre denne kommando, og tjekke om der sker noget:

    lsmod | grep rtsp

    Kører man sidstnævnte først, viser den intet.
    Desværre skal man køre modprobe kommandoen igen efter reboot, men måske man kan finde en måde at få den til at starte selv.. hvilket dog ikke er lykkedes for mig.

    Mvh,
    Morten

  4. Tror du skrev forkert, da du skrev, at dit eth0 var lokal og eth1 var dit internet. Det er default omvendt, og din json fil er også omvendt af det du skriver 🙂

    “Her er det vigtigt at du ændre dine interfaces til hvad der passer til din USG, altså eth0 var min lokal, og eth1 er til internet.”

  5. Hej Dan. Spændende at du fik “autostart” med også. Jeg har ikke haft den genstartet endnu, men mens jeg fulgte din guide, så fandt jeg en fejl 🙂
    Under 7 3. linie laver vi filen “load_nat_rtsp_module.sh”
    mens vi med chmod laver filen “load_nat_rtsp.sh” eksekverbar… dvs du lige har fjernet “module” fra navnet undervejs
    Mvh

  6. Ja det er da en fejl.. – Det gik vidst lidt for stærkt 🙂
    Det skulle gerne være rettet nu, tak for dine skarpe øjne.

  7. Hehe, var mere fordi jeg fik en fejl da jeg kopierede dine kommandoer 😉 Kan i øvrigt anbefale xshell fra netsarang.com der er gratis til hjemmebrug. Der kan man copy, paste og en del andre rare ting når man SSHr til sager. Gratis til hjem og skolebrug.
    Jeg har efterhånden fået Unifi Controller + mFi controller og Unifi video til at køre på min Synology i Docker nu 🙂

  8. Hej,

    Min waoo fiber boks har adskilt internet og tv porte, hvordan skal selve kabelingen fortages; Har set andre guides hvor de Kabler TV porten fra Waoo til WAN2 på USG’n?

  9. Forresten så er det en Icotera i5800 fiberboks og som det står i deres vejledning:
    `LAN porte/Port 1, 2, 3 og 4: I disse 4 porte tilsluttes
    netværksudstyr, fx computer og TV bokse. Port 1 anvendes til
    internet. Port 2, 3 og 4 anvendes til TV. `

  10. Hey Kristian. Er du inde i Ubiquiti fb gruppen?
    Icotera er en router, som skiller tingene op. Kører du det gennem USG også, så kan du få problemer med dobbelt_nat mv.
    Måske du kan bibeholde særskilt kabling over til dit tv? Det ville jeg gøre, hvis det var mig, og så køre der uden om USG, da USG ikke er 100% glad for det.
    Kan så sætte USG i bridge mode fra wan1 til lan1 så du stadig kan få alle de fine data mv.

    Alternativt kan du kontakte din isp for at skille dig af med icotera.
    Jeg har nogle gange fået Eniig til at skifte den samlede icotera ud med en fiberboks, så der bare er fiber ind i boksen, og rj45 ud til USG/anden router.

  11. Hej igen,

    Beklager mit sene svar, jeg blev optaget og så videre på sommerferie og er først hjemme nu og roder igen med det.

    Jeg har følgende port opstilling fra venstre mod højre:
    [CONSOL] | [WAN1] | [LAN1] | [WAN2/LAN2]

    og det er således:

    CONSOL (rs232)
    WAN1 (eth0) (waoo aura 711 bridge)
    LAN1 (eth1) (US-24-500)
    WAN2/LAN2 (eth2)

    Men havde nok byttet om pga. af ombytningen BETRUE3D nævner… for du har ret i dit svar til mig (som det er i min config er eth0 = WAN1 = Waoo 711 Modem og eth1 = LAN1 = SWITCH

    Så jeg prøver imorgen at bytte om, og vender tilbage med svar.

    Takker.

  12. Hej igen,

    Jeg har afprøvet det nu, og fået det til at virke… den fejl 40 havde fået ICMP allow istedet for IGMP.

    Dog har jeg 2 problemer
    1) kanalers stream kvalitet så der sker pixeleringer hele tiden
    2) preload af rtsp script fejler

    Dette er setup’et:
    Aura 711 ->
    USG ->
    US-24-250W >
    US-8 (Port20) >
    UAP-AC-LR (Port8)
    UAP-AC-LR (Port 21)
    UAP-AC-LR (Port 22)
    US-8 (Port23) >
    AirTies 7410 (Port2)
    AirTies 7410 (Port3)
    AirTies 7410 (Port4)
    AirTies 7410 (Port5)
    AirTies 7210 (Port6)

    Kører i 1 vlan og 1 subnet 192.168.1.0/24 med rigtig public IP på WAN siden (85.191.x.x)

    Har du nogle ide’er ?

  13. Mit er også pixeleret en del af tiden, og preload af script virker heller ikke hos mig desværre. Havde tænkt mig at tage det med pixelering op i facebook gruppen

Leave a Reply