matthijs110
Gedreven Ontdekker
  • 10Posts
  • 0Oplossingen
  • 2Likes

IPv6-adres per apparaat voor de buitenwereld? Problemen met IP-whitelist op webserver

Sinds een paar weken heb ik een Connectbox in huis ter vervanging van de oude modem. Sindsdien heb ik naast een IPv4-adres ook een IPv6-adres naar de buitenwereld toe.

 

Achtergrond

Als softwareontwikkelaar heb ik een aantal applicaties draaien op een webserver (buiten mijn thuisnetwerk) die afgeschermd zijn met een IP-adres filter. Dat was vóór de vervanging van de modem mijn IPv4-adres. Nu is dat het IPv6-adres. Tot noch toe geen probleem. Ik gebruikte het IP-adres dat je via allerlei online tools  kunt vinden.

 

Tot mijn verbazing viel het mij op dat andere apparaten (behalve mijn PC) geblokkeerd werden door het IP-filter. Na wat uitzoekwerk blijkt dat ieder apparaat in mijn thuisnetwerk een ander adres heeft naar de buitenwereld. Dat zie ik ook terug in de logbestanden van mijn webserver. Dit zou betekenen dat ik ieder apparaat op een whitelist moet zetten, en daar zit ik niet echt op te wachten.

 

Ik heb geprobeerd om de IPv6-adressen uit de informatiepagina bij de modeminstellingen te gebruiken, maar ook dat hielp niet. Het IPv6-adres komt voor de buitenwereld niet overeen met degene die bij de modeminstellingen vermeld staat, zoals dat wel het geval is met IPv4.

 

Mijn vragen

  1. Klopt het dat ieder apparaat binnen hetzelfde thuisnetwerk een eigen IPv6-adres heeft naar de buitenwereld
  2. Heb ik als Ziggo klant ook een "gedeeld" IPv6-adres die ik kan gebruiken in IP-filters?
  3. Is het mogelijk om IPv6 (in het ergste geval) uit te schakelen?

Ik hoor graag wat mogelijke oplossingen zouden kunnen zijn. Uiteraard is het webserver gedeelte off-topic, maar tips zijn altijd welkom 😉

2 Geaccepteerde oplossingen

Geaccepteerde oplossingen
tobiastheebe
Super Expert
Super Expert
  • 4315Posts
  • 227Oplossingen
  • 1432Likes

Voor (web)applicaties op de server welke je via de FQDN benadert zijn er dan vier opties:

 

  • IPv6 uitschakelen op de NIC's van apparaten waarmee je de server wil benaderen en het publieke IPv4-adres opnemen in de whitelist(s).
  • IPv6-adressen van bovenstaande apparaten opnemen in de whitelist(s).
  • AAAA-record verwijderen (houd rekening met TTL en propagatietijd).
  • IPv4 Only aanvragen.

 

Services als SSH en FTP die normaliter niet via de browser verlopen kun je wel direct op IPv4 benaderen, daarop zijn bovenstaande opties niet van toepassing.

Bekijk in context

WdeJong
Stamgast
  • 37Posts
  • 1Oplossingen
  • 10Likes

Je krijgt zoals gezegd inderdaad niet 1 IPv6 adres naar buiten toe, maar jouw modem krijgt itt. 1 IPv4 adres een IPv6 prefix (subnet) toegekend. Al die adressen zijn te aggregeren tot 1 whitelist entry

 

Een (volledig uitgeschreven) IPv6 adres bestaat uit 8 delen, gescheiden door :

 

Stel het IPv6 adres van je PC is 2001:db8:dead:b33f:abcd:ef12:3456:789a

 

 

Jouw Ziggo modem zal een prefix length van /64 uitgeven, dan is wat je zou kunnen whitelisten:

 

2001:db8:dead:b33f::/64

 

