<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>webcodr</title>
    <link>https://webcodr.io/series/edgerouter--telekom-vdsl/</link>
    <description>Recent content on webcodr</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Wed, 28 Feb 2018 18:00:00 +0100</lastBuildDate>
    <atom:link href="https://webcodr.io/series/edgerouter--telekom-vdsl/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>Telekom VDSL MTU und MSS Clamping für IPv4 und IPv6</title>
      <link>https://webcodr.io/2018/02/telekom-vdsl-mtu-und-mss-clamping-f%C3%BCr-ipv4-und-ipv6/</link>
      <pubDate>Wed, 28 Feb 2018 18:00:00 +0100</pubDate>
      <guid>https://webcodr.io/2018/02/telekom-vdsl-mtu-und-mss-clamping-f%C3%BCr-ipv4-und-ipv6/</guid>
      <description>To English Version
Wer schon mal in die USA geflogen ist, kennt sicher das Electronic System for Travel Authorization (ESTA). Jeder Fluggast, der in die USA einreist, dort umsteigt oder sie sogar nur überfliegt, muss sich dort anmelden und eine Erlaubnis einholen. Dieser Spaß kostet 14 US-Dollar und wird via pay.gov bezahlt.
Als ich letztes Jahr für eine Reise in die USA einen ESTA-Antrag gestellt habe, war pay.gov für mich über die Telekom nicht erreichbar. Via Mobilfunk ging es merkwürdigerweise problemlos, also lag für mich das Problem bei der Telekom. Ein kurzer Austausch mit @telekom_hilft bei Twitter brachte leider keine Besserung, da der Zugriff auf pay.gov für den Support-Mitarbeiter einwandfrei funktionierte.
</description>
      <content:encoded><![CDATA[<p><a href="#summary-in-english">To English Version</a></p>
<p>Wer schon mal in die USA geflogen ist, kennt sicher das Electronic System for Travel Authorization (ESTA). Jeder Fluggast, der in die USA einreist, dort umsteigt oder sie sogar nur überfliegt, muss sich dort anmelden und eine Erlaubnis einholen. Dieser Spaß kostet 14 US-Dollar und wird via <code>pay.gov</code> bezahlt.</p>
<p>Als ich letztes Jahr für eine Reise in die USA einen ESTA-Antrag gestellt habe, war <code>pay.gov</code> für mich über die Telekom nicht erreichbar. Via Mobilfunk ging es merkwürdigerweise problemlos, also lag für mich das Problem bei der Telekom. Ein kurzer Austausch mit @telekom_hilft bei Twitter brachte leider keine Besserung, da der Zugriff auf <code>pay.gov</code> für den Support-Mitarbeiter einwandfrei funktionierte.</p>
<p>Ich hatte das Problem nicht groß weiter verfolgt, aber immer wieder mal ausprobiert, ob die Seite erreichbar ist. Bisher war das nie der Fall und es hat mich dann in den letzten Tagen der Ehrgeiz gepackt, endlich die Ursache zu finden.</p>
<p>Nach ein paar Google-Recherchen stand schnell fest, dass die Probleme nur mit IPv6 auftreten. Über IPv4 ging alles einwandfrei. IPv6 kam für mich als Ursache nicht in Frage, weil die DNS-Einträge für <code>pay.gov</code> keinen AAAA Resource Record aufweisen. Da man im Browser den Request nicht im Inspector verfolgen kann, weil die Verbindung bzw. der TLS Handshake gar nicht erst aufgebaut werden konnten, musste Wireshark ran.</p>
<p>Siehe da, der Zugriff erfolgt über IPv6 und die Pakete von <code>pay.gov</code> werden verworfen, weil sie ungültig sind. Nach weiteren Google-Suchen stand fest, dass die Ursachen mit der Maximum Transfer Unit (MTU) bzw. der Maximum Segment Size (MSS) zusammenhängen können. Die MTU-Größe liegt bei DSL-Zugängen bei 1.492 Byte: maximale MTU-Größe abzüglich PPPoE-Header-Größe, also 1.500 Byte - 8 Byte. Zur Berechnung des Schwellenwertes für MSS Clamping, wird von der tatsächlichen MTU-Größe zusätzlich die maximale TCP/IP-Header-Größe abgezogen: 1.492 Byte - 40 Byte = 1.452 Byte</p>
<p>Ich hatte daher die MTU- und MSS-Werte im EdgeRouter überprüft und sie waren in Ordnung. Nach weiteren Recherchen war klar, dass der EdgeRouter den Wert für MSS Clamping standardmäßig nur für IPv4 einstellt, da der Wert für IPv6 separat eingestellt werden muss. Gesagt, getan. Und? Nichts, der Verbindungsaufbau misslingt nach wie vor.</p>
<p>Blöderweise hatte ich vergessen, dass TCP/IPv6-Header eine maximale Länge von 60 Byte haben können und daher die MSS auf 1.432 Byte gestellt werden muss. Kaum war das erledigt, ließ sich <code>pay.gov</code> problemlos aufrufen.</p>
<p>Dieses Problem betrifft offenbar alle Seiten der US-Regierung unter der TLD <code>.gov</code>, kann aber auch bei anderen Websites auftreten. Es muss nicht zwangsläufig zum Totalausfall führen, da ein Client via ICMP mitteilen kann, dass der Server die Pakete weiter fragmentieren soll. In diesem konkreten Fall funktioniert das aber nicht korrekt, weil die Infrastruktur von <code>pay.gov</code> jegliche ICMP-Pakete ignoriert. Solche Maßnahmen werden oft getroffen, um kritische Systeme vor DDoS-Attacken zu schützen.</p>
<p>MSS Clamping ist eine Art Hack, um dieses Problem anderweitig zu lösen. Paket-Header werden bei der Verarbeitung im Router entsprechend angepasst und so dem Server mitgeteilt, dass er bitte kleinere Pakete als Antwort schicken soll.</p>
<p>So sehr ich die Motivation verstehe, ICMP-Pakete aus Sicherheitsgründen abzuweisen, ist es in diesem Fall eine ungünstige Entscheidung, da IPv6 für seine Funktionen wesentlich stärker von ICMP abhängig ist, als es IPv4 je war.</p>
<h2 id="tldr"><a href="#tldr" class="heading-anchor">TL;DR</a></h2>
<p>Sollte jemand merkwürdige Probleme mit nicht aufrufbaren Websites haben oder immer wieder bestimmte Seiten beim ersten Laden sehr lange brauchen, z.B. weil der TLS-Handshake ungewöhnlich viel Zeit beansprucht, kann MSS Clamping Abhilfe schaffen.</p>
<p>Für IPv4 sollte es der EdgeRouter bereits richtig einstellen. Für IPv6 lässt es sich, wie üblich, nur via CLI konfigurieren:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl"><span class="nb">set</span> firewall options mss-clamp6 interface-type pppoe
</span></span><span class="line"><span class="cl"><span class="nb">set</span> firewall options mss-clamp6 mss <span class="m">1432</span>
</span></span></code></pre></div><p>Für IPv4 sollte es so aussehen:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl">ubnt@ubnt# show firewall options mss-clamp
</span></span><span class="line"><span class="cl"> interface-type pppoe
</span></span><span class="line"><span class="cl"> mss <span class="m">1452</span>
</span></span></code></pre></div><p>Statt des Interface Types <code>pppoe</code> kann auch <code>all</code> aktiv sein, das betrifft neben PPPoE dann z.B. auch relevante VPN-Protokolle.</p>
<p>Commit und speichern, Problem gelöst.</p>
<p><strong>Hinweis:</strong> Die MSS-Werte beziehen sich nur auf DSL-Verbindungen. Bei allen anderen Verbindungstypen, die kein PPPoE nutzen (z.B. Kabel), muss man die 8 Byte für den PPPoE-Header nicht abziehen und kommt auf 1.460 bzw. 1.440 Byte.</p>
<h2 id="summary-in-english"><a href="#summary-in-english" class="heading-anchor">Summary in English</a></h2>
<p>Do you have strange loading problems with certain websites? They do not work at all or the first request takes a long time? Then consider MSS Clamping as a possible solution.</p>
<p>In my case, <code>pay.gov</code> was impossible to reach via IPv6. If the server sends too big packets, your system can&rsquo;t process them correctly. Wireshark will help you to detect such faulty packets.</p>
<p>MSS clamping will alter the packet headers within your router to tell the server the max allowed packet size without the usage of ICMP. It&rsquo;s kind of a hack, but it works fine and is sometimes the only solution, if the server blocks ICMP, as US government websites do.</p>
<p>In case of IPv4, the EdgeRouter&rsquo;s wizards did already all the work for you or you can use the MSS clamping GUI wizard after a manual configuration. Unfortunately and as always, there are no ways to configure any IPv6 features via the GUI. You have to rely on the CLI instead:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl"><span class="nb">set</span> firewall options mss-clamp6 interface-type pppoe
</span></span><span class="line"><span class="cl"><span class="nb">set</span> firewall options mss-clamp6 mss <span class="m">1432</span>
</span></span></code></pre></div><p>Your IPv4 MSS clamping config should look like this:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl">ubnt@ubnt# show firewall options mss-clamp
</span></span><span class="line"><span class="cl"> interface-type pppoe
</span></span><span class="line"><span class="cl"> mss <span class="m">1452</span>
</span></span></code></pre></div><p><strong>Beware:</strong> the above mentioned values are for DSL connections using PPPoE and are based on the following calculations:</p>
<ul>
<li><code>MTU</code>: 1,500 bytes - 8 bytes (max. allowed MTU size - PPPoE header size) = 1,492 bytes</li>
<li><code>MSS</code>: 1,492 bytes (MTU value) - 40 bytes (TCP/IPv4 header size) or 60 bytes (TCP/IPv6 header size) = 1,452 bytes (IPv4) or 1,432 bytes (IPv6)</li>
</ul>
<p>For other connection types without PPPoE, you don&rsquo;t have to subtract the PPPoE header size. Cable connections should work fine with 1,460 bytes for IPv4 and respectively 1,440 bytes for IPv6.</p>
]]></content:encoded>
    </item>
    
    <item>
      <title>Interface monitoring with Wireshark on an EdgeRouter</title>
      <link>https://webcodr.io/2018/02/interface-monitoring-with-wireshark-on-an-edgerouter/</link>
      <pubDate>Sun, 18 Feb 2018 19:00:05 +0100</pubDate>
      <guid>https://webcodr.io/2018/02/interface-monitoring-with-wireshark-on-an-edgerouter/</guid>
      <description>Here is just a neat little trick to use Wireshark for monitoring interfaces on your EdgeRouter. This is incredibly useful for debugging purposes.
