Eigen router achter een XS4ALL-VDSL-aansluiting (3)

Update 22 februari 2017: naar aanleiding van een nieuwe versie van de firmware van de Draytek Vigor 130 heb ik een nieuwe versie van dit artikel geschreven: Eigen router achter een XS4ALL-VDSL-aansluiting (4).

Sinds ruim een jaar heb ik gebruik een eigen router achter een VDSL-aansluiting van XS4ALL. Hoe ik dat destijds werkend heb gekregen staat hier beschreven.

Inmiddels heeft het modem (Draytek Vigor 130 VDSL2-modem) een paar firmware-updates gehad en een bezoeker van dit blog (Rob, 18 juni 2015 om 01:16) wees mij erop dat de VLAN tag insertion nu wél door het modem zelf uitgevoerd kan worden. Bovendien kan de MTU nu op 1500 gezet worden, waardoor er geen of minder MTU-problemen meer optreden.

Wie ook IPTV van XS4ALL heeft (wat over VLAN 4 loopt) kan het wellicht beter bij de oude setup houden.

De afgelopen maand heb ik de nieuwe opzet naar volle tevredenheid gebruikt. Ook na een stroomstoring kwam de verbinding zonder problemen weer op.

De gebruikte apparaten:

  • Modem: Draytek Vigor 130 VDSL2-modem (firmwareversie 3.7.8.1_m5)
  • Router: MikroTik 751G-2HnD router (RouterOS versie 6.30)
Draytek Vigor 130 VDSL2-modem
Draytek Vigor 130 VDSL2-modem
MikroTik RB751G-2HnD router
MikroTik RB751G-2HnD router

Stap 1. Modem in “bridge mode”

Om te beginnen moeten we het modem in bridge mode zetten. De router die we erachter hangen “praat” dan rechtstreeks met de DSLAM om de PPPoE-sessie op te zetten.

WAN-instellingen
WAN-instellingen

De WAN-instellingen zijn minimaal.

PPPOE-pass-through instellen
PPPOE-pass-through instellen

Op de PPPoE/PPPoA-pagina gaat het om drie instellingen:

  1. PPPoE/PPPoA Client: Enable
  2. PPPoE Pass-through: For Wired LAN (aanvinken)
  3. MTU: 1500 invullen

Dit is alles voor wat betreft het modem.

Stap 2. Routerconfiguratie

Dit is een schematische weergave van de opbouw van de verbinding:

Schema van de verbindingsopbouw
Schema van de verbindingsopbouw

Het modem zorgt voor de “bitpijp” tussen de DSLAM en de router. Tevens wordt daar in de nieuwe opzet de VLAN-tag gestript. Op de router hoeven we dan alleen nog de PPPoE-verbinding op te zetten.

Op de router zelf komt de aansluiting met het modem binnen op ethernetpoort 1. In dit voorbeeld zit verder de DMZ op poort 1 en het gebruikerssubnet op poort 2.

IPv6 werkt bij XS4ALL tegenwoordig alleen als de prefix met DHCPv6 wordt geleased.

De configuratie is dan als volgt (op basis van een /export):

/interface ethernet
set [ find default-name=ether1 ] comment=\
    "Verbinding met VDSL-modem in bridge (plus lokaal 192.168.1.0/24)" name=\
    ether1-vdsl
set [ find default-name=ether2 ] name=ether2-dmz
set [ find default-name=ether3 ] name=ether3-werkkamer
/interface pppoe-client
add add-default-route=yes allow=pap,mschap2 comment=\
    "pppoe-verbinding XS4ALL-internet" default-route-distance=1 disabled=no \
    interface=ether1-vdsl keepalive-timeout=disabled max-mru=1500 max-mtu=\
    1500 name=pppoe-xs4all-inet password=kpn use-peer-dns=yes user=\
    fb7360@xs4all.nl