Je pakt dus de eerste 4 ‘stukjes van het IPv6 adres, en je plakt er ::/64 achter, dat is dan je eigen unieke LAN prefix (gelijk aan een subnet binnen IPv4, bijv. 192.168.178.0/24) en dat is wat je vervolgens dus kan whitelisten

(er van uitgaande dat de firewall/ACL waar je het op instelt met prefixen over weg kan, wat in geval van IPv6 eigenlijk wel zou moeten)

 

Absoluut geen noodzaak om terug naar IPv4-only te gaan, zou zonde zijn.

Bekijk in context

20 Reacties 20
tobiastheebe
Super Expert
Super Expert
  • 4315Posts
  • 227Oplossingen
  • 1432Likes

Bij IPv6 is er geen NAT zoals bij IPv4. Ieder apparaat dat via IPv6 communiceert met de buitenwereld, heeft een uniek IPv6-adres binnen een subnet dat via PD wordt toegekend aan de router door de DHCPv6-server van Ziggo.

 

Er zijn ook nog andere typen IPv6-adressen zoals ULA en loopback. ULA-adressen zijn wel vergelijkbaar met IPv4-adressen binnen het LAN. Loopback-adressen worden door de netwerkadapter zelf aangemaakt. Alleen het 'echte', publieke IPv6-adres is echter te gebruiken in een whitelist van bijvoorbeeld een VPS.

 

Je kunt een ander configuratieprofiel (IPv4 Only) aanvragen voor het modem, zodat alleen IPv4 overblijft voor internetverbindingen. Indien je geen IPv6 DS-Lite hebt, dan heb je ook nog een persoonlijk IPv4-adres dat je op de 'oude' manier kunt gebruiken.

matthijs110
topicstarter
Gedreven Ontdekker
  • 10Posts
  • 0Oplossingen
  • 2Likes

(bijgewerkt)

 

Interessant 🤔 Nooit geweten.

 

Hoe weet ik of ik een IPv6 DS-Lite heb? Want in de modem heb ik zowel een IPv4 als een IPv6 adres. Zover ik weet, bepaalt de browser welk IP-adres hij uitgeeft naar servers, maar daar kan ik naast zitten

tobiastheebe
Super Expert
Super Expert
  • 4315Posts
  • 227Oplossingen
  • 1432Likes

Je kunt het beste even controleren welk configuratieprofiel is toegewezen aan het modem, IPv6 Full Dual-Stack of DS-Lite. Zelf controleer ik dit door het publieke IPv4-adres op te zoeken.

 

Als het IPv4-adres zich niet in subnet 213.127.0.0/17 bevindt, dan heb je FDS en heb je een eigen, publiek IPv4-adres waarmee je de server en de applicaties daarop kunt benaderen. Dat adres kun je in de whitelist opnemen. In het andere geval (DS-Lite) zou ik je adviseren om IPv4 Only aan te vragen bij Ziggo. Let op: teruggaan naar IPv6 DS-Lite is dan niet meer mogelijk.

 

Bij DS-Lite deel je een publiek IPv4-adres via CGNAT. Dat IPv4-adres hoort bij een AFTR, een core router bij Ziggo. Een dergelijk IPv4-adres verandert regelmatig en is niet geschikt voor een whitelist.

 

Aangezien publieke IPv6-adressen nog wel eens veranderen, is het niet zo handig om deze in een whitelist op te nemen.

matthijs110
topicstarter
Gedreven Ontdekker
  • 10Posts
  • 0Oplossingen
  • 2Likes

Ik kom er zo 123 niet achter wat mijn subnet is, maar ik weet wel dat de modem een eigen IPv6 adres heeft naar de buitenwereld (die ook niet snel veranderd). Alleen komen alle verzoeken standaard binnen met het IPv6-adres. De tool IPv6 test geeft zowel een IPv4 als een IPv6-adres terug, waarbij IPv6 als standaard terugkomt.

 

 

tobiastheebe
Super Expert
Super Expert
  • 4315Posts
  • 227Oplossingen
  • 1432Likes

