Blog

IPv6 CPE and Home routers support

The configuration of PPPoE servers and introduction to IPv6 is described in two articles, please read them if you want to configure the ISP part first – https://splynx.com/5665/splynx-ipv6-support/ and https://splynx.com/5684/mikrotik-ipv6-configuration/

In this article are shown examples of configuration of 3 different CPEs from 3 different vendors. We have selected IPv6 routers that are used in networks of Splynx customers. Models of the home routers IPv6 are : TP Link 450, Nucom 8800AC and Mikrotik any RouterOS based router.
Below is a typical scheme of CPE or Home router connection to the ISP with PPPoE and IPv6 enabled

Let’s take a look on the setup. There are two interfaces configured – one is WAN that connects to uplink and second is a LAN interface, that usually works as a bridge, that units all physical LAN interfaces – Ethernet and WiFi.

1. WAN connection
The uplink interface is configured with PPPoE client. PPPoE client connects to PPPoE server and communication between Home router and ISP router works on IPv6 Link Local addresses. It’s also possible to assign a public IPv6 address to Home router, we don’t use it in our configs to not make it too complicated. Public IPv6 on router will be available on LAN interface and this IP can be used to access the router.

When PPPoE Client connection is established, our home router receives IPv6 LAN prefix, that is called Delegated IPv6 prefix. Home router should configure IPv6 address on it’s LAN interface, that will work as gefault gateway for all our devices.
When IPv6 on LAN is configured, our router should start announcing IPv6 to the LAN network (similar what DHCP does in IPv4 world). In LAN environment is almost always used IPv6 Stateless auto configuration that is called SLAAC and is based on IPv6 Neighbor Discovery protocol (ND).

In picture above, router has established a pppoe connection and received a /64 IPv6 pool 2a0f:f041:1000:1::/64. This pool will be used for LAN devices and all devices will create own IPv6 addresses from that pool.

As you remember, while IPv4 is a 32 bit IP address, that is split into 4 octets, IPv6 address is 128 bits and is split into 8 parts, each contains 16 bits of information. 16 bit parts that contain only zeros can be merged with :: symbols. It means that the network, 2a0f:f041:1000:1::/64 that is allocated to router is equal to 2a0f:f041:1000:1:0:0:0:0:/64, but we cut last 4 zero parts and make view of IP network shorter.

2. LAN connection.
In our example, home router uses first IP from received /64 pool. It means that automatically it assigns IP ::1 to it’s LAN interface. This setup is available in Mikrotik routers, other routers will generate automatically IP on their LAN interfaces. So, in case of Mikrotik IP 2a0f:f041:1000:1::1 is used on LAN interface and this IP will become a default gateway for all home devices.
Home devices with IPv6 support have SLAAC enable on their Internet interfaces, get the IPv6 ND information and create own IPv6 address.The following example shows configuration on Mikrotik RouterOS. Window on left side shows PPPoE client interface configuration – we say that it’s needed to get a prefix from PPPoE server. The received prefix is called LAN and is stored in IPv6 pools. Second window shows that IPv6 address is configured on LAN Interface from the prefix LAN, and EUI64 will be used to create IPv6 LAN address. Important is flag “Advertise”, that enables SLAAC and ND on interface, so end devices will be able to get IPv6.

If we want to use IP 2a0f:f041:1000:1::1 on LAN interface instead of ugly generated IP, then just disable EUI64, and setup IP as on example below

Now, Mikrotik CPE/Home router is configured and devices will get access to IPv6 internet.

Let’s check configuration of TP Link. Configuration is much simpler, comparing to Mikrotik. We must be sure that Firmware supports Ipv6, many older TP link devices don’t have ability to work with IPv6. But the devices that support IPv6 are confiured similar way as Mikrotik – enable IPv6 on PPPoE interface, and it will create IPv6 address on LAN with SLAAC enabled.

Nucom 8800AC Fiber ONT router has also similar one step configuration, PPPoE with IPv6 enabled and then IPv6 is configured on LAN and SLAAC enabled to connect end user devices.

And the configuration of NUCOM is shown below

 


Should you have any questions regarding IPv6 and CPE management in Splynx feel free to contact us! If you decide to try Splynx in action, just click the button below!

 

Free Demo

Mobile Scheduling App

