manuals:networking:openwrt-freedom-ftth

This page is also available in Dutch.


This article describes how to set up FttH for Freedom.nl, using my own NTU and router combination. I use this setup at home. I only use the internet; I do not watch “legacy” TV, but I have a standalone Canal Digitaal subscription so I don't need any blob-ridden set-top boxes. So my network setup is relatively simple.

I opted not to receive Freedom's Fritz!Box because I had no intention of ever using it. Those things offer way too much functionality to my liking, without providing any source code. All I want is a dumb NTU that does as little as possible. It should convert the optical fiber to an ethernet trunk, and nothing more.

Luckily, Freedom is one of the few ISP's in the world not pushing mandatory devices on their customers. In fact, they let you select whether you want any of their hardware during the ordering process, and they even give a small discount if you don't want any. This is absolutely great service.

I am a big proponent of modem and router freedom, so I do not agree with the current situation of nearly all ISP's forcing modemrouters upon their subscribers. The Germans call this Routerzwang. (Of course, they have a word for it…)

So instead of leasing a Fritz!Box, I bought a ZTE ZXHN F3100 gigabit media converter / NTU. It barely runs any software, as the media conversion is mainly done in hardware.

All the actual work would be done by my trusty TP-Link TL-WDR4300 running OpenWrt. Because this device has an Atheros AR9344 chipset, it requires no blobs to operate.



The OpenWrt router will serve as the actual endpoint in the IP network. All packets just pass through the NTU unaltered.

This means that the router will have to serve as a VLAN capable switch, a PPPoE client, a NAT gateway, a DHCPv4 and DHCPv6 server, and an IPv6 RA server for SLAAC.

I prefer using SSH and vi to configure OpenWrt, but I'll also try to document the GUI.

Setting up VLANs

First, we have to set up the switch. In /etc/config/network, change the bottom config switch_vlan parts as follows:

# This is the LAN VLAN, bridging the four yellow LAN ports
config switch_vlan
	option device 'switch0'
	option vlan '1'
	option ports '0t 2 3 4 5'
 
# This is the tagged WAN VLAN to access the internet
config switch_vlan
	option device 'switch0'
	option vlan '6'
	option ports '0t 1t'


If you prefer to use LuCI, set up Network > Switch like this:

Click Save, but don't apply it yet.

Setting up the WAN interfaces

Higher up in /etc/config/network, change the lan, wan and wan6 interfaces as follows:

# This sets the ethernet adapter's MTU to 1508, so we can use MTU 1500 in the PPPoE tunnel
config device
	option name 'eth0'
	option mtu '1508'
 
# Set the LAN MTU to 1500
config interface 'lan'
	option type 'bridge'
	option ifname 'eth0.1'
	option mtu '1500'
	option proto 'static'
	option ipaddr '192.168.1.1'
	option netmask '255.255.255.0'
	option ip6assign '60'
 
# This is the tagged WAN VLAN to access the internet
# Set the MTU to 1508, because PPPoE has 8 bytes overhead
config interface 'wan'
	option ifname 'eth0.6'
	option mtu '1508'
	option proto 'pppoe'
	option username 'fake@freedom.nl'
	option password '1234'
	# Not necessary, but I prefer extra logging
	option pppd_options 'debug'

Be sure to completely remove the wan6 interface, as it is not needed. The PPPoE tunnel will create a virtual IPv6 WAN interface automatically.

If you prefer to use LuCI, set up Network > Interfaces > WAN like this:

Be sure to completely remove the WAN6 interface, as it is not needed. The PPPoE tunnel will create a virtual IPv6 WAN interface automatically.

Click Save, but don't apply it yet.

Applying the settings

When you used the command line, restart the network service:

service network restart


If you prefer to use LuCI, click Save & Apply.

If you followed everything correctly, you should now receive a /32 IPv4 address and a /48 IPv6 prefix on your WAN interfaces.

Connected LAN clients should get a DHCPv4 lease, a DHCPv6 lease and a SLAAC address.




  • manuals/networking/openwrt-freedom-ftth.txt
  • Last modified: 2020/10/31 07:43
  • by Kevin Keijzer