<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Ibai's Blog]]></title><description><![CDATA[I write about ideas, tutorials and thoughts.]]></description><link>https://blog.ibai.dev/</link><image><url>https://blog.ibai.dev/favicon.png</url><title>Ibai&apos;s Blog</title><link>https://blog.ibai.dev/</link></image><generator>Ghost 5.9</generator><lastBuildDate>Mon, 20 Apr 2026 00:56:07 GMT</lastBuildDate><atom:link href="https://blog.ibai.dev/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[UniFi Dream Machine Pro + Vodafone NEBA]]></title><description><![CDATA[<p>So it all started when I decided to change my ISP provided router for a more advanced and complete one, preferably having the router and access points separated in different devices. My ISP is Vodafone Spain and I get FTTH using NEBA, indirect fiber.</p><p>I remembered watching some videos about</p>]]></description><link>https://blog.ibai.dev/unifi-dream-machine-pro-vodafone-neba/</link><guid isPermaLink="false">613e6464b80355000177c07c</guid><pubDate>Sun, 12 Sep 2021 20:36:09 GMT</pubDate><media:content url="https://blog.ibai.dev/content/images/2021/09/Sin-t-tulo-3-2.png" medium="image"/><content:encoded><![CDATA[<img src="https://blog.ibai.dev/content/images/2021/09/Sin-t-tulo-3-2.png" alt="UniFi Dream Machine Pro + Vodafone NEBA"><p>So it all started when I decided to change my ISP provided router for a more advanced and complete one, preferably having the router and access points separated in different devices. My ISP is Vodafone Spain and I get FTTH using NEBA, indirect fiber.</p><p>I remembered watching some videos about UniFi access points some time ago from <a href="https://www.youtube.com/user/LinusTechTips">Linus Tech Tips</a> and a few others, so I checked out Ubiquiti&apos;s store. I immediately saw the Dream Machine Pro and Dream Machine, but after a quick comparison between both, I decided to go with the Dream Machine Pro. The main reason being that the Dream Machine Pro has a superior throughput with IPS/IDS enabled;<strong> 3.5 Gbps</strong> according to their webpage. Be aware that this <a href="https://community.ui.com/questions/ETA-on-bugfix-for-UDM-Pro-bad-PPPoE-performance/9119aa98-412f-41c7-9188-a30036c2e4c2">might not be true</a> when using <strong>PPPoE</strong>.</p><p>Once I decided to go with the Dream Machine Pro I needed the access point(s), and finally chose the <strong>U6-Lite</strong>, because I have some WiFi 6 devices and it has better speeds overall. I also had to buy a PoE injector.</p><h2 id="setup">Setup</h2><p>Everything arrived, I plugged the Dream Machine Pro into an ethernet port in the Vodafone provided Sercomm H-500S router and started the setup. I saw some videos and posts where people claimed having problems through the initial setup, but it went all smoothly for me.</p><h2 id="replacing-the-vodafone-router">Replacing the Vodafone Router</h2><p>Now it was time to replace the Vodafone router. To do so you need your PPPoE credentials and <a href="https://wiki.bandaancha.st/Identificadores_VLAN_operadores_FTTH">VLAN details</a>. You can check the post I followed to obtain the credentials from the Sercomm H-500s <a href="https://bandaancha.eu/articulos/conseguir-admin-router-sercomm-h500-s-9602">here</a>. In my case, Vodafone uses VLAN <strong>24 </strong>for everything: Internet, VoIP, and IPTV.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.ibai.dev/content/images/2021/09/WAN.jpg" class="kg-image" alt="UniFi Dream Machine Pro + Vodafone NEBA" loading="lazy" width="962" height="771" srcset="https://blog.ibai.dev/content/images/size/w600/2021/09/WAN.jpg 600w, https://blog.ibai.dev/content/images/2021/09/WAN.jpg 962w" sizes="(min-width: 720px) 720px"><figcaption>WAN configuration</figcaption></figure><p>At this point, I already had internet connection with only the Dream Machine Pro on my LAN with IP range <strong>10.69.1.1/24</strong>, so I was really happy.</p><h2 id="voip">VoIP</h2><p>In order to get VoIP working, I just plugged in an ethernet cable from a LAN port in the Dream Machine Pro to the WAN port in the Vodafone router.</p><h2 id="iptv">IPTV</h2><p>Now, the difficult part: getting IPTV to work. I tried everything: plugging the IPTV deco to the Dream Machine Pro and to the Vodafone router. I could only use apps like Netflix or HBO, but no luck getting channels to work.</p><h3 id="multicast">Multicast</h3><p>After some research and help, I found that Neba IPTV is served from a separated multicast network, without PPPoE. That was a problem. The Dream Machine Pro did not support it. However, I was lucky enough to find that the beta kernel version <a href="https://community.ui.com/releases/UniFi-OS-Dream-Machines-1-11-0-14/71916646-d8f6-41c0-b145-2fbe2db7c278">1.11.0-14</a> did support multicast. It was a beta version, but I installed it anyway.</p><h3 id="igmp-proxy">IGMP Proxy</h3><p>Having multicast did not fix the whole problem though. I needed a proxy such as IGMP-proxy to pass that multicast traffic to the Vodafone deco, and I found a <a href="https://github.com/fabianishere/udm-kernel-tools/blob/master/docs/iptv.md">GitHub repo</a> that was what I was looking for. It had a few requirements:</p><ul><li>Having a compatible kernel version.</li><li>Having UDM <a href="https://github.com/boostchicken/udm-utilities/tree/master/on-boot-script">on_boot_script</a>.</li></ul><p>UDM on_boot_script is a utility that allows you to execute scripts when the Dream Machine Pro (re)starts. To install it you can follow the guide <a href="https://github.com/boostchicken/udm-utilities/tree/master/on-boot-script">here</a>.</p><p>With those requirements fulfilled, there are a few other changes that need to be done.</p><h3 id="creating-a-lan">Creating a LAN</h3><p>First of all, we need to create a separate LAN for the Vodafone deco. It is very important to have <strong>192.168.0.1/24</strong> as IP range and <strong>212.166.210.80</strong> / <strong>212.166.132/104</strong> as DNS. We also need to give it a VLAN (300 in my case, you can choose anything), add TIVO as the domain name, and enable both IGMP snooping and UPnP LAN.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.ibai.dev/content/images/2021/09/LAN-IPTV.jpg" class="kg-image" alt="UniFi Dream Machine Pro + Vodafone NEBA" loading="lazy" width="878" height="881" srcset="https://blog.ibai.dev/content/images/size/w600/2021/09/LAN-IPTV.jpg 600w, https://blog.ibai.dev/content/images/2021/09/LAN-IPTV.jpg 878w" sizes="(min-width: 720px) 720px"><figcaption>TV LAN Configuration</figcaption></figure><h3 id="static-routes">Static routes</h3><p>I also created the static routes I found on the Vodafone router, but I am not sure it is 100% required.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.ibai.dev/content/images/2021/09/image.png" class="kg-image" alt="UniFi Dream Machine Pro + Vodafone NEBA" loading="lazy" width="955" height="278" srcset="https://blog.ibai.dev/content/images/size/w600/2021/09/image.png 600w, https://blog.ibai.dev/content/images/2021/09/image.png 955w" sizes="(min-width: 720px) 720px"><figcaption>Static routes</figcaption></figure><h3 id="udm-iptv">UDM-IPTV</h3><p>Now with all the requirements fulfilled, it was time to <a href="https://github.com/fabianishere/udm-kernel-tools/blob/master/docs/iptv.md#configuring-udm-iptv">configure the udm-iptv container</a>. You can find the script at <code>/mnt/data/on_boot.d/15-iptv.sh</code> if you followed the GitHub readme.</p><p>My configuration is the following:</p><!--kg-card-begin: markdown--><pre><code>IPTV_WAN_INTERFACE=&quot;eth8.24&quot;
IPTV_WAN_RANGES=&quot;0.0.0.0/0&quot;
IPTV_WAN_VLAN=&quot;0&quot;
IPTV_WAN_DHCP_OPTIONS=&quot;-O staticroutes -V IPTV_RG&quot;
IPTV_LAN_INTERFACES=&quot;br300&quot;
IPTV_LAN_RANGES=&quot;192.168.0.1/24&quot;