Efficient and easy management is a key point for every business. Starting from Splynx v.3.0 we have released Scheduling mobile app for engineers and field technicians.

Our flexible mobile scheduling app is optimized to provide you with quick and efficient task management in the field, so the app works in offline mode. All tasks are located on a central platform, ready for your technicians to complete the job at hand with ease and keep you updated at all times.

Their time is also managed by the integrated calendar, allowing them to navigate through scheduled work quickly and efficiently.

Gone are the days of printed work orders, all tasks, details, checklists, time spent, and customer information is readily available.

 

The integration into maps also provides the possibility to easily track the location of all tasks.

The application is available both on App Store and Google Play Market. Should you have any questions about the Scheduling app or you want to try it in action feel free to contact us and our engineers will assist you.

Mikrotik IPv6 configuration

In this topic, it is described how to configure Mikrotik router to act as PPPoE server with IPv6 enabled. The configuration of IPv6 in general is described in article – https://splynx.com/5665/splynx-ipv6-support/ and IPv6 Home routers configuration you can find here – https://splynx.com/5747/ipv6-cpe-and-home-routers-support/

The first tests were started with ROUTER OS Version 6.42.6, however, unfortunately, version prior to 6.43 doesn’t support Radius Delegated IPv6 attribute at all, in 6.43 it doesn’t support DHCPv6 accounting, so please upgrade at least to 6.46.1 or later RouterOS version.

When the router is upgraded, we can work on PPPoE server configuration.

As the first step, Mikrotik PPPoE server with Radius authentication should be created. Below is the screenshot of PPPoE server configuration on RouterOS.

Please note, that IPv6 pool should be selected and this is important. It is an IPv6 network that we use on PPPoE server. Customers should receive IPv6 delegated prefixes from this pool. At the moment (version 6.46 of Mikrotik), Radius server is not able to assign Delegated-IPv6 network to the PPPoE customer.
That’s why it’s needed to define the pool in IPv6 pool and then, when the customer is online, Splynx grabs used IPv6 network from Radius accounting packets and stores information in own database.

Below is a link to petition that asks Mikrotik to support Delegated-IPv6-Prefix correctly.
Currently, the attribute can be sent from Radius to Mikrotik PPPoE server in the Access accept message, but it is ignored by the router.
In case, when IPv6 prefix is delegated by the IP pool inside Mikrotik PPPoE settings, then attribute Delegated-IPv6-Prefix is sent back to Radius in Accounting packets, informing that customer got certain IPv6 delegated pool.

https://www.change.org/p/wisp-the-implementation-of-radius-delegated-ipv6-prefix-for-mikrotik-pppoe-servers

Unfortunately, there is no way to assign public IPv6 to WAN PPPoE interface of the customer via Radius server. Lack of this feature is not that crucial, because PPPoE works well on local link addresses, but we think that it should be also available on Mikrotik Radius implementation.

Regarding Splynx configuration – the Internet service of customer should be configured with empty IPv6 and Delegated IPv6 fields. The IPv6 appears in online session of customers and is stored to the logs and statistics. Radius based simple queues are applied to the pppoe tunnel and there is no additional queue needed for IPv6 traffic. Below is a screenshot of such sessions

 

 

Another option how to check IPv6 prefixes that were assigned to CPE devices – check the DHCPv6 server leases in Mikrotik.
Below is an example of DHCPv6 active leases

Next question is – how to block IPv6 traffic? Usually, IPv4 traffic is blocked when customer’s IP address is put to the address list and traffic is redirected. The other option is to assign to customer the IP address from special pool for blocked subscribers. This configuration cannot be achieved with IPv6, because currently Radius cannot assign the special pool or manipulate anyhow with IPv6 of the end user.

The only possible option is to have several Profiles configured in Mikrotik PPPoE server. Profile can be sent from Radius to Mikrotik PPPoE router via attribute Mikrotik-Group. Here is a description of the attribute from Mikrotik website :
Mikrotik-Group – Router local user group name (defines in /user group) for local users; HotSpot default profile for HotSpot users; PPP default profile name for PPP users.

In this case, we will define two profiles – default and block, with two different IPv6 pools. Default profile is used for authenticated users and block profile we assign to locked or non-authenticated customers.
These two profiles should be defined in Splynx Radius blocking attributes, please follow the screenshot below.

