EdgeRouter am Telekom-Internetanschluss mit Entertain und IPv6

EdgeRouter am Telekom-Internetanschluss mit Entertain und IPv6

Die Telekom stellt bei bei neuen Internetanschlüssen IPv4 und IPv6 im Dualstack-Betrieb bereit. Der Internet-Verkehr läuft komplett über VLAN 7. Entertain, der IPTV-Dienst der Telekom, wird hauptsächlich über VLAN 8 betrieben. Im folgenden Beispiel möchte ich die Konfiguration eines EdgeRouter lite mit IPv4 über PPPOE, IPv6 und IPTV beschreiben.

Meine Konfiguration für die nachfolgenden Beispiele am EdgeRouter:

  • EdgeRouter lite Firmware Version 1.7.0
  • eth0 … interne Netzwerkschnittstelle (LAN)
  • eth1 … externe Netzwerkschnittstelle zum DSL-Modem (WAN)

Internetzugang über VLAN 7

Zuerst wird das PPPOE-Interface über eth1 mit der VLAN-ID 7 für den Internetzugang konfiguriert:

set interfaces ethernet eth1 vif 7 description 'Telekom Internet'
set interfaces ethernet eth1 vif 7 mtu 1500
set interfaces ethernet eth1 vif 7 pppoe 0 default-route auto
set interfaces ethernet eth1 vif 7 pppoe 0 mtu 1492
set interfaces ethernet eth1 vif 7 pppoe 0 name-server auto
set interfaces ethernet eth1 vif 7 pppoe 0 password 99999999
set interfaces ethernet eth1 vif 7 pppoe 0 user-id '999999999999999999999999#0001@t-online.de'

Hinter password und user-id sind natürlich die eigenen Zugangsdaten einzutragen.

Anschließend wird NAT für IPv4 konfiguriert:

set service nat rule 5001 description 'Masquerade outgoing pppoe0'
set service nat rule 5001 log disable
set service nat rule 5001 outbound-interface pppoe0
set service nat rule 5001 protocol all
set service nat rule 5001 type masquerade

Mit dieser Konfiguration sollte der Router nach einer Neueinwahl (connect interface pppoe0) bereits eine Internetverbindung aufbauen, eine IPv4-Adresse nebst Nameserver über PPPOE erhalten und der Internetzugang aus dem lokalen Netzwerk heraus sollte funktionieren. Das Dashboard des EdgeRouters zeigt die zugewiesene IPv4-Adresse beim Interface pppoe0 an.

IPTV über VLAN 8

Sofern Entertain gebucht worden ist, folgt im Anschluß die Konfiguration des VLANs mit der ID 8:

set interfaces ethernet eth1 vif 8 address dhcp
set interfaces ethernet eth1 vif 8 description 'Telekom Entertain'
set interfaces ethernet eth1 vif 8 mtu 1500

Die Schnittstelle eth1.8 sollte jetzt bereits eine IPv4-Adresse per DHCP aus dem Bereich 10.0.0.0/8 von der Telekom zugewiesen bekommen haben.

Damit die Multicast-Pakete vom VLAN 8 ins lokale Netzwerk weitergeleitet werden, kommt das Programm igmp-proxy zum Einsatz. igmp-proxy muss noch mitgeteilt werden, welche Schnittstellen es benutzen soll:

set protocols igmp-proxy interface eth0 alt-subnet 0.0.0.0/0
set protocols igmp-proxy interface eth0 role downstream
set protocols igmp-proxy interface eth0 threshold 1
set protocols igmp-proxy interface eth0 whitelist 239.35.0.0/16
set protocols igmp-proxy interface eth1.8 alt-subnet 0.0.0.0/0
set protocols igmp-proxy interface eth1.8 role upstream
set protocols igmp-proxy interface eth1.8 threshold 1

Nach diesen wenigen Konfigurationsschritten sollte bereits der Internetzugang über IPv4 und der IPTV-Empfang im lokalen Netzwerk möglich sein.

IPv6

Die Telekom stellt den Kunden ein /56er-IPv6 Subnetz mit wählbarem Präfix (was dann wieder ein /64er Subnetz ergibt) bereit. Mit folgender Konfiguration wird ein /56er-Präfix angefordert und eth0 eine spezielle IPv6-Adresse aus diesem /56er-Subnetz zugewiesen:

set interfaces ethernet eth0 ipv6 dup-addr-detect-transmits 1