/ip neighbor discovery
set pppoe-xs4all-inet comment="pppoe-verbinding XS4ALL-internet" discover=no
/ip pool
add name=dhcp-dmz ranges=192.168.2.192/27
add name=dhcp-werkkamer ranges=192.168.5.192/27
/ip dhcp-server
add add-arp=yes address-pool=dhcp-dmz disabled=no interface=ether2-dmz \
    lease-time=2h name=server-dmz
add add-arp=yes address-pool=dhcp-werkkamer disabled=no interface=\
    ether3-werkkamer lease-time=2h name=server-werkkamer
/ip settings
set rp-filter=strict
/ip address
add address=192.168.1.2/24 comment="DrayTek Vigor130 VDSL-modem" interface=\
    ether1-vdsl network=192.168.1.0
add address=192.168.2.1/24 interface=ether2-dmz network=192.168.2.0
add address=192.168.5.1/24 interface=ether3-werkkamer network=192.168.5.0
/ip dhcp-server config
set store-leases-disk=never
/ip dhcp-server network
add address=192.168.2.0/24 comment=DMZ dns-server=192.168.2.1 gateway=\
    192.168.2.1 ntp-server=192.168.2.1
add address=192.168.5.0/24 comment=Werkkamer dns-server=192.168.5.1 gateway=\
    192.168.5.1 ntp-server=192.168.5.1
/ip dns
set allow-remote-requests=yes
/ip firewall filter
add chain=input comment="icmp (gelimiteerd)" limit=10,10 protocol=icmp
add chain=input comment="established, related" connection-state=\
    established,related
add action=drop chain=input comment="verder geen toegang vanaf internet" \
    in-interface=pppoe-xs4all-inet
add chain=input comment=ntp dst-port=123 protocol=udp
add action=drop chain=input comment="verder geen toegang vanaf modem" \
    in-interface=ether1-vdsl
add chain=forward comment="established, related" connection-state=\
    established,related
add action=drop chain=forward comment="drop invalid" connection-state=invalid
/ip firewall nat
add action=masquerade chain=srcnat comment="naar internet" out-interface=\
    pppoe-xs4all-inet
add action=masquerade chain=srcnat comment="naar modem" out-interface=\
    ether1-vdsl
/ip route
add distance=1 dst-address=192.168.0.0/16 type=unreachable
/ipv6 address
add address=2001:db8:1234:2::1 interface=ether2-dmz
add address=2001:db8:1234:5::1 interface=ether3-werkkamer
/ipv6 dhcp-client
add interface=pppoe-xs4all-inet pool-name=xs4all-v6prefix pool-prefix-length=\
    60
/ipv6 firewall filter
add chain=input comment=icmp limit=10,10 protocol=icmpv6
add chain=input comment="established, related" connection-state=\
    established,related
add chain=input comment="DHCPv6-prefix ontvangen van XS4ALL" dst-port=546 \
    in-interface=pppoe-xs4all-inet protocol=udp src-address=fe80::/10
add action=reject chain=input comment="verder geen toegang vanaf internet" \
    in-interface=pppoe-xs4all-inet reject-with=icmp-admin-prohibited
add chain=forward comment="icmp vanaf internet" in-interface=\
    pppoe-xs4all-inet limit=20,20 protocol=icmpv6
add chain=forward comment="overig icmp" protocol=icmpv6
add chain=forward comment="established, related" connection-state=\
    established,related
add chain=forward comment="naar DMZ" dst-address=2001:db8:1234:2::/64
add action=reject chain=forward comment="verder geen toegang vanaf internet" \
    in-interface=pppoe-xs4all-inet reject-with=icmp-admin-prohibited
/ipv6 nd
set [ find default=yes ] advertise-dns=yes
/system clock
set time-zone-autodetect=no time-zone-name=Europe/Amsterdam
/system ntp client
set enabled=yes primary-ntp=194.109.22.18 secondary-ntp=194.109.20.18
/system ntp server
set enabled=yes

Stap 3. Controleer de MTU

Tenslotte willen we natuurlijk controleren of we inderdaad een MTU van 1500 halen. Dat doen we met het ping6-commando. In dit geval moeten we het met root-rechten uitvoeren.