Second option how to block customers, is to use Mikrotik-Delegated-IPv6-Pool attribute, instead of choosing and configuring the different profiles, it’s possible to set name of Pool that should be used for blocked customer. For example, customer that is active will get IP from pool “default” and in case of blocking – he will get IPv6 from pool “blocked”

 

Mikrotik as CPE or home router with IPv6
Mikrotik can act as a home router or CPE with IPv6 support enabled. First of all, we need to activate IPv6 package that is always disabled by default.

Let’s imagine that we have one WAN interface with pppoe-client and Bridge configured for LAN interfaces.
After the activation of pppoe interface and setting user/password there, we should enable DHCPv6 client on pppoe-client interface. DHCPv6 client should receive the delegated prefix from PPPoE router (yes, it sounds weird, but there is a DHCP client running over PPPOE client for IPv6, because natively there is no way to provide to home router delegated prefix).
Please don’t forget to configure the pool name and then create IP address assignment with SLAAC on LAN interface. Better is just to copy and paste configuration shown on the screenshot below 🙂

 

Should you have any questions related to IPv6 configuration or you want to try Splynx in action, feel free to contact us.

Splynx IPv6 support

Starting from 3.0 version, Splynx has native IPv6 support. In this topic we will cover 3 main areas of IPv6 deployment:
1. IPv6 address management in Splynx;
2. Activation of IPv6 in ISP infrastructure;
3. IPv6 assignments to end-users.

If you want to know more about Mikrotik IPv6 configuration or Home router IPv6 configuration, please read following articles :
https://splynx.com/5684/mikrotik-ipv6-configuration/
https://splynx.com/5747/ipv6-cpe-and-home-routers-support/

IPv6 address management
In Splynx IPv6 management is similar to IPv4 network management. Under Networking there is an IPv6 networks submenu with the ability to add network, show available networks and display detail of usage of each network.

 

 

In the selected example, we have added a /32 IPv6 network. It is the network that is usually assigned to the ISP company by the local registry.

From the /32 network we can choose /48 networks to route them on certain site or PPPoE concentrator. In total, /32 network consists of 65536 /48 networks. It means that we can have up to 65k different high-sites or PPPoE/DHCP NAS routers. Each NAS or PPPoE server or DHCP server (depends on your topology and authentication method), can connect up to 65k subscribers. Always /64 network is delegated to end user’s LAN network or his CPE. Inside one /48 IPv6 network there are 65536 /64 networks.

This basic IPv6 topology design we recommend to use inside small and medium size ISP networks. Of course, there are plenty of other IPv6 planning options that can be found on the Internet, but all these IP plans are quite complicated and just bring more complexity to IPv6 address deployment.

In our example, we have received a network 2a0f:f041::/32 from RIPE NCC.
We decided to dedicate one /48 network to Infrastructure needs – 2a0f:f041:f::/48
PPPoE concentrators will assign IPs from the ranges : 2a0f:f041:1000::/48 and 2a0f:f041:2000::/48.
In case when we have more PPPoE servers, we can use IP networks like 2a0f:f041:1100::/48 or 2a0f:f041:1011::/48 or 2a0f:f041:3050::/48. Actually we used 4-5 /48 IPv6 networks to cover all our NAS routers and infrastructure. And there are still over 65k IPv6 /48 networks left.

As was mentioned above – customers receive /64 prefixes. From these prefixes CPE/home router device creates a pool (similar to IP lan pools in IPv4 world) and IPs from this pool will be assigned to end devices.

Below is an example, how IPv6 appears in Splynx IPv6 networks when a CPE got /64 prefix delegated :

 

Activation of IPv6 in infrastructure
Okay, we have designed a simple IPv6 address plan, let’s recap what should be done during the first phase of IPv6 deployment :
1. BGP peering configured on IPv6 addresses
2. IPv6 network announced to BGP and BGP filters configured
3. Internal connections between infrastructure routers is established on subnetworks from

2a0f:f041:f::/48. Actually all traffic can be routed between routers using Link-local IPv6 addresses, but we have enabled IPs from range 2a0f:f041:f::/48 on our routers to check IPv6 visibility to and from outside.
4. Static routes to 2a0f:f041:1000::/48 and 2a0f:f041:2000::/48 created from BGP infrastructure to PPPoE routers.