Met welke twee octetten begint het IPv4-adres dat die test als resultaat gaf?

matthijs110
topicstarter
Gedreven Ontdekker
  • 10Posts
  • 0Oplossingen
  • 2Likes

94.213

tobiastheebe
Super Expert
Super Expert
  • 4315Posts
  • 227Oplossingen
  • 1432Likes

Dan heb je Full Dual-Stack en kun je dat IPv4-adres gebruiken in de whitelist c.q. voor het benaderen van (applicaties op) de server.

matthijs110
topicstarter
Gedreven Ontdekker
  • 10Posts
  • 0Oplossingen
  • 2Likes

Goed om te weten. Bedankt voor uit uitzoeken 👍

 

Helaas werkt het nog niet voor mij. Alle verzoeken naar mijn VPS komen (nog steeds) binnen als IPv6-adres. Naar het IPv4 adres wordt niet gekeken. Dit lijkt mij verder een off-topic onderwerp, dus ik gok dat het beter is om dan een IPv4 Only aan te vragen om dit "gedoe" te vermijden.

tobiastheebe
Super Expert
Super Expert
  • 4315Posts
  • 227Oplossingen
  • 1432Likes

Benader je de server via een FQDN waar ook een AAAA-record (IPv6) aan gekoppeld is? Voor bijvoorbeeld SSH kun je de server direct benaderen op het IPv4-adres, voor webapplicaties wordt dit lastiger.

 

Ik adviseer om IPv4 Only als 'last resort' te bewaren, gezien Ziggo beleidsmatig niet opnieuw FDS kan toewijzen daarna.

matthijs110
topicstarter
Gedreven Ontdekker
  • 10Posts
  • 0Oplossingen
  • 2Likes

Ik benader inderdaad mijn server via een FQDN en deze heeft zowel een A- als AAAA-record naar de VPS

tobiastheebe
Super Expert
Super Expert
  • 4315Posts
  • 227Oplossingen
  • 1432Likes

Voor (web)applicaties op de server welke je via de FQDN benadert zijn er dan vier opties:

 

  • IPv6 uitschakelen op de NIC's van apparaten waarmee je de server wil benaderen en het publieke IPv4-adres opnemen in de whitelist(s).
  • IPv6-adressen van bovenstaande apparaten opnemen in de whitelist(s).
  • AAAA-record verwijderen (houd rekening met TTL en propagatietijd).
  • IPv4 Only aanvragen.

 

Services als SSH en FTP die normaliter niet via de browser verlopen kun je wel direct op IPv4 benaderen, daarop zijn bovenstaande opties niet van toepassing.

Bekijk in context

matthijs110
topicstarter
Gedreven Ontdekker
  • 10Posts
  • 0Oplossingen
  • 2Likes

Ik heb ervoor gekozen om om dan maar het AAAA-record te verwijderen. Destijds heb ik deze voor de volledigheid toegevoegd. 

 

Nu lijkt alles weer zoals eerst te werken 🙂

 

Bedankt voor je uitgebreide hulp en uitleg! 👍

WdeJong
Stamgast
  • 37Posts
  • 1Oplossingen
  • 10Likes

Je krijgt zoals gezegd inderdaad niet 1 IPv6 adres naar buiten toe, maar jouw modem krijgt itt. 1 IPv4 adres een IPv6 prefix (subnet) toegekend. Al die adressen zijn te aggregeren tot 1 whitelist entry

 

Een (volledig uitgeschreven) IPv6 adres bestaat uit 8 delen, gescheiden door :

 

Stel het IPv6 adres van je PC is 2001:db8:dead:b33f:abcd:ef12:3456:789a

 

 

Jouw Ziggo modem zal een prefix length van /64 uitgeven, dan is wat je zou kunnen whitelisten:

 

2001:db8:dead:b33f::/64

 