The following commands work on macOS or a Linux distribution only.
ssh user@edgerouter_ip &#39;sudo tcpdump -f -i eth0 -w -&#39; | wireshark -k -i - If you’re monitoring the interface with your SSH connection to the EdgeRouter, you may want to ignore traffic on port 22.
ssh user@edgerouter_ip &#39;sudo tcpdump -f -i eth1 -w - not port 22&#39; | wireshark -k -i - Update for Windows users
</description>
      <content:encoded><![CDATA[<p>Here is just a neat little trick to use Wireshark for monitoring interfaces on your EdgeRouter. This is incredibly useful for debugging purposes.</p>
<p>The following commands work on macOS or a Linux distribution only.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl">ssh user@edgerouter_ip <span class="s1">&#39;sudo tcpdump -f -i eth0 -w -&#39;</span> <span class="p">|</span> wireshark -k -i -
</span></span></code></pre></div><p>If you&rsquo;re monitoring the interface with your SSH connection to the EdgeRouter, you may want to ignore traffic on port 22.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl">ssh user@edgerouter_ip <span class="s1">&#39;sudo tcpdump -f -i eth1 -w - not port 22&#39;</span> <span class="p">|</span> wireshark -k -i -
</span></span></code></pre></div><p><em><strong>Update for Windows users</strong></em></p>
<p>After some fiddling around, I found a working solution for Windows 10 users. You just have to install the SSH client beta and Wireshark for Windows.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl">ssh user@edgerouter_ip <span class="s2">&#34;sudo tcpdump -f -i eth0 -w -&#34;</span> <span class="p">|</span> <span class="s2">&#34;C:\Program Files\Wireshark\Wireshark.exe&#34;</span> -k -i -
</span></span></code></pre></div><p>Troubleshooting advice:</p>
<ul>
<li>The Windows SSH client will only work on command shells with admin privileges.</li>
<li>Use only double quotes. The Windows command line doesn&rsquo;t like single quotes as well as a shell on unixoid operating systems.</li>
<li>Adjust the path to Wireshark if it&rsquo;s not installed in the default directory.</li>
<li><code>CTRL + C</code> or <code>CTRL + X</code> will not work to terminate the SSH connection. You have to close the window instead.</li>
</ul>
]]></content:encoded>
    </item>
    
    <item>
      <title>Telekom EntertainTV mit Ubiquiti EdgeRouter X</title>
      <link>https://webcodr.io/2018/02/telekom-entertaintv-mit-ubiquiti-edgerouter-x/</link>
      <pubDate>Wed, 07 Feb 2018 22:00:00 +0100</pubDate>
      <guid>https://webcodr.io/2018/02/telekom-entertaintv-mit-ubiquiti-edgerouter-x/</guid>
      <description>Da bei Sky Deutschland nun auch noch die Formel 1 entfällt und zusätzlich in den letzten Jahren diverse Rechte, z.B. die Premier League, auch abhanden gekommen sind, habe ich mich dazu entschlossen auf EntertainTV von der Telekom umzusteigen.
In diesem Post erkläre ich meine EdgeRouter- bzw. Netzwerk-Konfiguration, da ein IPTV-System wie EntertainTV besondere Anforderungen stellt. Damit IPTV überhaupt funktionieren kann, muss die Telekom Multicasts verwenden. Im Gegensatz zu DVB-C oder DVB-S2, wird hier nicht jedem Kunden alles geschickt, um sich auszusuchen, was man anschaut. Man bekommt nur das geliefert, was auch tatsächlich angesehen wird. Multicasts erlauben hier die effiziente Verteilung von Paketen, ohne das eigene Netz zu überlasten.
</description>
      <content:encoded><![CDATA[<p>Da bei Sky Deutschland nun auch noch die Formel 1 entfällt und zusätzlich in den letzten Jahren diverse Rechte, z.B. die Premier League, auch abhanden gekommen sind, habe ich mich dazu entschlossen auf EntertainTV von der Telekom umzusteigen.</p>
<p>In diesem Post erkläre ich meine EdgeRouter- bzw. Netzwerk-Konfiguration, da ein IPTV-System wie EntertainTV besondere Anforderungen stellt. Damit IPTV überhaupt funktionieren kann, muss die Telekom Multicasts verwenden. Im Gegensatz zu DVB-C oder DVB-S2, wird hier nicht jedem Kunden alles geschickt, um sich auszusuchen, was man anschaut. Man bekommt nur das geliefert, was auch tatsächlich angesehen wird. Multicasts erlauben hier die effiziente Verteilung von Paketen, ohne das eigene Netz zu überlasten.</p>
<p>Damit Multicasts funktionieren, muss auch die lokale Netzwerk-Hardware mitspielen. Darum empfiehlt die Telekom u.A. ihre IPTV-Receiver direkt mit dem Router zu verbinden. Das ist sicher kein Problem, wenn der Telefonanschluss im Wohnzimmer ist, aber gerade in älteren Wohnungen, ist das eher selten der Fall und Kabelkanäle sind auch rar. Sobald Switches oder Access Points ins Spiel kommen, müssen die Geräte das Internet Group Multicast Protocol in Version 3 (IGMPv3) unterstützen. Wenn sie das nicht tun, wird aus dem Multicast ein Broadcast an alle Geräte ins Netzwerk. Bei einem HD-Stream mit 10 Mbit/s und 20 Geräten im Netzwerk, würde man so 200 Mbit/s Last erzeugen. Das mag im LAN noch evtl. verschmerzbar sein, aber in einem WLAN sieht die Sache anders aus. Leider unterstützt insbesondere Consumer-Netzwerk-Hardware oft kein IGMP oder nur eine ältere Version, die ebenfalls in Broadcasts resultiert.</p>
<p>Eine wirklich günstige Lösung gibt&rsquo;s dafür leider nicht. Man kann sich entweder mit entsprechend IGMP-fähiger Hardware helfen oder mit einem separaten Netz über ein VLAN. Dummerweise unterstützen Consumer-Geräte meist auch keine VLANs.</p>
<p>Ohne Managed Switches, die IGMPv3 und/oder VLANs unterstützen, kommt man hier leider nicht weit. Mein Netzwerk besteht daher nur noch aus Netzwerk-Hardware von Ubiquiti: ein EdgeRouter X, drei UniFi Switches und zwei UniFi Access Points.</p>
<h2 id="konfiguration"><a href="#konfiguration" class="heading-anchor">Konfiguration</a></h2>
<p>Folgende Punkte beschreiben die Konfiguration der UniFi-Hardware und des EdgeRouters. Wie immer gilt: ich verwende einen EdgeRouter X, aber es sollte auch problemlos mit jedem anderen EdgeRouter funktionieren.</p>
<h3 id="unifi"><a href="#unifi" class="heading-anchor">UniFi</a></h3>
<p>Der einfache Teil vorweg: für die UniFi-Geräte reicht es, IGMP Snooping in den Einstellungen unter <code>Networks</code> bzw. <code>Wireless Networks</code> für das jeweilige Netz zu aktivieren und die Geräte neu zu provisionieren.</p>
<p>Falls jemand ein UniFi Security Gateway als Router verwenden sollte, müssen noch weitere Einstellungen im CLI des Controllers vorgenommen werden, damit der IGMP Proxy läuft. Eine Anleitung dazu gibt&rsquo;s <a href="https://web.archive.org/web/20230606014804/https://schreibers-blog.de/entertain-mit-unifi-hardware-und-switch/">hier</a>.</p>
<h3 id="edgerouter"><a href="#edgerouter" class="heading-anchor">EdgeRouter</a></h3>
<p>Wie auch für das USG gilt, dass auf dem EdgeRouter ein IGMP Proxy laufen muss. Das verlangt Einstellungen, die nur über das CLI erfolgen können. Der Einfachheit halber, werde ich auch die entsprechenden Firewall-Regeln über das CLI beschreiben, da man die einfach kopieren und nach seinen Wünschen anpassen kann &ndash; im Gegensatz zu einer Screenshot-Orgie.</p>
<h4 id="firewall"><a href="#firewall" class="heading-anchor">Firewall</a></h4>
<p>Grundsätzlich sollte jeder EdgeRouter min. zwei Firewall-Rulesets haben, in und local. Bei mir heißen sie <code>WAN_IN</code> sowie <code>WAN_LOCAL</code> und werden daher auch in diesem Beispiel verwendet. Das Modem hängt an <code>eth0</code> und die Verbindung wird über <code>eth1</code> ins restliche Netzwerk verteilt.</p>
<p>Die folgenden Firewall-Regeln richten sich an Nutzer von EntertainTV bzw. Telekom-Kunden im BNG. Wer noch nicht im BNG ist bzw. das alte Entertain nutzt, muss teilweise andere IP-Adressen freigeben und dazu VLAN 8 verwenden, weil im alten Netz die Internetverbindung (VLAN 7) und Entertain (VLAN 8) getrennt laufen, siehe den <a href="https://blog.tausys.de/2016/02/22/edgerouter-am-telekom-internetanschluss-mit-entertain-und-ipv6/">Beitrag von TauSys</a>.</p>
<p>Als erstes müssen IGMP und Multicast UDP-Pakete für <code>WAN_IN</code> erlaubt werden:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl"><span class="nb">set</span> firewall name WAN_IN rule <span class="m">1</span> action accept
</span></span><span class="line"><span class="cl"><span class="nb">set</span> firewall name WAN_IN rule <span class="m">1</span> description <span class="s1">&#39;Allow IGMP&#39;</span>
</span></span><span class="line"><span class="cl"><span class="nb">set</span> firewall name WAN_IN rule <span class="m">1</span> log disable
</span></span><span class="line"><span class="cl"><span class="nb">set</span> firewall name WAN_IN rule <span class="m">1</span> protocol igmp
</span></span><span class="line"><span class="cl"><span class="nb">set</span> firewall name WAN_IN rule <span class="m">2</span> action accept
</span></span><span class="line"><span class="cl"><span class="nb">set</span> firewall name WAN_IN rule <span class="m">2</span> description <span class="s1">&#39;Allow IPTV Multicast UDP&#39;</span>
</span></span><span class="line"><span class="cl"><span class="nb">set</span> firewall name WAN_IN rule <span class="m">2</span> destination address 224.0.0.0/4
</span></span><span class="line"><span class="cl"><span class="nb">set</span> firewall name WAN_IN rule <span class="m">2</span> log disable
</span></span><span class="line"><span class="cl"><span class="nb">set</span> firewall name WAN_IN rule <span class="m">2</span> protocol udp
</span></span></code></pre></div><p>Anschließend werden Multicast UDP-Pakete lokal für <code>WAN_LOCAL</code> erlaubt:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl"><span class="nb">set</span> firewall name WAN_LOCAL rule <span class="m">1</span> action accept
</span></span><span class="line"><span class="cl"><span class="nb">set</span> firewall name WAN_LOCAL rule <span class="m">1</span> description <span class="s1">&#39;Allow Multicast&#39;</span>
</span></span><span class="line"><span class="cl"><span class="nb">set</span> firewall name WAN_LOCAL rule <span class="m">1</span> destination address 224.0.0.0/4
</span></span><span class="line"><span class="cl"><span class="nb">set</span> firewall name WAN_LOCAL rule <span class="m">1</span> log disable
</span></span><span class="line"><span class="cl"><span class="nb">set</span> firewall name WAN_LOCAL rule <span class="m">1</span> protocol all
</span></span></code></pre></div><p>Bitte beachtet, dass die Reihenfolge der Regeln entsprechend passt und die neuen Regeln immer vor der Drop-Regel stehen, die nicht erlaubte Pakete entsorgen soll.</p>
<p>Was hat es mit dem Netz <code>224.0.0.0/4</code> auf sich? Sehr vereinfacht gesagt: ein Bereich bestimmter IPv4-Adressen, die für Multicast-Verwaltung genutzt werden können.</p>
<h4 id="igmp-proxy"><a href="#igmp-proxy" class="heading-anchor">IGMP Proxy</a></h4>
<p>Der schon mehrfach genannte IGMP Proxy ist ein vergleichsweise simples Tool, um IGMP-Pakete an die entsprechenden Stellen weiterzuleiten. Ohnehin würden die Pakete im Router quasi hängenbleiben.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl"><span class="nb">set</span> protocols igmp-proxy interface eth1 alt-subnet 0.0.0.0/0
</span></span><span class="line"><span class="cl"><span class="nb">set</span> protocols igmp-proxy interface eth1 role downstream
</span></span><span class="line"><span class="cl"><span class="nb">set</span> protocols igmp-proxy interface eth1 threshold <span class="m">1</span>
</span></span><span class="line"><span class="cl"><span class="nb">set</span> protocols igmp-proxy interface eth1 whitelist 232.0.0.0/16
</span></span><span class="line"><span class="cl"><span class="nb">set</span> protocols igmp-proxy interface pppoe0 alt-subnet 0.0.0.0/0
</span></span><span class="line"><span class="cl"><span class="nb">set</span> protocols igmp-proxy interface pppoe0 role upstream
</span></span><span class="line"><span class="cl"><span class="nb">set</span> protocols igmp-proxy interface pppoe0 threshold <span class="m">1</span>
</span></span></code></pre></div><p>Das Beispiel geht davon aus, dass die restlichen Geräte über <code>eth1</code> am EgdeRouter hängen. Falls jemand ein VLAN verwendet, wie ich es im vorherigen Post beschrieben habe, muss an das Interface noch die VLAN-ID angehängt werden, z.B. <code>eth1.10</code>.</p>
<p>Entertain bzw. EntertainTV funktionieren aktuell nur via IPv4, daher ist eine IPv6-Konfiguration nicht notwendig.</p>
<p>Das war&rsquo;s eigentlich schon. Ihr müsst nur noch einen Commit machen und speichern. Der IGMP Proxy sollte damit automatisch starten.</p>
<p>Ich hatte die ganze Konfiguration bereits anhand diverser Blog- und Foren-Posts im Voraus gemacht und erstaunlicherweise hat sie auf Anhieb funktioniert. Es treten keinerlei Broadcast-Probleme auf.</p>
<p>Falls Ihr den Verdacht habt, dass etwas nicht stimmt, lässt sich das mit Wireshark sehr einfach überprüfen: einfach die aktive Netzwerk-Schnittstelle abfragen und auf Broadcasts bzw. ungewöhnlich viele UDP-Pakete achten, die von den EntertainTV-IP-Adressen kommen.</p>
]]></content:encoded>
    </item>
    
    <item>
      <title>EdgeRouter VLAN isolation</title>
      <link>https://webcodr.io/2018/02/edgerouter-vlan-isolation/</link>
      <pubDate>Sat, 03 Feb 2018 00:00:00 +0100</pubDate>
      <guid>https://webcodr.io/2018/02/edgerouter-vlan-isolation/</guid>
      <description>In this post I will show you, how to create a VLAN with your EdgeRouter and how to fully isolate it from all your other networks.
