A fail-safe for changing network config on headless servers

Lenovo Tiny PC

I’ve been setting up a Lenvo tiny system, which came with an M.2 wifi card. I’m going to probably replace it with another Intel GB / 2.5 GB adapter at some point, but right now I don’t really have a reason to. It is always a little scary when you make major changes to your network configuration on a headless system. This box isn’t physically far away, but it is indeed tucked away in another part of the house and I have no desire to bring a monitor over to it.

I realized, the wifi could serve a purpose in case I bork the bridge config somehow, or something unexpected breaks my configuration. Because I used wifi for the Debian netinstall, ifupdown already connects to wifi on boot, so there’s my failsafe. However, I don’t want or need that to stay up after the wired network is up. So I came up with this:

@reboot sleep 60 && ping -c 3 -I br0 10.0.0.1 >/dev/null 2>&1 && ifdown wlp2s0

Put this in root’s crontab, 60 seconds after cron starts it will try to ping something on the LAN, trying three times. If it can ping successfully, we bring down our backup interface. Beautiful.

This would make even more sense with a cheap USB network adapter just to have a failsafe if you’re experimenting and don’t want to lock yourself out of a system without a monitor (or even a physical serial port, for that matter).

Fail-safe, for what? – long version, for those so-inclined

Well, I wanted to be able to easily network some VMs on this thing, so I set up bridged networking. For those who don’t know, this is how Proxmox lets your VMs basically all share a NIC and each get a DHCP lease from your main network, no double-NAT nonsense, and no need to configure static routes either. I briefly did try ProxMox on this thing, and not to talk down of it but there is a reason I don’t use it… has way too much going on out of the box that I’ll never use. It is a great product, and it definitely has its place but I like the minimal-manual style of setting things up. If I wanted to take advantage of the cluster / high availability features or ZFS snapshots then it is a great way to save you a ton of hassle manually setting up some pretty complicated stuff… But I’m not doing anything that fancy. Proxmox IMO is overkill if you just need to run a few VMs, jails or containers. It is convenient as a “poor man’s KVM” though.

Laptop Motherboard hacked into Minimal Web Server

I had an old Core 2 based “Pentium” laptop kicking around, battery long past dead, no charger either.  Only had 2 GB of RAM, wifi card was already missing… No HDD either! I really had no use for the laptop.

Old parts we won't be needing

So, what to get rid of? Well, as you’ll see further along, I wanted to make this a more compact and simple solution. For most people it probably would make the most sense to just leave your old laptop as, well… a laptop. This thing is nothing special though. Don’t get me wrong, it is 15 years old sure, but that isn’t why it’s considered by most to be nothing more than e-waste. This 15 year old laptop specifically, was pretty poor spec’d even when it was new. New this PC was between $300 – $400, in 2009. So, that is why the battery is no longer in the mix — I have enough paperweights. This battery hasn’t held any charge in a long time. The hinges, webcam, usb ports? Save those for another project. If that’s your thing.

Also won't need these.
Underside

 

The furniture pads keep the board up and off my my desk so it sits with (albeit a small amount) dignity. Here we can see a dirty secret… White tape covering the blindingly bright white and orange LEDs. That little LED board also holds the power button. Kinda important. Some hot glue was used here, hot glue can make a project go south quickly but in some cases it can be forgiven. In the lower left corner you may have spotted the solution to my lacking of a hard drive.

Killer feature

Like I said, a big Raspberry Pi.  It even boots from an SD card!

    Putting an operating system on something like an SD card isn’t something I’d recommend.  However, as seen here it is quite convenient to test multiple configurations.

This is actually sort of a neat feature. It is, and it isn’t. Onboard SD card readers are usually less than stellar and this one is no exception. Bear in mind, this laptop doesn’t have any USB3 ports. Even if it was new enough to have USB3, the card reader would more than likely be USB 2.0.

Future plans include a SATA hard drive. Mechanical, SSD, who cares. But a proper hard disk will be incorporated when one falls into my lap. Till then, this website is brought to you via this FreeBSD powered franken-server. 128 GB of SanDisk goodness.

Technical Resources & Great Websites

Useful resources for geeks using BSD:

FreeBSD live boot images /w SSH enabled. Boot & use / remote installation.
Highly recommended: mfsBSD and mfslinux

FreeBSD WiFi Basic Setup / Configuration – Well put together here

Beginner BSD basics (10 page PDF)  – For people new to FreeBSD & UNIX

Installing & Configuring Grahics Drivers on FreeBSD  – Handbook Chapter 5

Installing Desktop Environments on FreeBSD – Handbook Chapter 8 BSD Daemon

NetBSD Performance and Power Management Tweaks  – Post on unitedbsd.com

Useful resources for geeks using GNU/Linux:

UC Berkley Open Computing Facility Mirror – I can get 300 Mib/sec down!
Definitely a great place to download both BSD and Linux from. They mirror many popular projects.    HTTP   HTTPS

The Debian Administrator’s Handbook  – Very well organized HTML book

Building a Debian Kernel Package – Easier than you may think Debian Wiki
Tux Penguin
Detailed rundown of Linux’s init systems (sysv, systemd) a bit outdated but quite comprehensive yolinux.com Init Tutorial

The T2 System Development Environment  – aims to support all CPU architectures, including maintaining or bringing back architectures which have been dropped in the mainline kernel.  Intel Itanium support as well as fixing drivers and other things which didn’t need to be broken or removed simply because they were “old”.
Visit t2sde.org. The developer documents much of his progress in a series of videos.

 

Useful resources for hardware hacking & modifications:

OpenWRT Project Table of Hardware  – List of devices supported by OpenWRT
Linksys WRT54G         The OpenWRT project is a completely free and open source linux system intended to replace the firmware on your router / wireless AP. It has tons of packages available and has a very active community and development scene.  I’ve used it for years, it is incredibly good firmware.  If you’ve never heard of it think DD-WRT but better, in my opinion.

Parkytowers.me.uk has a website dedicated to re-purposing “thin client” PCs into general purpose PCs, Linux boxes, servers, etc.  This guy has written up information on HUNDREDS of these things, and details hardware and software hacks to get more functionality out of them.  Check it out!  https://www.parkytowers.me.uk/thin/
(you click the DETAILS link and get to a page with all the OEMs down the left side)

© 2025 LostGeek.NET - All Rights Reserved. Powered by ClassicPress, NGINX, Debian GNU/Linux.