set interfaces ethernet eth1 vif 7 pppoe 0 dhcpv6-pd pd 0 interface eth0 host-address '::dead:beef'
set interfaces ethernet eth1 vif 7 pppoe 0 dhcpv6-pd pd 0 interface eth0 no-dns
set interfaces ethernet eth1 vif 7 pppoe 0 dhcpv6-pd pd 0 interface eth0 prefix-id 42
set interfaces ethernet eth1 vif 7 pppoe 0 dhcpv6-pd pd 0 interface eth0 service slaac
set interfaces ethernet eth1 vif 7 pppoe 0 dhcpv6-pd pd 0 prefix-length 56
set interfaces ethernet eth1 vif 7 pppoe 0 dhcpv6-pd prefix-only
set interfaces ethernet eth1 vif 7 pppoe 0 dhcpv6-pd rapid-commit enable
set interfaces ethernet eth1 vif 7 pppoe 0 ipv6 address autoconf
set interfaces ethernet eth1 vif 7 pppoe 0 ipv6 dup-addr-detect-transmits 1
set interfaces ethernet eth1 vif 7 pppoe 0 ipv6 enable

In der obigen Konfiguration wurde der Präfix 42 angefordert und der internen Netzwerkschnittstelle aus diesem Subnetz eine IPv6-Adresse mit dem Suffix ::dead:beaf zugeordnet. Hier kann jeder selbst kreativ sein.

Nach einer Neueinwahl mit

disconnect interface pppoe0
connect interface pppoe0

sollte der internen Netzwerkschnittstelle eine entsprechende IPv6-Adresse zugeordnet worden sein. Überprüfen kann man das entweder im Dashboard der Weboberfläche oder in der Shell des Routers mit

$ show interfaces 
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface    IP Address                        S/L  Description                 
---------    ----------                        ---  -----------                 
eth0         192.168.xxx.xxx/24                u/u  Local                       
             2003:xxxx:xxxx:xx42::dead:beef/64
...

Zu erkennen ist hier der Netzwerkpräfix 42 und der eingestellte Suffix ::dead:beef.

Sofern die Geräte im LAN auf IPv6-Autoconfig eingestellt sind, sollten sie nach kurzer Zeit ebenfalls eine IPv6-Adresse aus obigem Subnetz erhalten bzw. sich selbst zugewiesen haben.

Hinweis: die Weboberfläche des EdgeRouters stellt (zumindest in der Version 1.7.0) fast keine Informationen über IPv6 bereit, noch lassen sich weitere IPv6-Konfigurationsschritte darüber vornehmen. Man ist also auf die Shell angewiesen.

Jetzt hat das Netzwerk Internet über IPv4 und IPv6. Zudem läuft auch Fernsehen über IPTV. Was nun noch fehlt sind passende Paketfiltereinstellungen.

Firewall

Folgende Grundkonfiguration erhebt keinen Anspruch auf Vollständigkeit oder Korrektheit. Ich übernehme keinerlei Garantien in Bezug auf Einsatzzweck oder Sicherheit!

Folgende Einstellungen legen Regeln für IPv6 fest, nach denen nur ICMPv6 und DHCPv6 von aussen zugelassen wird. Aus dem internen Netzwerk aufgebaute Verbindungen werden ebenfalls zugelassen. Jeder andere IPv6-Netzwerkverkehr wird blockiert.

set firewall ipv6-name IPv6_WAN_IN default-action drop
set firewall ipv6-name IPv6_WAN_IN description 'IPv6 packets from the Internet to LAN'
set firewall ipv6-name IPv6_WAN_IN enable-default-log
set firewall ipv6-name IPv6_WAN_IN rule 1 action accept
set firewall ipv6-name IPv6_WAN_IN rule 1 description 'Allow established sessions'
set firewall ipv6-name IPv6_WAN_IN rule 1 state established enable
set firewall ipv6-name IPv6_WAN_IN rule 1 state related enable
set firewall ipv6-name IPv6_WAN_IN rule 2 action drop
set firewall ipv6-name IPv6_WAN_IN rule 2 state invalid enable
set firewall ipv6-name IPv6_WAN_IN rule 5 action accept
set firewall ipv6-name IPv6_WAN_IN rule 5 description 'Allow ICMPv6'
set firewall ipv6-name IPv6_WAN_IN rule 5 log disable
set firewall ipv6-name IPv6_WAN_IN rule 5 protocol icmpv6
set firewall ipv6-name IPv6_WAN_LOCAL default-action drop
set firewall ipv6-name IPv6_WAN_LOCAL description 'IPv6 packets from the Internet to the router'
set firewall ipv6-name IPv6_WAN_LOCAL enable-default-log
set firewall ipv6-name IPv6_WAN_LOCAL rule 1 action accept
set firewall ipv6-name IPv6_WAN_LOCAL rule 1 description 'Allow established sessions'
set firewall ipv6-name IPv6_WAN_LOCAL rule 1 log disable
set firewall ipv6-name IPv6_WAN_LOCAL rule 1 state established enable
set firewall ipv6-name IPv6_WAN_LOCAL rule 1 state related enable
set firewall ipv6-name IPv6_WAN_LOCAL rule 2 action drop
set firewall ipv6-name IPv6_WAN_LOCAL rule 2 log disable
set firewall ipv6-name IPv6_WAN_LOCAL rule 2 state invalid enable
set firewall ipv6-name IPv6_WAN_LOCAL rule 5 action accept
set firewall ipv6-name IPv6_WAN_LOCAL rule 5 description 'Allow ICMPv6'
set firewall ipv6-name IPv6_WAN_LOCAL rule 5 log disable
set firewall ipv6-name IPv6_WAN_LOCAL rule 5 protocol icmpv6
set firewall ipv6-name IPv6_WAN_LOCAL rule 110 action accept
set firewall ipv6-name IPv6_WAN_LOCAL rule 110 description 'Allow DHCPv6 packets'
set firewall ipv6-name IPv6_WAN_LOCAL rule 110 destination port 546
set firewall ipv6-name IPv6_WAN_LOCAL rule 110 protocol udp
set firewall ipv6-name IPv6_WAN_LOCAL rule 110 source port 547
set firewall ipv6-receive-redirects disable
set firewall ipv6-src-route disable