The following configuration shows my VLAN setup for IPTV services, since the receivers do not need access to the other networks and an isolated network for IPTV can avoid trouble with multicast/IGMP. You don’t use IPTV? No problem, you could use the config to create a guest network or for other untrusted devices.
</description>
      <content:encoded><![CDATA[<p>In this post I will show you, how to create a VLAN with your EdgeRouter and how to fully isolate it from all your other networks.</p>
<p>The following configuration shows my VLAN setup for IPTV services, since the receivers do not need access to the other networks and an isolated network for IPTV can avoid trouble with multicast/IGMP. You don&rsquo;t use IPTV? No problem, you could use the config to create a guest network or for other untrusted devices.</p>
<p>I&rsquo;m using an EdgeRouter X, but this configuration will work on any other EdgeRouter. The general approach should even work on a UniFi router like the USG.</p>
<h2 id="update-15-february-2018"><a href="#update-15-february-2018" class="heading-anchor">Update (15. February 2018)</a></h2>
<p>I have completely rewritten the firewall configuration guide, since the first version had a substantial flaw: it will cut the access from the VLAN to your LAN, but the VLAN can connect to all router services. So, someone could open an SSH connection to your EdgeRouter and that&rsquo;s bad.</p>
<p>If you have already followed the old guide, please delete the ruleset and use the new guide to create a proper firewall config.</p>
<h2 id="network-setup"><a href="#network-setup" class="heading-anchor">Network Setup</a></h2>
<ul>
<li><code>10.0.0.0/24</code>: home network on <code>eth1</code></li>
<li><code>192.168.1.0/24</code>: management LAN for my DSL modem on <code>eth0</code></li>
<li><code>10.0.1.0/24</code>: <code>eth2</code>, <code>eth3</code> and <code>eth4</code> as switched ports on the EdgeRouter X</li>
</ul>
<p>My management LAN is connected to the other networks via a custom NAT rule.</p>
<p>The main LAN consists of the three UniFi switches (US-8 and US-8 POE) and two UniFi access points (AP AC Lite). UniFi switches are fully supporting VLANs, so I can terminate a VLAN to any switch port within the network.</p>
<p>Why private class A networks? Well, why not? And I like short IP addresses.</p>
<p>But the management LAN is a private class C network? Yeah, I&rsquo;m leaving the modem on its default network configuration to avoid trouble, if I ever have to reset its config. I like to experiment with other firmware versions. Currently I&rsquo;m trying a firmware for Australian ISPs. So far it&rsquo;s working great and it disables some of the VDSL error corrections from my ISP that can cause higher latencies.</p>
<h2 id="here-we-go"><a href="#here-we-go" class="heading-anchor">Here we go</a></h2>
<p>The IPTV VLAN will be on <code>eth1</code> with VLAN ID 10 and will be terminated on a UniFi switch in the living room. If you need a guide, how to setup a VLAN on a UniFi switch and to assign it to a switch port, just click <a href="https://help.ubnt.com/hc/en-us/articles/219654087-UniFi-Using-VLANs-with-UniFi-Wireless-Routing-Switching-Hardware#USW">here</a>.</p>
<h3 id="create-the-vlan"><a href="#create-the-vlan" class="heading-anchor">Create the VLAN</a></h3>
<ol>
<li>
<p>Go to the dashboard of your EdgeRouter, click on <code>Add Interface</code> and select <code>VLAN</code>:</p>
<p><img src="/images/edgerouter-vlan-isolation/create_vlan.png" alt="Create VLAN" width="734" height="540" loading="lazy" decoding="async" /></p>
</li>
<li>
<p>Go to section <code>SERVICES</code> and click <code>Add DHCP server</code>:</p>
<p><img src="/images/edgerouter-vlan-isolation/create_vlan_dhcp_server.png" alt="Create VLAN DHCP server" width="920" height="820" loading="lazy" decoding="async" /></p>
</li>
<li>
<p>Stay in <code>SERVICES</code>, go to the tab <code>DNS</code>, <code>Add Listen interface</code> and choose the interface of your VLAN:</p>
<p><img src="/images/edgerouter-vlan-isolation/create_vlan_dns_forwarding.png" alt="Create VLAN DNS forwarding" width="794" height="498" loading="lazy" decoding="async" /></p>
</li>
</ol>
<p>VLAN 10 is now ready to use, but it&rsquo;s not isolated from the other networks. The EdgeRouter&rsquo;s job is to route between networks. A device on VLAN 10 could access the LAN, your NAS for example.</p>
<h3 id="create-network-group"><a href="#create-network-group" class="heading-anchor">Create network group</a></h3>
<ol>
<li>
<p>Go to <code>FIREWALL/NAT</code>, then to <code>Firewall/NAT Groups</code> and create a new network group:</p>
<p><img src="/images/edgerouter-vlan-isolation/create_network_group.png" alt="Create Network Group" width="844" height="558" loading="lazy" decoding="async" /></p>
</li>
<li>
<p>Edit the new network group and add all networks except the VLAN:</p>
<p><img src="/images/edgerouter-vlan-isolation/create_network_group_add_networks.png" alt="Create Network Group Add Networks" width="836" height="574" loading="lazy" decoding="async" /></p>
</li>
</ol>
<h3 id="a-quick-guide-to-firewall-directions"><a href="#a-quick-guide-to-firewall-directions" class="heading-anchor">A quick guide to firewall directions</a></h3>
<p>Before you create the firewall rulesets, you should know and understand the firewall ruleset directions:</p>
<ul>
<li><code>IN</code>: traffic entering the router from an interface</li>
<li><code>OUT</code>: traffic exiting the router to an interface</li>
<li><code>LOCAL</code>: traffic entering the router and destined to router itself (internal services, like DNS, DHCP, VPN etc.)</li>
</ul>
<p>I will also provide a short explanation for each firewall ruleset and its direction.</p>
<p>If you&rsquo;re having trouble to understand the directions, there is a very helpful diagram in the <a href="https://community.ubnt.com/t5/EdgeMAX/Layman-s-firewall-explanation/m-p/1436103#M91494">Ubiquiti forums</a>.</p>
<h3 id="create-firewall-ruleset-vlan10_isolation_in"><a href="#create-firewall-ruleset-vlan10_isolation_in" class="heading-anchor">Create firewall ruleset VLAN10_ISOLATION_IN</a></h3>
<p>The following firewall ruleset blocks traffic into all networks of your network group, but will allow already established connections.</p>
<p>Direction <code>IN</code> means any traffic from <code>eth1.10</code> to any other of your EdgeRouter&rsquo;s interfaces.</p>
<ol>
<li>
<p>Go to <code>Firewall Policies</code> and click <code>Add Ruleset</code>:</p>
<p><img src="/images/edgerouter-vlan-isolation/create_firewall_ruleset_in.png" alt="Create Firewall Ruleset IN" width="760" height="582" loading="lazy" decoding="async" /></p>
</li>
<li>
<p>Edit the new ruleset and setup the interfaces:</p>
<p><img src="/images/edgerouter-vlan-isolation/create_firewall_ruleset_in_interfaces.png" alt="Create Firewall Ruleset IN Interfaces" width="1686" height="400" loading="lazy" decoding="async" /></p>
</li>
<li>
<p>Add a new firewall rule to allow established and related packets:</p>
<p><img src="/images/edgerouter-vlan-isolation/create_firewall_ruleset_in_rule1_basic.png" alt="Create Firewall IN Rule 1 Basic" width="1010" height="922" loading="lazy" decoding="async" /></p>
<p><img src="/images/edgerouter-vlan-isolation/create_firewall_ruleset_in_rule1_adv.png" alt="Create Firewall IN Rule 1 Advanced" width="994" height="992" loading="lazy" decoding="async" /></p>
</li>
<li>
<p>Add a new firewall rule to drop packets into network group <code>LAN</code>:</p>
<p><img src="/images/edgerouter-vlan-isolation/create_firewall_ruleset_in_rule2_basic.png" alt="Create Firewall IN Rule 2 Basic" width="1000" height="918" loading="lazy" decoding="async" /></p>
<p><img src="/images/edgerouter-vlan-isolation/create_firewall_ruleset_in_rule2_dest.png" alt="Create Firewall IN Rule 2 Advanced" width="1002" height="598" loading="lazy" decoding="async" /></p>
</li>
<li>
<p>Your firewall ruleset should look like this:</p>
<p><img src="/images/edgerouter-vlan-isolation/create_firewall_ruleset_in_rules.png" alt="Create Firewall IN Rules" width="1698" height="412" loading="lazy" decoding="async" /></p>
</li>
</ol>
<h3 id="create-firewall-ruleset-vlan10_isolation_local"><a href="#create-firewall-ruleset-vlan10_isolation_local" class="heading-anchor">Create firewall ruleset VLAN10_ISOLATION_LOCAL</a></h3>
<p>This ruleset will block any traffic to your EdgeRouter&rsquo;s services, with the exception of DNS and DHCP.</p>
<p>Direction <code>LOCAL</code> means any traffic from <code>eth1.10</code> directly to your EdgeRouter and its services.</p>
<ol>
<li>
<p>Create another firewall ruleset like <code>VLAN10_ISOLATION_IN</code>:</p>
<p><img src="/images/edgerouter-vlan-isolation/create_firewall_ruleset_local.png" alt="Create Firewall Ruleset LOCAL" width="758" height="582" loading="lazy" decoding="async" /></p>
</li>
<li>
<p>Edit the new ruleset and setup the interfaces:</p>
<p><img src="/images/edgerouter-vlan-isolation/create_firewall_ruleset_local_interfaces.png" alt="Create Firewall Ruleset LOCAL Interfaces" width="1686" height="400" loading="lazy" decoding="async" /></p>
</li>
<li>
<p>Add a new firewall rule to allow DNS:</p>
<p><img src="/images/edgerouter-vlan-isolation/create_firewall_ruleset_local_rule1_basic.png" alt="Create Firewall LOCAL Rule 1 Basic" width="1002" height="922" loading="lazy" decoding="async" /></p>
<p><img src="/images/edgerouter-vlan-isolation/create_firewall_ruleset_local_rule1_dest.png" alt="Create Firewall LOCAL Rule 1 Advanced" width="1004" height="600" loading="lazy" decoding="async" /></p>
</li>
<li>
<p>Add a new firewall rule to allow DHCP:</p>
<p><img src="/images/edgerouter-vlan-isolation/create_firewall_ruleset_local_rule2_basic.png" alt="Create Firewall LOCAL Rule 2 Basic" width="996" height="926" loading="lazy" decoding="async" /></p>
<p><img src="/images/edgerouter-vlan-isolation/create_firewall_ruleset_local_rule2_dest.png" alt="Create Firewall LOCAL Rule 2 Advanced" width="1002" height="592" loading="lazy" decoding="async" /></p>
</li>
<li>
<p>Your firewall ruleset should look like this:</p>
<p><img src="/images/edgerouter-vlan-isolation/create_firewall_ruleset_local_rules.png" alt="Create Firewall IN Rules" width="1674" height="404" loading="lazy" decoding="async" /></p>
</li>
</ol>
<h3 id="optional-assign-network-groups-to-custom-nat-rules"><a href="#optional-assign-network-groups-to-custom-nat-rules" class="heading-anchor">Optional: assign network groups to custom NAT rules</a></h3>
<p><img src="/images/edgerouter-vlan-isolation/edit_nat_rule_configuration.png" alt="Edit NAT rule configuration" width="992" height="1446" loading="lazy" decoding="async" /></p>
<p>If you&rsquo;re using custom NAT rules, you have to add your new network group to the rules to exclude the VLAN. Firewall rules alone will not isolate any networks from custom NAT rules.</p>
<p>That&rsquo;s it. VLAN 10 is now fully isolated from all other networks. The firewall will drop all packets from <code>eth1.10</code> to the network group and my custom NAT rule will only work from networks of the group.</p>
]]></content:encoded>
    </item>
    
    <item>
      <title>Ubiquiti EdgeRouter X vs. MikroTik hEX</title>
      <link>https://webcodr.io/2017/01/ubiquiti-edgerouter-x-vs.-mikrotik-hex/</link>
      <pubDate>Sat, 14 Jan 2017 16:00:00 +0100</pubDate>
      <guid>https://webcodr.io/2017/01/ubiquiti-edgerouter-x-vs.-mikrotik-hex/</guid>
      <description>Da ich auch mal Router testen wollte und den EdgeRouter X (ER-X) eh schon besitze, habe ich mir ein vergleichbares Gerät von MikroTik besorgt, den hEX bzw. den RB750Gr3 (dritte Generation des hEX).
