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:

1set interfaces ethernet eth1 vif 7 description 'Telekom Internet'
2set interfaces ethernet eth1 vif 7 mtu 1500
3set interfaces ethernet eth1 vif 7 pppoe 0 default-route auto
4set interfaces ethernet eth1 vif 7 pppoe 0 mtu 1492
5set interfaces ethernet eth1 vif 7 pppoe 0 name-server auto
6set interfaces ethernet eth1 vif 7 pppoe 0 password 99999999
7set 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:

1set service nat rule 5001 description 'Masquerade outgoing pppoe0'
2set service nat rule 5001 log disable
3set service nat rule 5001 outbound-interface pppoe0
4set service nat rule 5001 protocol all
5set 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:

1set interfaces ethernet eth1 vif 8 address dhcp
2set interfaces ethernet eth1 vif 8 description 'Telekom Entertain'
3set 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:

1set protocols igmp-proxy interface eth0 alt-subnet 0.0.0.0/0
2set protocols igmp-proxy interface eth0 role downstream
3set protocols igmp-proxy interface eth0 threshold 1
4set protocols igmp-proxy interface eth0 whitelist 239.35.0.0/16
5set protocols igmp-proxy interface eth1.8 alt-subnet 0.0.0.0/0
6set protocols igmp-proxy interface eth1.8 role upstream
7set 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:

 1set interfaces ethernet eth0 ipv6 dup-addr-detect-transmits 1
 2
 3set interfaces ethernet eth1 vif 7 pppoe 0 dhcpv6-pd pd 0 interface eth0 host-address '::dead:beef'
 4set interfaces ethernet eth1 vif 7 pppoe 0 dhcpv6-pd pd 0 interface eth0 no-dns
 5set interfaces ethernet eth1 vif 7 pppoe 0 dhcpv6-pd pd 0 interface eth0 prefix-id 42
 6set interfaces ethernet eth1 vif 7 pppoe 0 dhcpv6-pd pd 0 interface eth0 service slaac
 7set interfaces ethernet eth1 vif 7 pppoe 0 dhcpv6-pd pd 0 prefix-length 56
 8set interfaces ethernet eth1 vif 7 pppoe 0 dhcpv6-pd prefix-only
 9set interfaces ethernet eth1 vif 7 pppoe 0 dhcpv6-pd rapid-commit enable
10set interfaces ethernet eth1 vif 7 pppoe 0 ipv6 address autoconf
11set interfaces ethernet eth1 vif 7 pppoe 0 ipv6 dup-addr-detect-transmits 1
12set 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

1disconnect interface pppoe0
2connect 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

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

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.

 1set firewall ipv6-name IPv6_WAN_IN default-action drop
 2set firewall ipv6-name IPv6_WAN_IN description 'IPv6 packets from the Internet to LAN'
 3set firewall ipv6-name IPv6_WAN_IN enable-default-log
 4set firewall ipv6-name IPv6_WAN_IN rule 1 action accept
 5set firewall ipv6-name IPv6_WAN_IN rule 1 description 'Allow established sessions'
 6set firewall ipv6-name IPv6_WAN_IN rule 1 state established enable
 7set firewall ipv6-name IPv6_WAN_IN rule 1 state related enable
 8set firewall ipv6-name IPv6_WAN_IN rule 2 action drop
 9set firewall ipv6-name IPv6_WAN_IN rule 2 state invalid enable
