Skip to main content

Networking

Opinionated Router Benchmark

My home Internet connection is a VDSL/FTTC (fibre to the cabinet) which comes over the telephone line into a BT master socket which has an ADSL filter and requires a modem. The modems are now usually built into the BT Home/Smart Hub CPE (Customer-premises equipment) but I still use a Huawei HG612 standalone modem as I don’t particularly like the CPE I was given. So I need a router to talk PPPoE to the modem and also firewall, route and NAT my home lan traffic to the Internet. I used a pair of Linksys WRT3200ACM devices: one as a router and wireless access point and the other as just a wireless access point. However while I was quite happy with them, the overall experience was not great: Ring devices would not connect, Tapo devices would not upgrade firmware and the overall signal quality around the house was not very good. So I upgraded to some Aruba Mesh wireless access points, which turned out to be great. However this left most of the functionality of the WRT3200ACM unneeded in what is quite a large physical footprint, also I don’t want to overload the device by turning my internet router into a NAS. Thus I needed to find a replacement device that just does the routing. Also with the new access points I also changed to a managed network switches with vlans to allow guest wifi, an untrusted iot network, etc. Thus the new device could just be a single port router on a stick with a single trunk link.

Linux Networking Config

Linux Networking Config is a complex beast these days. In fairness networking is complicated, and there has to be a way to configure a multitude of technologies: Ethernet, Wi-Fi, PPP, VPN, mobile, bridge, bonding, VLAN, tunnels. Originally networking was configured during boot up in shell scripts as part of sysvinit. However over the last 20+ years many newer ways have popped up; this is a short comparison of the options.

Wireless and Copper Routing on Windows

Ever used a laptop with a wireless and a copper network interface? Practically every laptop has both, so chances are you have. Have you ever wondered what happens if you plug in with copper, turn wireless on and have both interfaces configured with an IP address? I decided to do this and have a quick look at the routing table to see what goes on.

Minimal pppd Setup For GPRS Dongles

So you have a mobile broadband dongle and you want to use it on Linux, one option is to just plug it in and from Gnome 3 it just works and can be set-up instantly with NetworkManager. However I require something more permanent, something that will start at boot, be less interactive and stay up. There is a lot of misinformation out there about how to do this with various programs and scripts to copy and paste. Lots of wvdial configurations and lots of poking about in /etc/ppp creating and modifying files etc.

Spotify Traffic Analysis

A colleague asked me how much bandwidth Spotify uses. I basically had no idea. I want to run Spotify on my mobile at some point, so it got me thinking. I decided to do some basic analysis. I ran the client behind a http proxy for a day or so and ran a tcpdump at the same time with a filter to capture all the traffic to the proxy. The dump ran from 19/10/2010 11:46 to 20/10/2010 17:19 and produced a 362M capture file. For the most part I was not playing any music, then for the last few hours I played music I had not played before.

Weird Traceroute

I was looking at a development web site I am involved with and I was interested in where the site was in the big bad world, so I decided to traceroute to it [1]. What seemed very unusual was that the 5th hop reported an IP address in the 10.0.0.0/8 private address space. To quote Sam “10.what now?”. I’m still amazed that packets with private source addresses are routed across the Internet![2]

ICMP Redirect

Today I found out where Linux exposes the extra routing information gathered from ICMP redirects. ip route show cache will show the entire cached routing table. It’s a bit hard to read so ip route show cache 1.2.3.4 is better. For example 192.168.1.0/24 is a network that is connected via a host on my 192.168.0/24 network. My default gateway (192.168.0.1) has a static routing entry to the host that gateways for the 192.168.1.0/24 network (192.168.0.57). So when a random host on the 192.168.0.0/24 network pings a host on the 192.168.1.0/24 network it first sends to 192.168.0.1 but it sends an ICMP redirect saying that in the future it would be better to just send direct to 192.168.0.57.