Skip to content

Linux box as an IPv6 router with SLAAC and DHCPv6-PD

Linux box as an IPv6 router with SLAAC and DHCPv6-PD published on 2 Comments on Linux box as an IPv6 router with SLAAC and DHCPv6-PD

Some time ago I replaced my Mikrotik router with linux box which is working as a router for my home network and as a server for some services.
I had to spend some time to set up IPv6 on linux in such way, that everything was working automatically and without need to configuring anything in statically way. This post will be only about IPv6 part of router configurations.
I omit IPv4 part and configurations of network interfaces, because it is well documented in internet.

My router is running on linux openSUSE leap 42.2. The configurations are the same for other distros but file paths of config files may be different.
eth0 – wan interface of the router
eth1 – lan interface of the router
To make the router working, I had to:

  • change some sysctls to obtain IPv6 address on wan interface of my router by Stateless autoconfiguration (SLAAC).
  • I used wide-dhcpv6-client client to obtain IPv6 adresses pool (DHCPv6-PD) to redistribute addresses from pool on my devices in home network.
  • Redistributing addresses is done by dnsmasq.

First step – sysctls:
Part of my /etc/sysctl.conf confgured to obtain IPv6 address from Stateless autoconfiguration (SLAAC) on wan interface – eth0:

After reboot I can see that my wan interface has public IPv6 address:

Second step – wide-dhcpv6-client:
Configuration of wide-dhcpv6-client which will be obtaining IPv6 address pool (DHCPv6-PD) for lan interface (eth1)

Unfortunately package of wide-dhcpv6-client does not provide configuration file for systemd. To start up wide-dhcpv6-client by systemd I created wide-dhcpv6.service entry:

Enable it on system startup:

After reboot I can see that my lan interface (eth1) has assignment IPv6 address with prefix:

Last step – dnsmasq:
Part of configuration of dnsmasq (/etc/dnsmasq.conf) to redistributing IPv6 addresses in home network. Dnsmasq will also work as dns cache. :

Enable dnsmasq on system startup:

After reboot, devices in home network should be able to use internet by IPv6 🙂

But now, devices in home network are avaible from outside. Each of device has own public IPv6 address which is awailable from outside (internet).
We have to secure it, by allowing only for connections which are initialized from our internal network. It can be done by ip6tables.

It’s all, described configuration works flawlessly for me for days 🙂

Capturing wifi traffic with Cisco Aironet access point.

Capturing wifi traffic with Cisco Aironet access point. published on No Comments on Capturing wifi traffic with Cisco Aironet access point.

It is possible to use Cisco Aironet as wifi sniffer. The device can operate in monitor mode and sending packets to specified destination. This is implemented by WIDS (Wireless IDS?) protocol.
In this case, the packets were capturing using Wireshak. I configured access point to work in monitor mode and to send packets to my computer on address and on 5555 port.

Now device sends packets to my computer, I can launch Wireshark and see them. There is need to set proper packets decoding as CWIDS.


Additionally I set filters to only see traffic from the access point.


It is important to note, that the device is able to monitor only one channel in the same time, but channel can be easily changed: 

Raspberry Pi 2b as a home router with Cisco switch and VLANs

Raspberry Pi 2b as a home router with Cisco switch and VLANs published on 5 Comments on Raspberry Pi 2b as a home router with Cisco switch and VLANs


Some time ago I configured my Raspberry Pi as a home router. Below, in short brief is shown my configuration.

On the Cisco switch, I have created two vlans:
vlan10 – WAN (Internet connection)
vlan20 – LAN (Home network)

The first port of the Cisco switch is connected to the the Internet, and is configured as access port for vlan10. The second port is connected to the Raspberry Pi as trunk port – traffic from vlan10 and vlan20 is tagged on this port. Third port is in access mode and is connected to the home access point.

Network configuration on Raspberry Pi looks as follows:

On eth0 interface I have set address for management purpose in case of problems with access to the Raspberry Pi from vlan’s side. On vlan10 interface I have to set the custom mac address to obtain IP address from my internet provider. Vlan20 with addresses is for my home network.
The rest of my configuration like NAT, dhcp, dns is pretty standard and will not be posted about it here. If you have questions, I will be happy to answer in the comments 🙂