Anschließend werden Regeln für IPv4 festgelegt, welche hier nur ICMP, IGMP und IPTV von aussen zulassen:

set firewall name WAN_IN default-action drop
set firewall name WAN_IN description 'WAN to internal'
set firewall name WAN_IN enable-default-log
set firewall name WAN_IN rule 1 action accept
set firewall name WAN_IN rule 1 description 'Allow established/related'
set firewall name WAN_IN rule 1 state established enable
set firewall name WAN_IN rule 1 state related enable
set firewall name WAN_IN rule 3 action drop
set firewall name WAN_IN rule 3 description 'Drop invalid state'
set firewall name WAN_IN rule 3 state invalid enable
set firewall name WAN_IPTV default-action drop
set firewall name WAN_IPTV description 'Telekom Entertain'
set firewall name WAN_IPTV enable-default-log
set firewall name WAN_IPTV rule 1 action accept
set firewall name WAN_IPTV rule 1 description 'Allow IPTV Multicast UDP'
set firewall name WAN_IPTV rule 1 destination address 224.0.0.0/4
set firewall name WAN_IPTV rule 1 log disable
set firewall name WAN_IPTV rule 1 protocol udp
set firewall name WAN_IPTV rule 1 source
set firewall name WAN_IPTV rule 2 action accept
set firewall name WAN_IPTV rule 2 description 'Allow IGMP'
set firewall name WAN_IPTV rule 2 log disable
set firewall name WAN_IPTV rule 2 protocol igmp
set firewall name WAN_LOCAL default-action drop
set firewall name WAN_LOCAL description 'WAN to router'
set firewall name WAN_LOCAL enable-default-log
set firewall name WAN_LOCAL rule 1 action accept
set firewall name WAN_LOCAL rule 1 description 'Ping erlauben'
set firewall name WAN_LOCAL rule 1 log disable
set firewall name WAN_LOCAL rule 1 protocol icmp
set firewall name WAN_LOCAL rule 2 action accept
set firewall name WAN_LOCAL rule 2 description 'Allow Multicast'
set firewall name WAN_LOCAL rule 2 destination address 224.0.0.0/4
set firewall name WAN_LOCAL rule 2 log disable
set firewall name WAN_LOCAL rule 2 protocol all
set firewall name WAN_LOCAL rule 7 action accept
set firewall name WAN_LOCAL rule 7 description 'Allow established/related'
set firewall name WAN_LOCAL rule 7 state established enable
set firewall name WAN_LOCAL rule 7 state related enable
set firewall name WAN_LOCAL rule 8 action drop
set firewall name WAN_LOCAL rule 8 description 'Drop invalid state'
set firewall name WAN_LOCAL rule 8 log enable
set firewall name WAN_LOCAL rule 8 state invalid enable
set firewall options
set firewall receive-redirects disable
set firewall send-redirects enable
set firewall source-validation disable
set firewall syn-cookies enable

Danach werden die gerade definierten Firewall-Regeln den einzelnen Interfaces zugeordnet:

set interfaces ethernet eth1 vif 7 pppoe 0 firewall in ipv6-name IPv6_WAN_IN
set interfaces ethernet eth1 vif 7 pppoe 0 firewall in name WAN_IN
set interfaces ethernet eth1 vif 7 pppoe 0 firewall local ipv6-name IPv6_WAN_LOCAL
set interfaces ethernet eth1 vif 7 pppoe 0 firewall local name WAN_LOCAL

set interfaces ethernet eth1 vif 8 firewall local name WAN_IPTV

Fazit

Für mich war es ein langer und mühsamer Weg, try-and-error sozusagen. Das Endergebnis ist jedoch kurz und übersichtlich und mit der exzellenten Shell-Oberfläche des EdgeRouters schnell zu konfigurieren. Ein Test der IPv6-Konnektivität bescheinigt den Erfolg (evtl. muss noch IPv6 im Firefox aktiviert werden).

EdgeRouter ist ein eingetragenes Markenzeichen der Firma Ubiquiti Networks, Inc.


Siehe auch