root@xyz:~# ping6 -c 1 -s 1452 -M do www.ipv6-test.com
PING www.ipv6-test.com(agaric.t0x.net) 1452 data bytes
1460 bytes from agaric.t0x.net: icmp_seq=1 ttl=57 time=27.4 ms

--- www.ipv6-test.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 27.472/27.472/27.472/0.000 ms

Bij het “gewone” ping-commando geef je met -M do aan dat het “don’t fragment”-bit gezet moet worden. IPv6 kent geen DF-bit. In plaats daarvan zorgt deze optie ervoor dat ping6 geen fragmentatie toepast, maar daarvoor zijn wel root-rechten benodigd.

Het is correct dat 1452 de grootste payload is die we kunnen verzenden: 1452 (payload) + 8 (ICMPv6 echo request) + 40 (IPv6 header) = 1500 bytes.

Een grotere payload (bijvoorbeeld -s 1454) geeft een foutmelding: “ping: local error: Message too long, mtu=1500”.


Geplaatst

in

door

Reacties

21 reacties op “Eigen router achter een XS4ALL-VDSL-aansluiting (3)”

  1. Aad den Blaauwen avatar

    Bedankt voor dit artikel. Wij hebben een zakelijke VDSL verbinding van KPN. Na veel heen en weer gezeur met de KPN dit modem maar geplaatst. Jouw handleiding erop los gelaten en voila het werkte in een keer. Nu maar hopen sat het stabiel is. De experiabox V8 was een regelrechte ramp moest soms 10 x per dag gereset worden.

    mvrgrt, Aad d. B.

    1. Harold avatar
      Harold

      Leuk om te horen, bedankt dat je een reactie achter hebt gelaten!

  2. Michael Trip avatar
    Michael Trip

    Hallo,

    Goed om dit blog te lezen. Zijn er inmiddels al mensen die dit hebben geprobeert met IPTV? Ik ben voornemens om over te stappen naar XS4ALL maar wil graag al mijn verkeer via de Mikrotik laten lopen. Ik zie hier alleen dat VLAN 6 behandelt wordt. Kun je ook het IPTV vlan hierover laten lopen op dezelfde manier als VLAN 6?

    1. Lennaert Goris avatar
      Lennaert Goris

      Om IPTV aan de gang te krijgen is het van belang om het modem volledig in bridge modus te zetten. Dit kan echter niet middels de PPPoE/PPPoA optie.
      Je kunt het voor elkaar krijgen door MPoA/Static or dynamic IP te enablen en bij de optie “Bridge Mode” “Enable Bridge Mode” aan te vinken. Hierna kun je de setup van netwerkje.com volgen.

  3. Stef avatar
    Stef

    Hallo,

    Omdat Ziggo (oud UPC) mij niet meer zo goed beviel zocht ik een alternatieve internet provider die mij voldoende snelheid kon bieden. Belangrijk voor mij is dat ik mijn Cisco router kan blijven gebruiken en dat deze een extern IP adres heeft (heb nu UPC 5-ip). Waar in het verleden ADSL geen optie was (te traag, te ver van centrale) bleek er een update in mijn wijk te geweest zijn waardoor ik VDSL kan krijgen. XS4all gebeld en gevraagd of gebridged werken mogelijk was. Dit kon inderdaad en verder werd er geen opmerking over gemaakt.

    Dus paar dagen later VDSL besteld en heb de spullen binnen. Lijn wordt als het goed is dinsdag opgeleverd. Ben al eens op het modem (fritz7360) aan het rondkijken gegaan en kan de optie voor bridged mode niet vinden. Dan maar eens internet afgezocht en toen kwam ik tot mijn schik o.a. hier terecht. Kan de fritz7360 niet in bridged mode? Dat had XS4all dan wel eens mogen opmerken als ik er naar vraag.

    Eerst dinsdag maar eens afwachten en dan de helpdesk bellen?

    1. Harold avatar
      Harold

      De FritzBox kan inderdaad niet standaard, via de userinterface, in bridge mode worden gezet. Ik heb het ooit geprobeerd (en werkend gekregen), maar ben daarna overgestapt op de combinatie uit het artikel hierboven.
      De truc om de FritzBox the bridgen bestaat uit het plaatsen van een script met juiste commando’s en de naam debug.cfg in een bepaalde map op de FritzBox. Dit is een goed startpunt voor meer details: http://gjppp.home.xs4all.nl/vdsl-pppoe/

  4. Henk de Vries avatar
    Henk de Vries

    Hi Harold!

    Dank voor de uitstekende uitleg!

  5. Xs4all gebruiker avatar
    Xs4all gebruiker

    Ik heb het zojuist ook uitgevoerd, internet snelheden van 130/30 terug naar 14/1 en latency van 8ms naar 30.

    Het is een VVDSL (vector VDSL) over koper naar een wijkcentrale die op glas zit.

    Andere firmware van ftp://ftp.draytek.com/Vigor130/Firmware/v3.7.8.3/
    Ik draai nu modem5, 100/30 nu met latency van 16ms. Mogelijk nog wat instellingen, maar een stuk beter dan wat er default op stond.

  6. gerard avatar
    gerard

    Hi Harold,
    Bedankt voor de heldere uitleg. Werkte voor mij.

    Wel heb ik een probleem met de snelheid. Met de Fritzbox bereik ik 100/30 en ik ga met de Vigor naar naar 16/1 . Hier ook een vectored VDSL
    Vigor 130 is geupgrade naar software release v3.7.8.3.
    Wat word bedoeld met modem5 ? hoe kun je de instellgen van het vigor modem verder tunnen ?
    Hoor graag

    1. Harold avatar
      Harold

      Als je de releasenotes op draytek.nl leest, hebben ze het bij de Vigor 130 altijd over meerdere firmwareversies (modem1 t/m 7). Modem5 (en 6) is speciaal voor de Nederlandse markt (“Recommended for Netherland ISP – KPN”) en zou geschikt moeten zijn voor Vectoring. Ik geloof ook dat dat de enige versie is die je via de Nederlandse site kan downloaden. Als je op draytek.COM kijkt, zie je ook de andere firmwareversies staan.
      Waarom je in jouw geval niet hoger dan 16/1 komt, weet ik niet. Thuis kom ik tot ongeveer 25mbit en een klant met dezelfde opstelling haalt ongeveer 50/5 (wat ook conform hun abonnement is).

      1. gerard avatar
        gerard

        Bedankt Harold,

        Werkt nu. Was in verwaring gebracht. Draytek brengt onder één software release nummer twee versies software uit. Ik had initieel dus de verkeerde geinstaleerd staan. Inmiddels bereik ik bijna dezelfde snelheid als de Fritzbox. 80 mbps down en 10 up.
        Waar ik nog wel mee worstel is dat de PPPoE verbinding op de mikrotik stokt, dit gebeurd onregelmatig gemiddeld zo 1 keer per dag. De PPPoE verbinding blijft wel staan. Maar er komt geen data door. Moet maar gaan debuggen..

        1. Harold avatar
          Harold

          Wauw, dát zijn nog eens snelheden. Welk model MikroTik heb je? Welke versie van RouterOS? (Ik kan me voorstellen dan een wat ouder model, met de nodige firewallregels een hogere snelheid simpelweg niet aankan.)

  7. SupaYoshi avatar
    SupaYoshi

    Beste Harold,

    Dankjewel voor de uitgebreide informatie zoals je die hier hebt beschreven over de Vigor 130 i.c.m. VDSL van XS4ALL,

    Zit zelf bij KPN en wil ook deze combinatie gaan gebruiken, maar ontvang ook IPTV.
    Ik heb nu een bridge modus oplossing in gebruik, en heb de weebly website gemaakt, http://experiabox-bridge-modus.weebly.com/

    Maar nu wil ik graag Routed TV en een handleiding daar voor schrijven en op zo’n zelfde website plaatsen. Met de V8 is dit helaas niet mogelijk vanwege de beperkingen.

    Met de Vigor 130 lijkt dit alles wel te kunnen zoals jij schrijft.
    Mijn vraag is alleen het volgende.

    Wanneer je VLAN 6 met de PPPoE verbinding verbindt in de router, hoe doe je dit met VLAN 4 dan? Deze laat je volgens mij uitkomen op een ongebruikte poort op je router… maar moet je hier ook een PPPoE sessie voor opzetten?

    Hoor het graag! Thanks

    1. Harold avatar
      Harold

      Ik dénk dat je met DHCP een adres moet vragen. Bij een klant heb ik het opgelost door de Experiabox V8 te bridgen (daarvoor heb ik o.a. jouw beschrijving gebruikt, geloof ik) en daarna met de IGMP-proxy te werken.
      In deze opzet is de MikroTik (MT) met 2 netwerkkabels verbonden met de Experiabox (EB): poort 1 van de MT met poort 1 van de EB en poort 2 van de MT met poort 2 van de EB. Over ether1 van de MT loopt de PPPoE-sessie en over ether2 de TV. Ether2 krijgt via DHCP een RFC1918-adres van de EB. De TV-decoder wordt aangesloten op poort 3 van de MT. (Ja, de decoder kan ook rechtstreeks op de EB, maar het doel van de exercitie was nou juist om álles over de MT te laten lopen.)
      Hieronder de essentie van de configuratie. De vertrouwelijke zaken heb ik eruit gehaald, dus je zal er zelf wat aan moeten editen. Hopelijk heb je er wat aan.

      /interface ethernet
      set [ find default-name=ether1 ] name=ether1-modem
      set [ find default-name=ether2 ] name=ether2-tv-uplink
      set [ find default-name=ether3 ] name=ether3-tv
      /interface pppoe-client
      add add-default-route=yes allow=pap,mschap2 disabled=no interface=\
          ether1-modem keepalive-timeout=disabled max-mru=1500 max-mtu=1500 name=\
          pppoe-kpn password=kpn use-peer-dns=yes user=((juiste inlog))@internet
      /ip neighbor discovery
      set ether1-modem discover=no
      set pppoe-kpn discover=no
      /ip dhcp-client option
      add code=60 name=option60-vendorclass value="'IPTV_RG'"
      /ip dhcp-server option
      add code=60 name=option60-vendorclass value="'IPTV_RG'"
      add code=28 name=option28-broadcast value="'192.168.30.255'"
      /ip dhcp-server option sets
      add name=IPTV options=option60-vendorclass,option28-broadcast
      /ip pool
      add name=pool-30 ranges=192.168.30.192/27
      /ip dhcp-server
      add address-pool=pool-30 disabled=no interface=ether3-tv lease-time=\
          2h name=server-30
      /ip address
      add address=192.168.30.1/24 comment="KPN TV" interface=ether3-tv \
          network=192.168.30.0
      /ip dhcp-client
      add add-default-route=no dhcp-options=option60-vendorclass,hostname,clientid \
          disabled=no interface=ether2-tv-uplink use-peer-dns=no use-peer-ntp=no
      /ip dhcp-server config
      set store-leases-disk=never
      /ip dhcp-server lease
      add address=192.168.30.31 comment="KPN TV-decoder 1" dhcp-option-set=IPTV \
          mac-address=((geheim)) server=server-30
      /ip dhcp-server network
      add address=192.168.30.0/24 comment="KPN TV" dns-server=192.168.30.1 gateway=\
          192.168.30.1 ntp-server=192.168.30.1
      /ip firewall nat
      add action=masquerade chain=srcnat out-interface=pppoe-kpn
      add action=masquerade chain=srcnat out-interface=ether2-tv-uplink
      /ip route
      add distance=1 dst-address=213.75.112.0/21 gateway=192.168.2.254
      /routing igmp-proxy interface
      add alternative-subnets=213.75.0.0/16 interface=ether2-tv-uplink upstream=yes
      add interface=eth3-vlan30-kpntv
      1. SupaYoshi avatar
        SupaYoshi

        Hey Harold, dankjewel!

        Kun je mij eventueel contacten via email, emailadres hieronder is bij jou bekend.

  8. Lennaert Goris avatar
    Lennaert Goris

    Voor geinteresseerden, het is mij gelukt om IPTV van XS4All in combinatie met de Draytek 130 / Mikrotik 2011 aan de praat te krijgen. Zowel in bridged als in routed mode.

    De belangrijkste aanpassing dient gedaan te worden in de config van de Draytek. In plaats van [PPPoE/PPPoA] dient er gebruik gemaakt te worden van [MPoA / Static or dynamic IP].
    Als Encapsulation dien je [1483 Bridged IP VC-Mux] te kiezen.
    VPI/VCI op 8/48
    Modulation op Multimode
    MTU op 1500
    Bridge Mode -> Enable Bridge Mode op checked/true/enabled

    Daarna dien je in de Mikrotik een VLAN aan te maken op de ethernet interface naar de Draytek met VID 4.

    Vanaf hier kan de standaard handleiding op netwerkje.com gevolgd worden.

    In mijn specifieke situatie heb ik het niet voor elkaar gekregen om routed IPTV aan de gang te krijgen direct op de VLAN interface. Daarom heb ik de interface in een bridge gezet en daar de DHCP client op gezet. Ik heb deze bridge ook in de IGMP Proxy en de firewall gebruikt. Ik vermoed dat dit te maken heeft met mijn configuratie (ik verdenk mijn IPSec NAT bypass rules.) Aangezien een en ander momenteel werkt, ben ik niet voornemens dit verder uit te zoeken.

  9. jeroen avatar
    jeroen

    Dag Harold,

    Dank voor de heldere uitleg. Heb je het ook al werkend gekregen met de nieuwste firmware van draytek? Ik krijg het niet voor elkaar met firmware 3.8.0 op de vigor. Met firmware 3.7.9.4 werkt het daarentegen uitstekend.

    Dank en groet,
    jeroen

    1. Harold avatar
      Harold

      Ja, dat heb ik. Eigenlijk wilde ik een nieuwe versie van dit artikel schrijven, maar dat is er nog niet van gekomen. In het kort komt het erop neer dat PPPoE-passthrough niet meer werkt, maar via MPoA (RFC1483/2684) en dan “Enable Bridge Mode” aanvinken. MTU kan je op 1500 laten staan, maar op de MikroTik zet je deze op 1492. Hoger werkt helaas niet. Tenslotte bij General Setup zou ik de VLAN Tag Insertion ook geheel disabled laten. Dat kan je beter op de MikroTik zelf doen.
      Ik zal proberen snel met een update – met plaatjes – te komen.
      – Edit 23.28: die update is er nu.

  10. John avatar
    John

    Ik heb een Vigor 130 met Vigor 2925ac combinatie aan de praat met XS4ALL VDSL en IPTV (bridged). Inderdaad de 130 in Bridge mode en de ppoe sessie laten opbouwen door de 2925 (vlan 6 insert) Als er behoefte aan is kan ik de configuratie verder uitleggen. IPTV is vrij simpel aan de praat te krijgen in bridge mode. Ik heb wat extra instellingen op de 2925 moeten doen om wat audio haperingen te verhelpen. Routed IPTV ook even werkend gehad maar helaas maar op één STB. Ik heb de STBs rechtstreeks op de 2925 aangesloten, zoals gezegd als er interesses is dan wil ik de config verder uitleggen.

    1. Ruben avatar
      Ruben

      John, hoe heb je IPTV aan de praat gekregen met je Draytek in bridge? Ik heb vlan4 doorgezet naar de poort waarop de stb is aangesloten en krijg wel verbinding. Tijdens het booten van de stb faalt ie echter aan het eind van het opstarten met foutcode 563.

      1. John avatar
        John

        Ruben,

        Dan moeten we in contact komen met elkaar? Heb je een mailadres? Vooruitlopend, heb je ook een Vigor 130 met een Draytek router erachter?