How Raspberry Pi performs as a router on my 100/50 Mb/s internet connection? Quite nicely for a network card supported by USB – which has Raspberry.

802.11n vs 802.11ac performance comparison – cisco aironet 2600, 2700 series

802.11n vs 802.11ac performance comparison – cisco aironet 2600, 2700 series published on 1 Comment on 802.11n vs 802.11ac performance comparison – cisco aironet 2600, 2700 series

It will be my first post on this blog 🙂

Today I want to show my tests of two wireless access points. The short specification of this two devices presents as follows:

air-cap2602i-e-k9802.11N – Cisco Aironet 2600 series AIR-CAP2602I-E-K9 with autonomous ap IOS software 15.3.3-JC
“802.11n with 3×4 multiple-input multiple-output (MIMO) technology with three spatial streams, which sustains 450-Mbps rates”
Full spec: Link

air-cap2702i-e-k9-1802.11AC – Cisco Aironet 2700 series AIR-CAP2702I-E-K9 with autonomous ap IOS software 15.3.3-JC
“802.11ac with 3×4 multiple-input multiple-output (MIMO) technology supporting three spatial streams. This architecture offers a sustained 1.3-Gbps rates”
Full spec: Link

So both devices have 3×4 spatial stream. The main purpose of this test is to show performance diffrence between 802.11N and 802.11AC wireless standard. The differences between the two standards in the brief are:

    – the width of a channel, 802.11N supports up to 40Mhz channel while 802.11AC (phase 1) support up to 80Mhz, and for phase 2 of this standard it is 160Mhz. Cisco Aironet 2700 is a 802.11AC phase 1 device.
    – the modulation, 802.11N supports up to 64-QAM, for 802.11AC it is 256-QAM

As wireless client I will use notebook Dell Latitude e7240 with Intel 7260AC wireless card which has 2×2 spatial stremas. The notebook is running under Opensuse Linux 13.1 with 4.2.5-1 kernel version and iwlwifi-7260-15 firmware for wireless card. Unfortunately I do not have device supporting 3×3 spatial stream.

Let’s get to the test…

I set radio interface on both devices like shown below.
Cisco Aironet 2600:

Cisco Aironet 2700:

For performance testing I use iperf3 between two computers. One of them is connected by gigabit ethernet to the access point, and the second (Dell Latitide) is connected to the wireless network. It looks like below.
Let’s see how the connection looks, when I connect notebook to Aironet 2600. The distance between devices is about 2 meters. I’ll check the statistics of wireless interface in notebook.

I am especially interested in two parameters – txrate, rxrate. It look’s very good, the Intel 7260 wireless card achieved maximum connection bitrate for 2×2 spatial stream device in 802.11N standard – 300Mb/s Rxrate and 300Mb/s Txrate.
Now I launch iperf to see how the performance looks, when device passes real TCP traffic.
On the server I started iperf which is listening for incomming connections on 8888 port.

I’m going to perform download test. On the client I launched iperf in 10 processes to simulate 10 tcp sessions:

and upload:

Wow! 🙂 220 Mb/s download and 172 Mb/s upload speed. In my opinion these are very good results for 802.11n standard.

Let’s check the 802.11AC with Aironet 2700. The connection status on Dell Latitude is showing:

Despite the short distance connection parameters were not as stable as in the case Aironet 2600. I do not know why Intel 7260 did not achieve full rate, which is 866Mb/s Rx/Tx Rate for 2×2 spatial stream client on 80 Mhz channel width. I saw 866Mb/s rates only temporarily. In Addition, there was a problem with the client connection which was hanging up every minute. I solved this problem by remove 802.11d configuration.

I do not understand why it had such an impact. These settings works well in 802.11N.

But, how real speeds I can achieve in iperf test with Aironet 2700?
Download speed:

Upload speed:

442 Mb/s download and 298 Mb/s upload speed.
Nice, almost half gigabit per second. But I was expecting a better result in spite of twice the width of the channel and denser modulation in 802.11ac

That sums up.
Is it worth to upgrade wireless infrastructure from 802.11N to 802.11AC?
It depends on your needs. 802.11N is still fast enough for most applications, and it is stable. But if you work with tasks which are generating heavy network traffic, such as copying big files over local network, you should consider switch to 802.11AC.