MikroTik ist ein Netzwerkausrüster aus Lettland. Wie Ubiquiti bieten sie professionelle Netzwerk-Hard- und Software zu bezahlbaren Preisen an. Man kann sogar Einzelteile wie Boards, Ports, Gehäuse usw. einzeln kaufen und sich damit seinen Traum-Router zusammenbauen.
Die Kontrahenten Sie könnten zwar von außen nicht unterschiedlicher sein, ihre inneren Werte sind jedoch sehr vergleichbar. Beide bieten fünf Gigabit-Ports und können an Port 1 über 24 V Passive PoE mit Strom versorgt werden. Außerdem nutzen beide den gleichen SoC von MediaTek und damit die gleiche CPU: einen 880 MHz MIPS Dual Core (4 Threads). Preislich liegen sie mit ca. 55 - 60 Euro natürlich auch gleich auf.
</description>
      <content:encoded><![CDATA[<p>Da ich auch mal Router testen wollte und den EdgeRouter X (ER-X) eh schon besitze, habe ich mir ein vergleichbares Gerät von MikroTik besorgt, den hEX bzw. den RB750Gr3 (dritte Generation des hEX).</p>
<p>MikroTik ist ein Netzwerkausrüster aus Lettland. Wie Ubiquiti bieten sie professionelle Netzwerk-Hard- und Software zu bezahlbaren Preisen an. Man kann sogar Einzelteile wie Boards, Ports, Gehäuse usw. einzeln kaufen und sich damit seinen Traum-Router zusammenbauen.</p>
<h2 id="die-kontrahenten"><a href="#die-kontrahenten" class="heading-anchor">Die Kontrahenten</a></h2>
<p>Sie könnten zwar von außen nicht unterschiedlicher sein, ihre inneren Werte sind jedoch sehr vergleichbar. Beide bieten fünf Gigabit-Ports und können an Port 1 über 24 V Passive PoE mit Strom versorgt werden. Außerdem nutzen beide den gleichen SoC von MediaTek und damit die gleiche CPU: einen 880 MHz MIPS Dual Core (4 Threads). Preislich liegen sie mit ca. 55 - 60 Euro natürlich auch gleich auf.</p>
<h3 id="ubiquiti-edgerouter-x"><a href="#ubiquiti-edgerouter-x" class="heading-anchor">Ubiquiti EdgeRouter X</a></h3>
<p><img src="/images/router-benchmark/erx.jpg" alt="Ubiquiti EdgeRouter X" width="600" height="253" loading="lazy" decoding="async" /></p>
<p>Putzig, was? Der ER-X ist wirklich klein, aber davon sollte man sich nicht täuschen lassen. Er bietet fünf völlig frei konfigurierbare Gigabit-Ports. Einmal WAN, einmal LAN und drei Switch-Ports mit separatem Netz? Kein Problem. Zweimal WAN mit automatischem Fail Over? Klar. Reiner Switch-Betrieb? Und ob, auch wenn er alleine dafür zu schade ist.</p>
<p>Auf dem ER-X läuft eine Linux-Distribution namens EdgeOS, die auch auf allen weiteren EdgeMAX-Geräten von Ubiquiti eingesetzt wird. Auf Einschränkungen im Vergleich zu den größeren Brüdern verzichtet man dankenswerterweise.</p>
<p>EdgeOS bietet ein recht umfangreiches Web-Interface mit dem sich viele Aufgaben schnell und einfach erledigen lassen. Für die wichtigsten Standard-Anwendungsfälle stehen Assistenten (Wizards) bereit. Ein simples Setup für WAN mit vier LAN-Ports als Switch und PPPoE inkl. Firewall ist damit in einer Minute erledigt. IPv6 wird leider bisher vom Web-Interface kaum unterstützt, bis auf eine Option in den Wizards für ein Standard-Setup mit Firewall, das aber ohne weitere manuelle Konfiguration nicht funktioniert, kann es nur noch IPv6-Adressen für die Interfaces anzeigen.</p>
<p>Alles weitere inkl. der tiefgreifenderen Konfigurationsmöglichkeiten muss über das CLI erledigt werden. Klingt nun schlimmer als es ist. EdgeOS basiert auf Vyatta, einer Linux-Distribution speziell für Netzwerkgeräte. Vyatta hat ein übersichtliches, recht einfach zu erlernendes Interface. Änderungen werden nicht sofort aktiv, erst nachdem man den Befehl <code>commit</code> abgeschickt hat werden sie aktiv aber noch nicht gespeichert. Sollte man sich also z.B. mal bei einer Firewall-Änderung aussperren, reicht ein Neustart des ER-X und alles läuft wie zuvor. Um zu speichern wird der Befehl <code>save</code> genutzt.</p>
<p>Man muss also keine Angst vor dem CLI haben. Kaputt machen kann man nichts, sofern man nicht gleich jede Änderung speichert.</p>
<p>Zusätzlich bietet der EdgeRouter X via CLI zuschaltbare Hardware-Beschleunigung für NAT und IPsec (aktuell Beta). Lt. eines Mitarbeiters auf Reddit überlegt Ubiquiti derzeit außerdem Deep Packet Inspection (DPI) in Hardware zu unterstützen &ndash; da fehlt wohl noch ein passender Treiber. Damit wäre er fast auf dem Niveau des nächst größeren Bruders, dem EdgeRouter Lite (ca. 90 - 100 Euro).</p>
<h3 id="mikrotik-hex"><a href="#mikrotik-hex" class="heading-anchor">MikroTik hEX</a></h3>
<p><img src="/images/router-benchmark/hex.jpg" alt="MikroTik hEX" width="600" height="519" loading="lazy" decoding="async" /></p>
<p>Zugegeben, das Gehäuse wirkt im Vergleich zum ER-X etwas billig, es stört aber auch nicht. Ich habe jedenfalls noch niemanden gesehen, der Router wegen ihres Gehäuse-Designs kauft. Die Metallhülle des ER-X mag Hitze besser ableiten, aber da beide Geräte nicht sonderlich heiß werden, spielt das eine untergeordnete Rolle.</p>
<p>Die Ports lassen sich genauso frei konfigurieren wie bei der Konkurrenz. Selbst Port Mirroring in Hardware ist möglich, was meines Wissens nach aktuell beim ER-X nur via Software geht.</p>
<p>Zusammen mit dem hEX kommt eine Lizenz für RouterOS, MikroTiks Gegenstück zu EdgeOS. Es kann allerdings auch separat lizenziert und auf x86-Hardware betrieben werden. Wer sich das Web-Interface (WebFig) vorab ansehen möchte, kann das <a href="http://www.mikrotik.com/software">hier</a> tun.</p>
<p>Der hEX wird vorkonfiguriert geliefert: WAN liegt auf Port 1, die restlichen Ports sind dem Switch zugeordnet. Ein DHCP-Server, DNS-Forwarding usw. sind bereits eingerichtet. Assistenten für andere Konfigurationen gibt es aber nicht. Wenn man lieber selbst Hand anlegen möchte, besteht beim ersten Login die Möglichkeit einfach per Klick alle vordefinierten Einstellungen zurückzusetzen.</p>
<p>WebFig ist standardmäßig an LAN-Port 2 über die IP-Adresse <code>192.168.88.1</code> erreichbar. Alternativ bietet MikroTik mit WinBox ein Windows-Programm, das wie eine Art Wrapper für WebFig aussieht, sich aber durch Fenster-Unterstützung innerhalb der Software besser und schneller bedienen lässt. Für Mac-User gibt es WinBox inkl. Wine als fertiges <a href="http://joshaven.com/resources/tools/winbox-for-mac/">Bundle</a> &ndash; funktioniert bei mir bisher problemlos.</p>
<p>Im Gegensatz zum Web-Interface von EdgeOS kann WebFig alle Funktionen konfigurieren. Über einen Paket-Manager lassen sich außerdem weitere Möglichkeiten nachrüsten, u.A. IPv6, das als inaktives Paket mitgeliefert wird.</p>
<p>Die Oberfläche erschlägt einen auf den ersten Blick durch die vielen Optionen und ist etwas gewöhnungsbedürftig, wenn man vorher nur mit EdgeOS zu tun hatte. Nach ein paar Problemen komme ich aber mit WebFig ziemlich gut klar. Die grundsätzlichen Vorgänge unterscheiden sich ja nicht. Umgekehrt ist sicherlich auch EdgeOS für einen MikroTik-Nutzer erstmal sehr ungewohnt.</p>
<p>Das CLI von RouterOS ist ebenso logisch und einfach strukturiert wie in EdgeOS, auch wenn natürlich die Syntax anders aussieht. Änderungen sind im Gegensatz zu EdgeOS sofort aktiv und werden direkt gespeichert. Um Probleme zu verhindern, bietet RouterOS den Safe Mode für das CLI und WebFig. Darin gemachte Änderungen werden auch sofort umgesetzt, aber erst gespeichert, wenn man das entsprechende Kommando gibt. Im Zweifelsfall reicht ein Neustart und nichts ist passiert.</p>
<p>In Sachen Hardware-Beschleunigung zeigt sich der hEX knausriger als der ER-X, da aktuell nur IPsec unterstützt wird. Ob da weitere Planungen anstehen, konnte ich leider nicht in Erfahrung bringen. Bleibt die Frage, ob das überhaupt geht? Offiziell unterstützt der SoC beider Geräte nur Hardware-IPsec. Es ist also wahrscheinlich, dass der ER-X zusätzliche Hardware für NAT und DPI besitzt.</p>
<h2 id="benchmark"><a href="#benchmark" class="heading-anchor">Benchmark</a></h2>
<p>Mein Benchmark-Szenario basiert auf iPerf3 mit einer, zehn und 100 gleichzeitigen TCP-Verbindungen und ist damit eher theoretischer Natur. Einen ausgefeilten Test mit zigtausenden HTTP-Downloads in verschiedenen Größen wie Ars Technica kann ich leider derzeit nicht bieten. Vielleicht sollte ich &ldquo;routerperf&rdquo; entwickeln. :D</p>
<p>Der Benchmark fand zwischen meinem PC und dem MacBook Pro statt. Der Windows-Rechner verfügt über eine Intel-LAN-Schnittstelle, während der Mac über einen Thunderbolt-Ethernet-Adapter mit dem LAN verbunden war. Sind also beides keine Krücken.</p>
<p>Als Referenzwerte dienen Durchläufe an beiden Rechnern, die über einen Cisco SoHo-Switch verbunden waren.</p>
<p>In allen anderen Szenarien war der Mac als Server am WAN-Port des jeweiligen Routers und der PC am entsprechenden LAN-Port in einem separaten Netz. Das NAT findet via Masquerading in IPTables statt.</p>
<h3 id="ergebnis"><a href="#ergebnis" class="heading-anchor">Ergebnis</a></h3>
<p><img src="/images/router-benchmark/chart.png" alt="Benchmark Results" width="579" height="450" loading="lazy" decoding="async" /></p>
<p>Das Hardware-NAT des ER-X schlägt richtig ein, während die Leistung ohne Hardware-Unterstützung ungewöhnlich inkonsistent ist. Das volle Potenzial wird erst mit mehreren Verbindungen wirklich genutzt. Der hEX dagegen skaliert in dieser Situation wie man es erwartet.</p>
<p>Da beide die gleiche CPU verwenden ist das Ergebnis bei nur einer Verbindung umso erstaunlicher. Es wäre durchaus möglich, dass es sich hier um einen Bug handelt. Ein ähnliches Problem gab es im Sommer mit dem UniFi Security Gateway, das auf der Hardware des EdgeRouter Lite basiert.</p>
<p>In der Realität dürfte die Differenz zwischen dem hEX und ER-X ein Stück kleiner ausfallen, denn nicht jede Verbindung läuft über TCP und die Paketgröße hat hier auch ein Stück mitzureden.</p>
<h2 id="fazit"><a href="#fazit" class="heading-anchor">Fazit</a></h2>
<p>Ich bin mit beiden Geräten sehr zufrieden. Für knapp 60 Euro bekommt man in beiden Fällen ein überzeugendes Produkt, das auch gehobenen Ansprüchen im Heimnetz mehr als gerecht wird.</p>
<p>Nur wer sich glücklich schätzen kann eine Gigabit-Internetverbindung zu besitzen, dürfte mit dem ER-X die schlauere Wahl treffen &ndash; auch wenn in der Realität der Unterschied geringer ausfallen wird. Ganz nebenbei: der hEX hat natürlich auch größere Brüder.</p>
<p>Letztendlich dürfte es für die meisten von uns eine reine Geschmacksfrage sein. Ich werde beide im Wechsel einsetzen und die Entwicklung beobachten. Da beide praktischerweise 24 V Passive PoE unterstützen, lassen sie sich sehr einfach tauschen. Kabel bei einem abstecken, beim anderen anstecken &ndash; fertig.</p>
]]></content:encoded>
    </item>
    
    <item>
      <title>Adios, Kabel-Internet (Update)</title>
      <link>https://webcodr.io/2017/01/adios-kabel-internet-update/</link>
      <pubDate>Fri, 13 Jan 2017 17:00:00 +0100</pubDate>
      <guid>https://webcodr.io/2017/01/adios-kabel-internet-update/</guid>
      <description>Zum Nachtrag vom 13.1.2017
