Category Archives: SysAdmin

I hope USB-C catches on

A small connector for a lot of power and data

New laptop, new docking station. But not the proprietary plastic tray of olden times; we’ve been trying out these new Anker USB-C mini-docks at work. I’m really impressed by mine: one cable to plug in when I get to my desk, and I have power and networking, an external monitor and mouse, and an SD card reader. Oh, and a USB port left over which charges my phone even when the laptop isn’t on the dock.

It does get properly toasty when the full set of ports are in use, but that’s not entirely a surprise.

The other nice thing about these are that they can be used with recent Macbooks as well as PC laptops, and if the interface lasts, they’ll be re-usable for the next generation of laptops too rather than tied to one model.

Lenovo T470s

Do your keys glow in the dark? Mine do.

I’ve just been issued with one of these as my new work laptop. So far, I have to say I’m impressed – it solves the poor screen resolution of the X230 I had for many years before it, weighs impressively little, doesn’t get hot during light to medium use; generally works.

Its feet don’t grip the desk well enough – they seem to be felt rather than rubber – but I’m sure I can MacGyver my way round that…

More to follow on how I find using Windows as my primary OS for the first time in five years!

SSH rate limiting vs check_by_ssh – oops

Now that I’ve once again got reliable notifications from my monitoring system, being woken up by them at 6.30AM on my first day off for the Christmas break needed fixing. My Nagios has sent out lots of “spurious” alerts for some time, and my hope was that getting woken up by them would motivate me to fix it. I’m pleased to say that it has!

In addition to checking various machines respond to ping, my system also logs into them using check_by_ssh and checks various things by running commands locally. Sometimes the entire block of SSH-based checks for a server would flip over to CRITICAL with “connection timed out”, even though the machine remained up and running. There was no evidence of a high load average to explain the timeouts, and a bit of checking with netcat revealed that connections to port 22 on the machine in question really did time out from the monitoring machine (but not from anywhere else).

At this point, I had a lightbulb moment and remembered that our firewalls automatically block SSH connections from any IP address which attempts more than 10 in a 60 second period. This crude rate limiting is one of many lines of defence against brute-force attacks, but of course, some hosts have more than 10 checks run over SSH. And the way Nagios runs means that quite often, it hits the rate limit, then continues to do so as it re-tries the checks one after another. The backoff it performs doesn’t help, because it backs off the retry interval in lock-step for all 10 checks.

Having added an exemption to the firewall rate limiting for our monitoring server’s IPs, all is now well in Nagios, and hopefully the only rude awakenings from the alerts will now be genuine outages.

(And it only took me five years to find time to get to the bottom of this intermittent problem!)

Pushover (Android push notifications)

I’ve been looking for a new means of getting alerts from my Nagios (server monitoring) for some time. Previously, I used SMS notifications from Nagios, but at upwards of 5p per credit, given the way a flakey link can result in 10 or 20 notifications in a short space of time, this was starting to get quite expensive. It also doesn’t fit very well with the fact that SMS can cost more to receive abroad and, generally, I spend more time in places with a reliable WiFi connection that with a good mobile signal – especially when visiting family at Christmas.

What would seem appropriate here, then, is some kind of push notification service working over data rather than SMS. Notify My Android doesn’t seem as well regarded these days, but Pushover looks really good. I particularly like that you’re provided with an e-mail address which you can just plug in to things like Nagios to have e-mails turn up as push notifications, without having to script their API.

I’m 24 hours into their 7 day trial, and so far so good. Their app is nicely featured including mute/unmute of sound and vibrate notifications, and quiet hours.

Porting a mobile number to AAISP

Just look at my custom network name

St Columba’s has had the same 07 mobile number for a long time, and consequently it’s printed on various signage and readily available online. Traditionally, it’s been assigned to a pay as you go SIM card in a creaky old Nokia phone carried by our facilities manager. However, this approach has its limitations: when they’re on holiday, they have to physically pass the handset to someone else to handle the calls, and it leaves the phone number (arguably an important asset in itself) attached to a pay as you go SIM which might have an employee’s name on it rather than the church’s.

Issuing a new smartphone seemed like the opportune moment to sort this out. I did some digging into business mobile contracts – having the number on one of those would sort the ownership – but none of them seemed to feature call divert which could be configured without having possession of the phone. So I turned to a service I’ve written about here before. In addition to being able to buy 07 numbers on VOIP, AAISP will let you port in existing numbers using a PAC code. Coupled with a Sip2Sim SIM card in the phone, this neatly de-couples the number from where the calls get sent to and gives us the divert via a web page and all the other bells and whistles.

The ordering process was nice and simple and fully automated – I punched the PAC into the order form at A&A, and the number moved over within a couple of working days (it got briefly stuck in the middle, but A&A fixed it out of hours when I asked on IRC – try getting that level of service from a big company). Billing is all via direct debit, and no messing around with paper invoices, which suits us fine.

As the icing on the cake, I calculate that for the volume of calls and data usage of this particular device, it will work out cheaper than any of the mainstream corporate mobile deals I saw. I’ll report back on that.

Virgin Media

We got a Virgin Media (business) line in the church office recently, and although it was quite unstable for the first few weeks, it has now settled down nicely. I can run my monitoring on the end of it without getting lots of false alarms:

vmedia

Colour me impressed, especially for what we’re paying.

URC e-mail fail

I don’t know exactly who my church has outsourced @urc.org.uk e-mail to, but whoever it is clearly hasn’t read RFC822 (“SMTP systems are expected to make every reasonable effort to accept mail directed to Postmaster from any other system on the Internet.”)…

fail

Rather difficult to complain about the original broken address I found…

Update: They did get back to me via Facebook eventually. Still not had an answer on why postmaster@ doesn’t work, though.

Proxy DHCP

Somebody should have thought of this, and it turns out that somebody did.

A couple of years ago, I wrote about setting up a network boot server on my home LAN. I said this meant “taking the job of doing DHCP away from the router and doing it myself on a Linux box”.

Reader, I was wrong.

Setting up my new connection from BT today, I really didn’t want to keep running DHCP separately on a Raspberry Pi. What I wanted was for the Pi to just talk to clients which wanted to do network boot, and leave the BT router to do DHCP for ordinary devices.

This exists, and it’s called proxy DHCP. dnsmasq on the Pi can handle it; this tutorial is the one I got working. Sadly proxy DHCP doesn’t seem to honour options, so I had to take the path prefix (option 210) and manually prepend it to all the paths in my boot config.

This is all back up and working now, and hopefully should prove useful and less disruptive for a few years yet to come.

Now that i have native IPv6 and DHCP is back on the router, the Pi ceases to be a single point of failure, though it’s been rock solid for nearly three years now.

VirtualBox does network boot, of course

VirtualBox does network boot, of course

IPv6 at home from BT

It works – 10/10 on test-ipv6.com; can’t really say fairer than that. I did however enjoy the comedy reverse DNS:

$ curl http://files.dnorth.net/ipquick.php   (05/04 19:19)
2a00:23c4:e81:3100:fdbc:e60a:226e:9903
broadband.bt.com

Oddly enough, broadband.bt.com doesn’t resolve forwards to every IPv6 address on their network, so why bother claiming the reverse?