IPv6 assignments to the end users
When all above is working, we can start with the most tricky part of IPv6 deployment – assignments of IPv6 to the end users.
Mostly everywhere, end users have own wireless router that connects their devices to the Internet.
Below is the topology of connection of advanced home user, that have one router and two access-point bridges with many devices, such as PCs and phones.

As we can see in this topology, SOHO router has one public IPv4 on it’s WAN interface and one IPv4 from LAN range 192.168.0.0/24 that is used as a default gateway for all devices at home. It’s obvious that a router acts as a NAT server in this scenario, when all customers from home are leaving LAN network and connect to Internet from one public IP and all traffic is sent back to the network via this one single public IP address.

IPv6 world has no NAT. It means that CPE or SOHO/Home router should route public IPv6 network instead of private range. How small home office router will know what IPv6 network it should use and route? This is the job of ISP’s equipment to tell it to CPE/Home router.
In general, ISP router assignes IPv6 address to WAN interface in the same way as it did with IPv4 address, but also it should assign a “LAN” network. This is called Delegated IPv6 network and it’s the network of mask /64. Below is an example.

In our example, Home router received one single IPv6 address 2a0f:f041:a:1::1 on pppoe-client tunnel and additionally it got a prefix, that is automatically configured on LAN interface 2a0f:f041:1000:1::/64. All IPv6 end devices will receive the IP address with ND (Neighbor discover) technology that is called SLAAC. This is a technology of stateless automatic IPv6 address configuration for end users that should be used in local area networks.

In Splynx each customer has Internet service, under settings of this service there are options to assign IPv4 and IPv6 addresses.
The first option “IPv6 network” is for IPv6 assignment to the WAN interface and the second “Delegated IPv6 network” is for the network, that should be used by CPE/Home router inside LAN network.

You can also check the Mikrotik IPv6 configuration example by following this link. Should you have any questions about IPv6 support in Splynx or want to try it in action feel free to contact us.

Xero Accounting integration with Splynx

Splynx v.3.0 has brought many useful features for ISPs. After the integration of Xero accounting platform, Splynx allows Internet Service Providers to streamline and automate the accounting process. Plenty of our customers already take the benefit of this feature.

We try to briefly describe the way how this module works and what billing scenarios can be used for this integration.

The process is quite simple, first of all, we connect to the accounting platform and grab all the information that is configured there, then we match it with the configuration that we have in Splynx with the values that are in Xero. We ca highlight 2 steps in this configuration:

  1. Configuration of Xero add-on and accounting API settings.
  2. Define has the following options during the configuration: Accounting categories, Tax rates, Bank accounts.

Every provider might have a specific way of managing the accounting process, so let us review 3 types of data synchronization methods that we practice. The main difference between these scenarios is how ISPs receive their payments. 

Scenario #1. 

In this scenario, everything is stored and process inside Splynx, so we push all information, customers, and invoices to Xero with correct account numbers. There are providers that prefer to provide their customers with the possibility to pay online via credit cards. In this case, the payment gateway should be connected directly with Splynx and thereafter we synchronize those payments with Xero.

Scenario #2.

Some customers do not have any payment gateways in Splynx, and they want to process everything in Xero, they also might have bank connection with Xero to do immediate bank reconciliations. In this way, Xero will be the so-called payment system for Splynx where we will grab all the payments and link them with customers and invoices.

Scenario #3.

 This is a very rare scenario that is not yet deployed among our Xero users, however, it is possible to reach the desired result since Xero and SageOne integration are the same. There are some customers in South Africa who have their bank account connected with Sage One, however, they also want to provide the possibility to pay the invoices from the portal by Credit Card, thus they need to connect a payment gateway to Splynx. 

Check more information about SageOne integration.

In this case, all payments go to Splynx, however, it differentiates bank payments and does not push them back to SageOne.


This integration saves lots of hours of your accountant as the synchronization process is automatic. In case if you need to import / export some data immediately, there is an option to run manual synchronization that is located in Config / Integrations / Splynx Xero Accounting.

 

There are cases when ISPs afraid to start such integrations as they already have active customers in Splynx and Xero, there is a possibility to connect them and our engineers will fully assist you with this process.

Feel free to contact us if you want to integrate Xero accounting and improve your business drastically!