Wie im Guide zum Vigor 130 bzw. EdgeRouter X schon angedeutet, bin ich von meiner bisherigen Vodafone/Kabel Deutschland-Verbindung zur Telekom mit VDSL 100 gewechselt.
Damit halbiert sich mein Downstream, da Vodafone hier 200 Mbit/s anbietet und VDSL mit Vectoring bekanntlich nur max. 100 Mbit/s hergibt. Als Trostpflaster gibt’s aber immerhin 15 Mbit/s mehr Upstream.
Für die Entscheidung war das aber alles zweitrangig. In den letzten Monaten gab es immer mehr Probleme mit der Kabel-Verbindung, sei’s durch merkwürdiges Verhalten der Fritzbox 6490, zunehmender Last im Kabelsegment oder mit Routing/Peering der Kabel-Infrastruktur.
</description>
      <content:encoded><![CDATA[<p><a href="#vodafone-update-1">Zum Nachtrag vom 13.1.2017</a></p>
<p>Wie im Guide zum Vigor 130 bzw. EdgeRouter X schon angedeutet, bin ich von meiner bisherigen Vodafone/Kabel Deutschland-Verbindung zur Telekom mit VDSL 100 gewechselt.</p>
<p>Damit halbiert sich mein Downstream, da Vodafone hier 200 Mbit/s anbietet und VDSL mit Vectoring bekanntlich nur max. 100 Mbit/s hergibt. Als Trostpflaster gibt&rsquo;s aber immerhin 15 Mbit/s mehr Upstream.</p>
<p>Für die Entscheidung war das aber alles zweitrangig. In den letzten Monaten gab es immer mehr Probleme mit der Kabel-Verbindung, sei&rsquo;s durch merkwürdiges Verhalten der Fritzbox 6490, zunehmender Last im Kabelsegment oder mit Routing/Peering der Kabel-Infrastruktur.</p>
<p>Gerade letzteres habe ich eigentlich erst richtig gemerkt, als der Vergleich zur Telekom möglich war.</p>
<p>Die Symptome:</p>
<ul>
<li>
<p>Als der Anschluss auf 200 Mbit/s geschaltet wurde, waren stabile Downloadraten von 23 - 25 MB/s in Steam die Regel. Inzwischen sind sie nur noch die Ausnahme und nur außerhalb der Hauptlastzeiten möglich. Gilt nicht nur für Steam, generell für alle Downloads.</p>
</li>
<li>
<p>Wenn Steam die Bandbreite nicht auslasten kann, öffnet es zusätzliche TCP-Verbindungen. Können schon mal an die 50 - 70 Stück sein. Ab dem Punkt steigt die Fritzbox langsam aus, weil sie mit NAT nicht mehr hinterher kommt. Ping-Zeiten steigen deutlich an, Surfen nebenbei macht keinen Spaß mehr &hellip; der EdgeRouter X lächelt dank Hardware-NAT nur müde.</p>
</li>
<li>
<p>Teils massive Probleme mit Ping-Zeiten und Packet Loss in Battlefield 1, manchmal völlig unspielbar. Lag für mich immer an EA, bis ich ein paar Runden via VDSL gespielt habe &hellip;</p>
</li>
<li>
<p>Apple Music war richtig lahm, Streaming von Filmen aus dem iTunes Store war auf PC und Mac ein Graus bis unbrauchbar, Downloads im App Store waren mal pfeilschnell, dann wieder unglaublich langsam usw. &ndash; hatte ich alles auf Apple geschoben, aber wie schon bei Battlefield 1 lag&rsquo;s an Vodafone. Gleiches gilt auch für teils extrem langsame Downloads aus dem PlayStation Network.</p>
</li>
<li>
<p>Ich schaue gerne die Reviews von <a href="http://sfdebris.com/">SF Debris</a>, es war aber zunehmend schwer sich die Videos überhaupt anzusehen. Die Seite lädt im Vodafone-Netz extrem lahm und die Videos brauchen gefühlte Ewigkeit, bis mal ein bisschen matschiges 240p zu sehen ist. Über die Telekom starten die Videos sofort &ndash; in HD.</p>
</li>
<li>
<p>Vermehrt Probleme mit YouTube, manchmal so schlimm, dass selbst Videos in SD nicht mehr flüssig liefen.</p>
</li>
<li>
<p>Starke Schwankungen bei den Ping-Zeiten, auch ohne Last.</p>
</li>
</ul>
<p>Ein Vergleich:</p>
<p><strong>Vodafone</strong></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">~ ❯❯❯ ping -c <span class="m">100</span> google.de
</span></span><span class="line"><span class="cl">PING google.de <span class="o">(</span>172.217.21.195<span class="o">)</span>: <span class="m">56</span> data bytes
</span></span><span class="line"><span class="cl"><span class="m">64</span> bytes from 172.217.21.195: <span class="nv">icmp_seq</span><span class="o">=</span><span class="m">0</span> <span class="nv">ttl</span><span class="o">=</span><span class="m">53</span> <span class="nv">time</span><span class="o">=</span>21.271 ms
</span></span><span class="line"><span class="cl">...
</span></span><span class="line"><span class="cl"><span class="m">64</span> bytes from 172.217.21.195: <span class="nv">icmp_seq</span><span class="o">=</span><span class="m">99</span> <span class="nv">ttl</span><span class="o">=</span><span class="m">53</span> <span class="nv">time</span><span class="o">=</span>28.892 ms
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">--- google.de ping statistics ---
</span></span><span class="line"><span class="cl"><span class="m">100</span> packets transmitted, <span class="m">100</span> packets received, 0.0% packet loss
</span></span><span class="line"><span class="cl">round-trip min/avg/max/stddev <span class="o">=</span> 19.163/30.845/111.265/15.526 ms
</span></span></code></pre></div><p><strong>Telekom</strong></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">~ ❯❯❯ ping -c <span class="m">100</span> google.de
</span></span><span class="line"><span class="cl">PING google.de <span class="o">(</span>172.217.21.163<span class="o">)</span>: <span class="m">56</span> data bytes
</span></span><span class="line"><span class="cl"><span class="m">64</span> bytes from 172.217.21.163: <span class="nv">icmp_seq</span><span class="o">=</span><span class="m">0</span> <span class="nv">ttl</span><span class="o">=</span><span class="m">57</span> <span class="nv">time</span><span class="o">=</span>21.731 ms
</span></span><span class="line"><span class="cl">...
</span></span><span class="line"><span class="cl"><span class="m">64</span> bytes from 172.217.21.163: <span class="nv">icmp_seq</span><span class="o">=</span><span class="m">99</span> <span class="nv">ttl</span><span class="o">=</span><span class="m">57</span> <span class="nv">time</span><span class="o">=</span>21.594 ms
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">--- google.de ping statistics ---
</span></span><span class="line"><span class="cl"><span class="m">100</span> packets transmitted, <span class="m">100</span> packets received, 0.0% packet loss
</span></span><span class="line"><span class="cl">round-trip min/avg/max/stddev <span class="o">=</span> 21.482/21.760/22.146/0.156 ms
</span></span></code></pre></div><p>Mit IPv6 schaut&rsquo;s für Vodafone sogar noch etwas schlechter aus.</p>
<p>Diese Ping-Messungen habe ich an einem frühen Nachmittag ausgeführt, also sollte sich die Last im Segment bzw. Netz doch in Grenzen gehalten haben.</p>
<p>Meine Diagnose:</p>
<ol>
<li>
<p>Die Fritzbox 6490 mag für Normalnutzer okay sein, aber nicht für mich. Den Bridge-Modus lässt Vodafone leider durch Einschnitte in FritzOS nicht mehr zu und ein reines Kabelmodem für EURODOCSIS 3.0 zu finden ist ein Ding der Unmöglichkeit.</p>
</li>
<li>
<p>Mein zuständiges Kabel-Segment wird zunehmend überlastet. Früher war ich hier der einzige weit und breit mit einer Internet-Verbindung über Kabel. Da es zumindest bis Dezember 2016 auch keine Alternativen für anständige Bandbreiten gab, geht in dem Segment nun zunehmend die Post ab.</p>
</li>
<li>
<p>Das interne Routing von Vodafone geht z.T. über sehr viele Hops, sowohl mit IPv4 als auch IPv6. Das ist grundsätzlich nicht weiter schlimm, aber es erhöht die Anfälligkeit für Fehler und Packet Loss.</p>
</li>
<li>
<p>Der vermutlich schwerwiegendste Punkt: das Peering in andere Netze ist z.T. eine Katastrophe. Alle og. Probleme mit den Servern von Apple, EA, Google/YouTube, Sony usw. liegen daran. Über den Punkt kann ich nicht mehr hinwegsehen. Bandbreiten und Ping-Schwankungen sind eine Sache, aber wenn ich für mich wichtige Dienste nicht mehr richtig nutzen kann, ist der Ofen wirklich aus.</p>
</li>
</ol>
<p>Kabel Deutschland bzw. jetzt Vodafone hatte ich fast acht Jahre ohne größere Probleme, aber da ich auch beruflich auf die Internetverbindung angewiesen bin, muss ich an der Stelle den Stecker ziehen.</p>
<p>Vodafone wird mit Sicherheit an den Problemen arbeiten &ndash; dauert halt. Eine Segment-Aufteilung kann sich über mehrere Monate bis ein Jahr ziehen. Internes Routing lässt sich auch nicht von heute auf morgen verbessern, ebenso das Peering.</p>
<p>Man hat es hier mit den Angeboten für 200 Mbit/s bzw. in vielen Haushalten auch schon 400 Mbit/s wohl übertrieben ohne die Infrastruktur dahinter auszubauen.</p>
<p>Zumindest im Mobilfunk-Bereich hat Vodafone in den letzten Jahren einiges deutlich verbessert. Schaffen sie im Kabelnetz hoffentlich auch noch. Konkurrenz belebt das Geschäft.</p>
<p>Solange bin ich aber wieder Telekom-Kunde. VDSL mit Vectoring ist nur eine Übergangslösung bis FTTH im großen Stil kommt, aber ich bin nicht mehr auf ein Shared Medium wie Kabel angewiesen und ab dem MSAN hängt man im BNG, dem neuen, verdammt flotten Backbone-Netz der Telekom.</p>
<p>Außerdem kann ich meine Wunsch-Hardware nutzen, auch wenn es nicht viele Vectoring-taugliche DSL-Modems da draußen gibt.</p>
<p>Für die meisten tut&rsquo;s der übliche Speedport, der mir zumindest in seinem Verhalten unter Last besser gefällt als die Fritzbox. Der Vergleich hinkt natürlich etwas, da die Fritte deutlich mehr kann.</p>
<p>In Sachen WLAN sind sie beide ziemlich meh, besonders im Vergleich zu meinen früheren AirPorts oder jetzt UniFi Access Points &ndash; ist natürlich wieder unfair. Gibt weit teurere Consumer-Geräte, die viel schlimmer sind, siehe <a href="http://arstechnica.com/gadgets/2016/09/the-router-rumble-ars-diy-build-faces-better-tests-tougher-competition/">Ars Technica</a>.</p>
<h4 id="vodafone-update-1"><a href="#vodafone-update-1" class="heading-anchor">Nachtrag vom 13.1.2017:</a></h4>
<p>Nach diesem <a href="http://www.golem.de/news/traffic-shaping-vodafones-kabelnetz-soll-an-backbone-erweiterung-sparen-1701-125572.html">Bericht von Golem</a> ist mir dann auch klar, warum ich die Probleme mit Vodafone hatte. Traffic Shaping verzögert oder verwirft Pakete einfach, je nach Konfiguration bzw. Last. Das erklärt die schwankenden Ping-Zeiten, den Packet Loss in Spielen, die inkonsistenten Download-Raten usw.</p>
<p>Es ist zwar logisch, dass Vodafone QoS einsetzt, damit das Netz nicht komplett zum Teufel geht. Man kann aber nicht einfach den Backbone-Ausbau verschlafen oder gar sogar absichtlich verzögern, während man den Kabel-Kunden immer mehr Bandbreite anbietet und die DSL-Kunden ins Kabelnetz lockt bzw. mancherorts wohl sogar <a href="http://www.golem.de/news/ueberlastet-vodafone-raeumt-geringere-vdsl-downstream-raten-ein-1701-125494.html">drängt</a>.</p>
]]></content:encoded>
    </item>
    
    <item>
      <title>VDSL via Vigor 130 und EdgeRouter X</title>
      <link>https://webcodr.io/2017/01/vdsl-via-vigor-130-und-edgerouter-x/</link>
      <pubDate>Sat, 07 Jan 2017 16:00:00 +0100</pubDate>
      <guid>https://webcodr.io/2017/01/vdsl-via-vigor-130-und-edgerouter-x/</guid>
      <description>Meine Fritzbox 6490 ging mir ja schon länger auf den Zeiger, aber seit ca. acht Wochen geht auch die Verbindung von Vodafone bzw. Kabel Deutschland zunehmend zum Teufel. Passenderweise hat die Telekom hier vor ein paar Wochen den VDSL-Ausbau inkl. Vectoring abgeschlossen. Seit dem 4.1. steht die Leitung und ich bin bisher äußerst angetan. Es halbiert sich zwar die Bandbreite auf 100 Mbit/s down (dafür gibt’s 40 statt 25 Mbit/s up), dafür ist die Leitung wesentlich stabiler. Genauers dazu schreibe ich in einem separaten Blog-Post in Kürze. Genaueres dazu hier.