if podman container exists iptv; then
  podman rm -f iptv
fi
podman run --network=host --privileged \
    --name iptv -i -d --restart always \
    -e IPTV_WAN_INTERFACE=&quot;$IPTV_WAN_INTERFACE&quot; \
    -e IPTV_WAN_RANGES=&quot;$IPTV_WAN_RANGES&quot; \
    -e IPTV_WAN_VLAN=&quot;$IPTV_WAN_VLAN&quot; \
    -e IPTV_WAN_DHCP_OPTIONS=&quot;$IPTV_WAN_DHCP_OPTIONS&quot; \
    -e IPTV_LAN_INTERFACES=&quot;$IPTV_LAN_INTERFACES&quot; \
    -e IPTV_LAN_RANGES=&quot;$IPTV_LAN_RANGES&quot; \
    fabianishere/udm-iptv
</code></pre>
<!--kg-card-end: markdown--><p><strong>IPTV_WAN_INTERFACE </strong>is the name of the WAN interface + the VLAN. <strong>eth8.X</strong> in case you are using the ethernet wan port, or <strong>eth9.X</strong> in case you are using the SFP+ port.</p><p><strong>IPTV_LAN_INTERFACES </strong>is the interface we created for the TV. <strong>br300 </strong>in my case, but you can check yours using <code>ip a</code> in ssh and finding the interface with the network range we assigned.</p><p>Time to enjoy the TV, right? Well... no. If you execute the script you will notice that it does not work, and if you read the container logs you will see something like this:</p><figure class="kg-card kg-code-card"><pre><code>udm-iptv: Obtaining IP address for VLAN interface...
ip: RTNETLINK answers: File exists
run-parts: /etc/network/if-pre-up.d/vlan: exit status 2
udm-iptv: NATing IPTV network ranges (if necessary)...
udm-iptv: Setting up igmpproxy..
udm-iptv: Starting igmpproxy..
adding VIF, Ix 0 Fl 0x0 IP 0x0101450a br0, Threshold: 1, Ratelimit: 0
There must be at least 1 Vif as upstream.</code></pre><figcaption>udm-iptv error</figcaption></figure><p>This is happening because we are binding to eth8.24, but since we are using PPPoE, it does not have an IP, the IP is assigned to <strong>ppp0</strong>. However, we can not bind the proxy to ppp0, so what can we do? Well, this is a bit hacky and it has its own problems, but we can set an IP to eth8.24 using <code>ip addr add 192.168.200.1 dev eth8.24</code>. Eureka! We can now enjoy Internet, VoIP, and IPTV with a Dream Machine Pro!</p><h2 id="it-works-until">It works! Until...</h2><p>However, as I mentioned, adding an IP to eth8.24 using <code>ip a</code> has a problem: Every time you connect to the web interface of the Dream Machine Pro or it restarts, it will re-provision and it will lose the IP. To partially solve this I created another script at <code>/mnt/data/on_boot.d/14-iptv-wan.sh</code> with the command, so that at least when I restart I do not have to assign the IP again. I guess a cron job could be created with the command to fully solve this but I have not tested it myself.</p><h2 id="final-thoughts">Final thoughts</h2><p>And this is it, this is how I managed to get everything working. I would like to give special thanks to <a href="https://github.com/fabianishere">https://github.com/fabianishere</a> for the help with the IPTV part, apart from creating the image he was super helpful with issues I encountered.</p><p>Please let me know if you have any questions, comments, or suggestions. Feel free to contact me at:</p><ul><li><a href="https://twitter.com/lllibailll">Twitter</a></li><li><a href="https://t.me/lllibailll">Telegram</a></li><li>ibai@ibai.dev</li></ul>]]></content:encoded></item></channel></rss>