{"id":641,"date":"2023-06-27T14:35:12","date_gmt":"2023-06-27T13:35:12","guid":{"rendered":"https:\/\/www.flat-planet.net\/?p=641"},"modified":"2023-06-29T12:41:15","modified_gmt":"2023-06-29T11:41:15","slug":"moving-to-eir-ftth-and-dual-stack-ipv4-ipv6","status":"publish","type":"post","link":"https:\/\/flat-planet.net\/?p=641","title":{"rendered":"Moving to Eir FTTH and Dual-Stack IPv4 &#038; IPv6"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">With the recent price hikes (June 2023) for Virgin Media&#8217;s service, and a well timed knock on the door, I decided to switch (after many years) from Virgin Media [VM] to Eir&#8217;s FTTH service.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It wasn&#8217;t the smoothest install &#8211; which seems to be fairly typical, but up and running for a few days now without any issues.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Main points about the service;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Fiber to the Home [FTTH]!<\/li>\n\n\n\n<li>Dual Stack Public IPv4 &amp; IPv6 addresses &#8211; more on this later<\/li>\n\n\n\n<li>Gigabit downlink<\/li>\n\n\n\n<li>Cheaper!<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Hardware &amp; Software<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Router<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Hardware: EdgeRouter X SFP 6-Port<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Software Release: v2.0.9-hotfix.6<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Switch<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Hardware: DCS-7010T-48<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Software: 4.28.5.1M<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Clients<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Windows: Win 11, Win 10<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Linux: Debian, Android 13, OS X<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">EdgeRouter Configuration<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">WAN Interface<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The connection to the ONT e.g. the WAN port, needs to be tagged with VLAN ID: 10. This seems to be the standard for all FTTH in Ireland (eir, siro, etc.). <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Additionally we&#8217;ll need to have both DHCP and DHCPv6-PD configured to (1) get our IPv4 address, and (2) have our IPv6 prefix delegated to us.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Since Eir provides both public IPv4 and IPv6 addresses, implementing a WAN firewall is advisable.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    ethernet eth0 {\n        duplex auto\n        poe {\n            output off\n        }\n        speed auto\n        vif 10 {\n            address dhcp\n            description Internet\n            dhcpv6-pd {\n                pd 0 {\n                    interface switch0 {\n                        host-address ::1\n                        service slaac\n                    }\n                    prefix-length \/56\n                }\n                prefix-only\n                rapid-commit enable\n            }\n            firewall {\n                in {\n                    ipv6-name WANv6_IN\n                    name WAN_IN\n                }\n                local {\n                    ipv6-name WANv6_LOCAL\n                    name WAN_LOCAL\n                }\n            }\n        }\n    }\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Note: eir will delegate a <code>\/56<\/code> prefix on request, however since the SLAAC service is configured, each subnet on the LAN will have a <code>\/64<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">NAT &amp; Port-Forwarding Services<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The outbound-interface for the NAT service will need to be updated to reflect the now tagged WAN interface.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    nat {\n        rule 5010 {\n            description \"masquerade for WAN\"\n            outbound-interface eth0.10\n            type masquerade\n        }\n    }<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Likewise, the Port-Forwarding will need a change for the <code>wan-interface<\/code> to match.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Testing<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>show interfaces <\/code>will show the IPv4 address assigned to the WAN port, while the first \/64 of our IPv6 space will be assigned to the LAN (switch0)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>~$  show interfaces\nCodes: S - State, L - Link, u - Up, D - Down, A - Admin Down\nInterface    IP Address                        S\/L  Description\n---------    ----------                        ---  -----------\neth0         -                                 u\/u\neth0.10      A.B.C.D\/23                   u\/u  Internet\neth1         -                                 u\/u  Local\neth2         -                                 u\/D  Local\neth3         -                                 u\/D  Local\neth4         -                                 u\/D  Local\neth5         -                                 u\/D\nlo           127.0.0.1\/8                       u\/u\n             ::1\/128\nswitch0      192.168.1.1\/24                    u\/u  Local\n             2001:aaaa:bbbb:cccc::1\/64\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">With a default route via the link-local address, out the WAN interface:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>~$ show ipv6 route\nIPv6 Routing Table\nCodes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,\n       IA - OSPF inter area, E1 - OSPF external type 1,\n       E2 - OSPF external type 2, N1 - OSPF NSSA external type 1,\n       N2 - OSPF NSSA external type 2, B - BGP\nTimers: Uptime\n\nIP Route Table for VRF \"default\"\nK      ::\/0 &#91;0\/1024] via fe80::a2f3:aaaa:bbbb:cccc, eth0.10, 03:56:46\nC      ::1\/128 via ::, lo, 03:58:38\nC      2001:aaaa:bbbb:cccc::\/64 via ::, switch0, 03:50:46\nC      fe80::\/64 via ::, eth0.10, 03:58:02\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">And a ping, just to be sure<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>~$ ping6 facebook.com\nPING facebook.com(edge-star-mini6-shv-01-dub4.facebook.com (2a03:2880:f132:83:face:b00c:0:25de)) 56 data bytes\n64 bytes from edge-star-mini6-shv-01-dub4.facebook.com (2a03:2880:f132:83:face:b00c:0:25de): icmp_seq=1 ttl=58 time=2.41 ms\n64 bytes from edge-star-mini6-shv-01-dub4.facebook.com (2a03:2880:f132:83:face:b00c:0:25de): icmp_seq=2 ttl=58 time=2.11 ms\n64 bytes from edge-star-mini6-shv-01-dub4.facebook.com (2a03:2880:f132:83:face:b00c:0:25de): icmp_seq=3 ttl=58 time=2.12 ms\n64 bytes from edge-star-mini6-shv-01-dub4.facebook.com (2a03:2880:f132:83:face:b00c:0:25de): icmp_seq=4 ttl=58 time=2.13 ms\n^C\n--- facebook.com ping statistics ---\n4 packets transmitted, 4 received, 0% packet loss, time 3011ms\nrtt min\/avg\/max\/mdev = 2.114\/2.197\/2.415\/0.134 ms<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Quirks<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">One annoying behaviour with SLaaC as implemented on the EdgeRouter, is that the default (not changable) config is following <a rel=\"noreferrer noopener\" href=\"https:\/\/www.ietf.org\/id\/draft-ietf-6man-slaac-renum-07.html#RFC4861\" target=\"_blank\">RFC4861<\/a>, which specifies Preferred Lifetime (AdvPreferredLifetime): 604800 seconds (7 days) and Valid Lifetime (AdvValidLifetime): 2592000 seconds (30 days). <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This has the effect that unless the router (EdgeRouter) explicitly signals to stop using a prefix, the hosts will continue to use the same prefix for 7 days. If you restart the router, have a WAN interface flap, etc. Eir will assign a new Prefix, but the hosts will continue to use the old one, meaning that IPv6 connectivity will be broken until you clear out the autoassigned IPv6 addresses (something that is harder to do than you&#8217;d think!!).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Missed Changes<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Switch the outbound SMTP relay from <code>smtp.upcmail.ie<\/code> to <code>mail1.eircom.net<\/code>. Both are still unauthenticated, port 25, using TLS.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Useful Links<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/homelab.ie\/eir-internet-technical-details.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/homelab.ie\/eir-internet-technical-details.html<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/community.ui.com\/questions\/Eir-Ireland-FTTH-Edge-Router-Setup\/ef60150f-8f59-45dc-bf50-f6e3d7784db5\">https:\/\/community.ui.com\/questions\/Eir-Ireland-FTTH-Edge-Router-Setup\/ef60150f-8f59-45dc-bf50-f6e3d7784db5<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.ietf.org\/id\/draft-ietf-6man-slaac-renum-07.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.ietf.org\/id\/draft-ietf-6man-slaac-renum-07.html<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/community.ui.com\/questions\/Feature-request-correct-handling-of-IPv6-router-advertisements-for-dial-up-connections\/1a2b7d1d-90f4-4273-8c8e-8021384d6959\" target=\"_blank\">https:\/\/community.ui.com\/questions\/Feature-request-correct-handling-of-IPv6-router-advertisements-for-dial-up-connections\/1a2b7d1d-90f4-4273-8c8e-8021384d6959<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/board.wtnet.de\/viewtopic.php?f=21&amp;t=9633&amp;start=15\" target=\"_blank\">https:\/\/board.wtnet.de\/viewtopic.php?f=21&amp;t=9633&amp;start=15<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>With the recent price hikes (June 2023) for Virgin Media&#8217;s service, and a well timed knock on the door, I decided to switch (after many years) from Virgin Media [VM] to Eir&#8217;s FTTH service. It wasn&#8217;t the smoothest install &#8211; which seems to be fairly typical, but up and running for a few days now [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[83,95],"tags":[424,420,421,422,40,425,423],"series":[],"class_list":["post-641","post","type-post","status-publish","format-standard","hentry","category-internet","category-data-networking","tag-edgerouter","tag-eir","tag-ipv4","tag-ipv6","tag-networking","tag-slaac","tag-ubiquiti"],"_links":{"self":[{"href":"https:\/\/flat-planet.net\/index.php?rest_route=\/wp\/v2\/posts\/641","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/flat-planet.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/flat-planet.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/flat-planet.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/flat-planet.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=641"}],"version-history":[{"count":4,"href":"https:\/\/flat-planet.net\/index.php?rest_route=\/wp\/v2\/posts\/641\/revisions"}],"predecessor-version":[{"id":646,"href":"https:\/\/flat-planet.net\/index.php?rest_route=\/wp\/v2\/posts\/641\/revisions\/646"}],"wp:attachment":[{"href":"https:\/\/flat-planet.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=641"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/flat-planet.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=641"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/flat-planet.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=641"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/flat-planet.net\/index.php?rest_route=%2Fwp%2Fv2%2Fseries&post=641"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}