</description>
      <content:encoded><![CDATA[<p>Meine Fritzbox 6490 ging mir ja schon länger auf den Zeiger, aber seit ca. acht Wochen geht auch die Verbindung von Vodafone bzw. Kabel Deutschland zunehmend zum Teufel. Passenderweise hat die Telekom hier vor ein paar Wochen den VDSL-Ausbau inkl. Vectoring abgeschlossen. Seit dem 4.1. steht die Leitung und ich bin bisher äußerst angetan. Es halbiert sich zwar die Bandbreite auf 100 Mbit/s down (dafür gibt&rsquo;s 40 statt 25 Mbit/s up), dafür ist die Leitung wesentlich stabiler. <del>Genauers dazu schreibe ich in einem separaten Blog-Post in Kürze.</del> Genaueres dazu <a href="/2017/01/adios-kabel-internet-update/">hier</a>.</p>
<h2 id="bisheriges-netzwerk"><a href="#bisheriges-netzwerk" class="heading-anchor">Bisheriges Netzwerk</a></h2>
<p>Die Internet-Verbindung wird über die Fritzbox 6490 aufgebaut, die sonst außer VoIP nichts tut. An der Fritte hängt ein Ubiquiti EdgeRouter X, der dann das eigentliche Netzwerk aufbaut. Das Netz verteilt sich vom Wohnzimmer aus über drei SoHo-Switches von Cisco und zwei Ubiquiti UniFi AC Lite Access Points an die jeweiligen Endgeräte.</p>
<p>Diese Konstellation führt zu doppeltem NAT. Hässlich, aber auch nicht weiter tragisch. Der EdgeRouter X kann Hardware-NAT und kostet höchstens 400 - 500 µs. Ein geringer Aufpreis für wesentlich mehr Kontrolle über mein Netzwerk. Nur die IPv6-Konfiguration zwischen Fritzbox und EdgeRouter wollte einfach nicht klappen &ndash; diese unendliche Geschichte will ich hier aber nicht weiter ausbreiten, hat sich eh erledigt.</p>
<h2 id="neues-netzwerk"><a href="#neues-netzwerk" class="heading-anchor">Neues Netzwerk</a></h2>
<p>Mit VDSL sieht die Sache natürlich etwas anders aus. Der Telefonanschluss ist im Flur, also mussten erstmal Kabel gelegt werden &hellip; bei dem Thema sind Mietwohnungen dezent scheiße. Von Kabelkanälen hatte zum Bauzeitpunkt kein Mensch was gehört.</p>
<p>Zum Testen der Verbindung kam erstmal ein Speedport 724 V von der Telekom zum Einsatz. Klingt doof? So übel ist die Kiste gar nicht, allerdings ging&rsquo;s auch nur mit doppeltem NAT, weil die Speedports leider keinen Modem-Betrieb mehr können und generell ist mein Nutzungsprofil doch etwas anspruchsvoller. Daher habe ich einen Vigor 130 von DrayTek gekauft und als Vectoring-taugliches VDSL-Modem im Einsatz. Der EdgeRouter wird nun einfach per PPPoE über den Vigor versorgt.</p>
<h2 id="konfiguration"><a href="#konfiguration" class="heading-anchor">Konfiguration</a></h2>
<p>Kommen wir zum Herzstück des Posts, denn die Konfiguration ist zwar grundsätzlich einfach, hat aber auch ein paar Tücken &ndash; insbesondere wenn IPv6 im Spiel ist.</p>
<h3 id="draytek-vigor-130"><a href="#draytek-vigor-130" class="heading-anchor">DrayTek Vigor 130</a></h3>
<p>Der gute Vigor wird bereits als Modem inkl. VLAN-Tagging für die Telekom vorkonfiguriert geliefert. Man muss eigentlich nur die neueste Firmware einspielen und das war&rsquo;s.</p>
<p>Falls der Vigor wider Erwarten doch nicht als Modem vorkonfiguriert geliefert wird, findet man bei <a href="https://idomix.de/draytek-vigor-130-als-vdsl-modem-einrichten">iDomiX Hilfe (Text und Video)</a>.</p>
<h3 id="ubiquiti-edgerouter"><a href="#ubiquiti-edgerouter" class="heading-anchor">Ubiquiti EdgeRouter</a></h3>
<p>Ausgangsbasis ist der EdgeRouter X mit EdgeOS 1.9.1. Es sollte grundsätzlich genauso mit einem größeren EdgeRouter und neueren EdgeOS-Versionen funktionieren.</p>
<h4 id="netzwerk-setup"><a href="#netzwerk-setup" class="heading-anchor">Netzwerk-Setup</a></h4>
<p>Ich gehe hierbei davon aus, dass jemand, der diesen Post liest zumindest Grundkenntnisse im Umgang mit einem EdgeRouter hat, also Default-IP, Default-Login-Daten, Web-Interface-Zugang usw.</p>
<p>Für die grundsätzliche Konfiguration bietet Ubiquiti zum Glück entsprechende Assistenten (Wizards) an, die den ganzen Vorgang vereinfachen und mir auch ersparen hier monströse Listings mit Firewall-Regeln zu posten.</p>
<p>Der Wizard &ldquo;Basic Setup&rdquo; macht grundsätzlich alles, was man braucht:</p>
<p><img src="/images/edgerouter/1.png" alt="EdgeRouter Screenshot 1" width="693" height="896" loading="lazy" decoding="async" /></p>
<p>Als WAN-Port habe ich mich für <code>eth0</code> entschieden. Die Einwahl erfolgt über PPPoE mit den entsprechenden Login-Daten der Telekom. VLAN-Tagging ist hier nicht nötig, das übernimmt der Vigor bereits (VLAN 7). Die Default-Firewall sollte auf jeden Fall aktiviert werden, genauso wie DHCPv6 PD. Die Prefix Length ist mit <code>/56</code> bereits korrekt voreingestellt und auch hier gilt, dass die Firewall an sein sollte.</p>
<p>Die Option &ldquo;Only use one LAN&rdquo; wird deaktiviert. Anschließend wird das Netz für <code>eth1</code> konfiguriert. Ich nutze hier ein privates Klasse A-Netz. Für die Switching-Ports <code>eth2</code>, <code>eth3</code> und <code>eth4</code> gibt es ein separates Klasse A-Netz.</p>
<p>Unter &ldquo;User Setup&rdquo; verwende ich meine bestehenden User weiter. Sollte der EdgeRouter bisher nie konfiguriert worden sein, empfehle ich aber dringend einen neuen Nutzer mit eigenem Passwort anzulegen. Ein Router sollte nie über seine Standard-Zugangsdaten zugänglich sein.</p>
<p>Nach dem Speichern startet sich der EdgeRouter neu und ist anschließend über die IP <code>10.0.0.1</code> an <code>eth1</code> wieder erreichbar. Im Dashboard sollte nun relativ bald unter <code>pppoe0</code> die öffentliche IPv4-Adresse sichtbar sein und damit auch die Internet-Verbindung bestehen.</p>
<p>Grundsätzlich ist&rsquo;s damit getan, wenn einem IPv4 ausreicht.</p>
<p>Für mein privates Netzwerk nehme ich anschließend noch ein paar Einstellungen an der Firewall (Port-Weiterleitungen) und am DHCP-Server vor. Wenn man zufrieden ist, sollte man ein Backup der Konfiguration machen. Das geht unter &ldquo;System&rdquo; -&gt; &ldquo;Back Up Config&rdquo;.</p>
<h4 id="ipv6"><a href="#ipv6" class="heading-anchor">IPv6</a></h4>
<p>Leider unterstützt das Web-Interface bisher kaum IPv6, daher muss man ein paar Einstellungen via CLI vornehmen.</p>
<p>Unter macOS und Linux ist das einfach im Terminal im SSH möglich. Unter Windows bleibt einem aktuell nur das Linux Subsystem von Windows 10 oder ein SSH-Client wie PuTTY.</p>
<p>Beispiel:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">ssh user@10.0.0.1
</span></span></code></pre></div><p>Anschließend wird nach dem Passwort des Users gefragt.</p>
<p>Bei mir sieht die Sache so aus (Login über SSH-Alias mit Key):</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">~ ❯❯❯ ssh edge                                                                                                                              
</span></span><span class="line"><span class="cl">Welcome to EdgeOS
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">By logging in, accessing, or using the Ubiquiti product, you
</span></span><span class="line"><span class="cl">acknowledge that you have <span class="nb">read</span> and understood the Ubiquiti
</span></span><span class="line"><span class="cl">License Agreement <span class="o">(</span>available in the Web UI at, by default,
</span></span><span class="line"><span class="cl">http://192.168.1.1<span class="o">)</span> and agree to be bound by its terms.
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Linux 3.10.14-UBNT <span class="c1">#1 SMP Mon Nov 14 03:56:39 PST 2016 mips</span>
</span></span><span class="line"><span class="cl">Welcome to EdgeOS
</span></span><span class="line"><span class="cl">webcodr@ubnt:~$
</span></span></code></pre></div><p>Damit ist nun das CLI des EdgeRouters offen und man kann loslegen.</p>
<p>Folgendes muss eingegeben werden:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">configure
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">set</span> interfaces ethernet eth1 ipv6 dup-addr-detect-transmits <span class="m">1</span>
</span></span><span class="line"><span class="cl"><span class="nb">set</span> interfaces ethernet eth0 pppoe <span class="m">0</span> dhcpv6-pd pd <span class="m">0</span> interface eth1 host-address <span class="s1">&#39;::dead:beef&#39;</span>
</span></span><span class="line"><span class="cl"><span class="nb">set</span> interfaces ethernet eth0 pppoe <span class="m">0</span> dhcpv6-pd pd <span class="m">0</span> interface eth1 no-dns
</span></span><span class="line"><span class="cl"><span class="nb">set</span> interfaces ethernet eth0 pppoe <span class="m">0</span> dhcpv6-pd pd <span class="m">0</span> interface eth1 prefix-id <span class="m">42</span>
</span></span><span class="line"><span class="cl"><span class="nb">set</span> interfaces ethernet eth0 pppoe <span class="m">0</span> dhcpv6-pd pd <span class="m">0</span> interface eth1 service slaac
</span></span><span class="line"><span class="cl"><span class="nb">set</span> interfaces ethernet eth0 pppoe <span class="m">0</span> dhcpv6-pd pd <span class="m">0</span> prefix-length <span class="m">56</span>
</span></span><span class="line"><span class="cl"><span class="nb">set</span> interfaces ethernet eth0 pppoe <span class="m">0</span> dhcpv6-pd prefix-only
</span></span><span class="line"><span class="cl"><span class="nb">set</span> interfaces ethernet eth0 pppoe <span class="m">0</span> dhcpv6-pd rapid-commit <span class="nb">enable</span>
</span></span><span class="line"><span class="cl"><span class="nb">set</span> interfaces ethernet eth0 pppoe <span class="m">0</span> ipv6 address autoconf
</span></span><span class="line"><span class="cl"><span class="nb">set</span> interfaces ethernet eth0 pppoe <span class="m">0</span> ipv6 dup-addr-detect-transmits <span class="m">1</span>
</span></span><span class="line"><span class="cl"><span class="nb">set</span> interfaces ethernet eth0 pppoe <span class="m">0</span> ipv6 <span class="nb">enable</span>
</span></span><span class="line"><span class="cl"><span class="nb">set</span> system offload hwnat <span class="nb">enable</span>
</span></span><span class="line"><span class="cl">commit
</span></span><span class="line"><span class="cl">save
</span></span></code></pre></div><p>Erläuterungen:</p>
<ul>
<li><code>configure</code> startet das Konfiguration-System von EdgeOS/Vyatta</li>
<li><code>set interfaces ethernet eth1 ipv6 dup-addr-detect-transmits 1</code> legt die Anzahl fest, wie oft versucht wird doppelte IPv6-Adressen herauszufinden</li>
<li><code>set interfaces ethernet eth0 pppoe 0 dhcpv6-pd pd 0 interface eth1 host-address '::dead:beef'</code> legt die Host-Adresse nach dem Adress-Prefix der Telekom fest. Ich finde <code>::dead:beef</code> ziemlich witzig, aber hier kann sich jeder selbst austoben, solange es im Hexadezimal-Bereich liegt.</li>
<li><code>set interfaces ethernet eth0 pppoe 0 dhcpv6-pd pd 0 interface eth1 prefix-id 42</code> legt die Prefix-ID fest, die zusätzlich in die Adresse aufgenommen wird. Was außer 42 sollte es sonst sein? :D</li>
<li><code>set interfaces ethernet eth0 pppoe 0 dhcpv6-pd pd 0 interface eth1 service slaac</code> SLAAC steht für Stateless Address Autoconfiguration &ndash; damit erzeugt der Port seine IP-Adresse anhand des Prefixes selbst</li>
<li><code>set interfaces ethernet eth0 pppoe 0 ipv6 address autoconf</code> aktiviert die automatische IPv6-Adress-Konfiguration für das PPPoE-Interface</li>
<li><code>set interfaces ethernet eth0 pppoe 0 ipv6 enable</code> aktiviert dann letztendlich IPv6</li>
<li><code>set system offload hwnat enable</code> aktiviert Hardware-NAT für IPv4</li>
<li><code>commit</code> wendet die neue Konfiguration an</li>
<li><code>save</code> speichert die neue Konfiguration ab</li>
</ul>
<p>Nach <code>commit</code> starten sich die betroffenen Interfaces neu und es erfolgt eine neue Einwahl über PPPoE. Anschließend befinden sich im Dashboard unter <code>pppoe0</code> die IPv4-Adresse sowie die entsprechenden globalen und lokalen IPv6-Adressen.</p>
<p>Alternativ lässt sich das via CLI anschauen (außerhalb von configure):</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">webcodr@ubnt:~$ show interfaces
</span></span><span class="line"><span class="cl">Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
</span></span><span class="line"><span class="cl">Interface    IP Address                        S/L  Description
</span></span><span class="line"><span class="cl">---------    ----------                        ---  -----------
</span></span><span class="line"><span class="cl">...
</span></span><span class="line"><span class="cl">eth1         10.0.0.1/24                       u/u  Local <span class="m">2</span>
</span></span><span class="line"><span class="cl">             2003:xxxx:xxxx:xx42::dead:beef/64
</span></span><span class="line"><span class="cl">...
</span></span></code></pre></div><p>Alle Geräte im Netzwerk sollten nun eine oder mehrere IPv6-Adressen besitzen und via IPv6 ins Internet kommen. Das lässt sich sehr einfach über die Seite <a href="https://test-ipv6.com/">test-ipv6.com</a> herausfinden.</p>
<h4 id="zugang-zum-vigor-web-interface"><a href="#zugang-zum-vigor-web-interface" class="heading-anchor">Zugang zum Vigor-Web-Interface</a></h4>
<p>Da der Vigor auf der IP-Adresse <code>192.168.1.1</code> rumhängt, kommen wir nun leider erstmal nicht an sein Web-Interface ran. Das lässt sich aber recht einfach in EdgeOS ändern:</p>
<p>Dazu muss <code>eth0</code> (über diesen Port hängt der EdgeRouter ja am Vigor 130) eine IP-Adresse aus dem Netz des Vigors zugewiesen werden. Ich verwende hier <code>192.168.1.2/24</code>.</p>
<p><img src="/images/edgerouter/2.png" alt="EdgeRouter Screenshot 2" width="355" height="359" loading="lazy" decoding="async" /></p>
<p>Das alleine reicht noch nicht, da die NAT bisher die Verbindung in das andere Netz nicht kennt. Unter &ldquo;Firewall/NAT&rdquo; -&gt; &ldquo;NAT&rdquo; -&gt; &ldquo;Add Source NAT Rule&rdquo;, trägt man daher folgendes ein und speichert.</p>
<p><img src="/images/edgerouter/3.png" alt="EdgeRouter Screenshot 3" width="482" height="710" loading="lazy" decoding="async" /></p>
<p>Anschließend sollte der Zugriff über die IP-Adresse <code>192.168.1.1</code> auf den Vigor sofort funktionieren.</p>
<p>So, das war&rsquo;s dann eigentlich schon. Ich hoffe, diese kleine Anleitung konnte dem ein oder anderen etwas weiterhelfen.</p>
<p>Da nicht alles davon auf meinem Mist gewachsen ist, möchte ich mich an dieser Stelle noch beim Autor des Blogs <a href="https://blog.tausys.de">TauSys</a> bedanken. Falls jemand in og. Konfiguration noch Entertain miteinbeziehen möchte, sei ihm dieser <a href="https://blog.tausys.de/2016/02/22/edgerouter-am-telekom-internetanschluss-mit-entertain-und-ipv6/">Post</a> wärmstens empfohlen.</p>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