Je pakt dus de eerste 4 ‘stukjes van het IPv6 adres, en je plakt er ::/64 achter, dat is dan je eigen unieke LAN prefix (gelijk aan een subnet binnen IPv4, bijv. 192.168.178.0/24) en dat is wat je vervolgens dus kan whitelisten

(er van uitgaande dat de firewall/ACL waar je het op instelt met prefixen over weg kan, wat in geval van IPv6 eigenlijk wel zou moeten)

 

Absoluut geen noodzaak om terug naar IPv4-only te gaan, zou zonde zijn.

Bekijk in context

tobiastheebe
Super Expert
Super Expert
  • 4315Posts
  • 227Oplossingen
  • 1432Likes

Graag gedaan!

 

Had het AAAA-record zo'n korte TTL? Ben enigszins verrast dat het nu al werkt.

@WdeJong Goede tip, het volledige PD-subnet op de whitelist plaatsen! Daar had ik nog niet aan gedacht.

matthijs110
topicstarter
Gedreven Ontdekker
  • 10Posts
  • 0Oplossingen
  • 2Likes

Ja, hij had een TTL van 5 minuten. Pingen geeft nog steeds een IPv6 terug (zal caching zijn), maar mijn VPS ziet het verzoek al als IPv4.

matthijs110
topicstarter
Gedreven Ontdekker
  • 10Posts
  • 0Oplossingen
  • 2Likes

@WdeJong  schreef:

Je krijgt zoals gezegd inderdaad niet 1 IPv6 adres naar buiten toe, maar jouw modem krijgt itt. 1 IPv4 adres een IPv6 prefix (subnet) toegekend. Al die adressen zijn te aggregeren tot 1 whitelist entry

 

Een (volledig uitgeschreven) IPv6 adres bestaat uit 8 delen, gescheiden door :

 

Stel het IPv6 adres van je PC is 2001:db8:dead:b33f:abcd:ef12:3456:789a

 

 

Jouw Ziggo modem zal een prefix length van /64 uitgeven, dan is wat je zou kunnen whitelisten:

 

2001:db8:dead:b33f::/64

 

Je pakt dus de eerste 4 ‘stukjes van het IPv6 adres, en je plakt er ::/64 achter, dat is dan je eigen unieke LAN prefix (gelijk aan een subnet binnen IPv4, bijv. 192.168.178.0/24) en dat is wat je vervolgens dus kan whitelisten

(er van uitgaande dat de firewall/ACL waar je het op instelt met prefixen over weg kan, wat in geval van IPv6 eigenlijk wel zou moeten)

 

Absoluut geen noodzaak om terug naar IPv4-only te gaan, zou zonde zijn.


Ik zat er eerder ook al aan te denken om de prefix te gebruiken, maar ik wist niet zeker of die prefix gedeeld wordt door meerdere Ziggo klanten. Is dat niet het geval?

 

De aanname dat de prefix gedeeld wordt weerhield mij om te kiezen voor die oplossing.

tobiastheebe
Super Expert
Super Expert
  • 4315Posts
  • 227Oplossingen
  • 1432Likes

De /64 is van jou alleen.

matthijs110
topicstarter
Gedreven Ontdekker
  • 10Posts
  • 0Oplossingen
  • 2Likes

Top, dan doe ik het op de prefix manier. Lijkt mij dan de best practice.

 

Bedankt @tobiastheebe en @WdeJong 👍

DennyW
Expert
Expert
  • 2767Posts
  • 232Oplossingen
  • 690Likes

Algemene opmerking:

Het "verraderlijke" van het gebruik van een tool zoals ipv6-test is dat je deze aanroep met gebruikmaking van de op een PC (en derg.) geïnstalleerde internet-bowser. Het (externe) IPv6-IPadres dat je dan te zien krijgt is het individuele IPv6-IP-adres van die (ene) PC.
(N.B.: Draait die PC op Windows wees er op bedacht dat dit OS gewoonlijk ook nog eens tijdelijke IPv6-IP-adressen aanmaakt.)

Uitgelicht topic