10set firewall ipv6-name IPv6_WAN_IN rule 5 action accept
11set firewall ipv6-name IPv6_WAN_IN rule 5 description 'Allow ICMPv6'
12set firewall ipv6-name IPv6_WAN_IN rule 5 log disable
13set firewall ipv6-name IPv6_WAN_IN rule 5 protocol icmpv6
14set firewall ipv6-name IPv6_WAN_LOCAL default-action drop
15set firewall ipv6-name IPv6_WAN_LOCAL description 'IPv6 packets from the Internet to the router'
16set firewall ipv6-name IPv6_WAN_LOCAL enable-default-log
17set firewall ipv6-name IPv6_WAN_LOCAL rule 1 action accept
18set firewall ipv6-name IPv6_WAN_LOCAL rule 1 description 'Allow established sessions'
19set firewall ipv6-name IPv6_WAN_LOCAL rule 1 log disable
20set firewall ipv6-name IPv6_WAN_LOCAL rule 1 state established enable
21set firewall ipv6-name IPv6_WAN_LOCAL rule 1 state related enable
22set firewall ipv6-name IPv6_WAN_LOCAL rule 2 action drop
23set firewall ipv6-name IPv6_WAN_LOCAL rule 2 log disable
24set firewall ipv6-name IPv6_WAN_LOCAL rule 2 state invalid enable
25set firewall ipv6-name IPv6_WAN_LOCAL rule 5 action accept
26set firewall ipv6-name IPv6_WAN_LOCAL rule 5 description 'Allow ICMPv6'
27set firewall ipv6-name IPv6_WAN_LOCAL rule 5 log disable
28set firewall ipv6-name IPv6_WAN_LOCAL rule 5 protocol icmpv6
29set firewall ipv6-name IPv6_WAN_LOCAL rule 110 action accept
30set firewall ipv6-name IPv6_WAN_LOCAL rule 110 description 'Allow DHCPv6 packets'
31set firewall ipv6-name IPv6_WAN_LOCAL rule 110 destination port 546
32set firewall ipv6-name IPv6_WAN_LOCAL rule 110 protocol udp
33set firewall ipv6-name IPv6_WAN_LOCAL rule 110 source port 547
34set firewall ipv6-receive-redirects disable
35set firewall ipv6-src-route disable

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

 1set firewall name WAN_IN default-action drop
 2set firewall name WAN_IN description 'WAN to internal'
 3set firewall name WAN_IN enable-default-log
 4set firewall name WAN_IN rule 1 action accept
 5set firewall name WAN_IN rule 1 description 'Allow established/related'
 6set firewall name WAN_IN rule 1 state established enable
 7set firewall name WAN_IN rule 1 state related enable
 8set firewall name WAN_IN rule 3 action drop
 9set firewall name WAN_IN rule 3 description 'Drop invalid state'
10set firewall name WAN_IN rule 3 state invalid enable
11set firewall name WAN_IPTV default-action drop
12set firewall name WAN_IPTV description 'Telekom Entertain'
13set firewall name WAN_IPTV enable-default-log
14set firewall name WAN_IPTV rule 1 action accept
15set firewall name WAN_IPTV rule 1 description 'Allow IPTV Multicast UDP'
16set firewall name WAN_IPTV rule 1 destination address 224.0.0.0/4
17set firewall name WAN_IPTV rule 1 log disable
18set firewall name WAN_IPTV rule 1 protocol udp
19set firewall name WAN_IPTV rule 1 source
20set firewall name WAN_IPTV rule 2 action accept
21set firewall name WAN_IPTV rule 2 description 'Allow IGMP'
22set firewall name WAN_IPTV rule 2 log disable
23set firewall name WAN_IPTV rule 2 protocol igmp
24set firewall name WAN_LOCAL default-action drop
25set firewall name WAN_LOCAL description 'WAN to router'
26set firewall name WAN_LOCAL enable-default-log
27set firewall name WAN_LOCAL rule 1 action accept
28set firewall name WAN_LOCAL rule 1 description 'Ping erlauben'
29set firewall name WAN_LOCAL rule 1 log disable
30set firewall name WAN_LOCAL rule 1 protocol icmp
31set firewall name WAN_LOCAL rule 2 action accept
32set firewall name WAN_LOCAL rule 2 description 'Allow Multicast'
33set firewall name WAN_LOCAL rule 2 destination address 224.0.0.0/4
34set firewall name WAN_LOCAL rule 2 log disable
35set firewall name WAN_LOCAL rule 2 protocol all
36set firewall name WAN_LOCAL rule 7 action accept
37set firewall name WAN_LOCAL rule 7 description 'Allow established/related'
38set firewall name WAN_LOCAL rule 7 state established enable
39set firewall name WAN_LOCAL rule 7 state related enable
40set firewall name WAN_LOCAL rule 8 action drop
41set firewall name WAN_LOCAL rule 8 description 'Drop invalid state'
42set firewall name WAN_LOCAL rule 8 log enable
43set firewall name WAN_LOCAL rule 8 state invalid enable
44set firewall options
45set firewall receive-redirects disable
46set firewall send-redirects enable
47set firewall source-validation disable
48set firewall syn-cookies enable

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

1set interfaces ethernet eth1 vif 7 pppoe 0 firewall in ipv6-name IPv6_WAN_IN
2set interfaces ethernet eth1 vif 7 pppoe 0 firewall in name WAN_IN
3set interfaces ethernet eth1 vif 7 pppoe 0 firewall local ipv6-name IPv6_WAN_LOCAL
4set interfaces ethernet eth1 vif 7 pppoe 0 firewall local name WAN_LOCAL
5
6set 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.