___ ___ __ _____ _______ ___ __
/ _ | / _ \/ / / /_ |/ __/ _ \ / _ \___ __ __/ /____ ____
/ __ |/ ___/ /_/ / __// _// // / / , _/ _ \/ // / __/ -_) __/
/_/ |_/_/ \____/____/___/\___/ /_/|_|\___/\_,_/\__/\__/_/
I've finally found some time to upgrade my home router. I'm keeping
some notes here about my configuration, should I need to upgrade it
again in future.
1. INSTALLATION
My router is a APU6B4 by TekLager (teklager.se), running OpenWRT.
It is trivial to access the serial console: connect a USB-Serial cable
and fire up a serial communication software.
I like tio(1).
A debian "standard" live, or any other distro for what it matters, can
be loaded on a plain USB drive, and booted normally.
https://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/
console=ttyS0,115200n8
A second USB drive can be loaded with the "combined" image of OpenWRT.
At present date, the URL looks like this:
https://archive.openwrt.org/releases/<release>/targets/x86/64/openwrt-<version>-x86-64-generic-ext4-combined.img.gz
The file(1) command will identify the uncompressed image as "DOS/MBR
boot sector".
It can be copied with a regular dd over /dev/sda (or whatever the disk
name is).
2. INITIAL TWEAKS
2.1. Reduce attack surface: disable web-based configuration
# service uhttpd stop
# service uhttpd disable
2.2. Hardening of dropbear configuration
Just edit /etc/config/dropbear and install a SSH key.
config dropbear
option PasswordAuth 'off'
option RootPasswordAuth 'off'
option Port '22'
option Interface 'lan'
(NOTE: the Interface option is set to 'lan' even if the bridged
interface is actually called 'br-lan').
3. ENABLE WIFI
The wifi is turned off by default.
https://openwrt.org/docs/guide-user/network/wifi/basic
Actually, the wireless card is not even detected.
I'm running a wle900vx network card, so I have to install a few
dependencies:
opkg install hostapd ath10k-firmware-qca988x kmod-ath10k
(source:
https://teklager.se/en/knowledge-base/openwrt-wifi-configuration-instructions/)
A reboot will be necessary for the kernel to detect the Atheros
driver, then the wireless interface will be listed, for example, in
the output of ifconfig -a.
The wireless is configured in /etc/config/wireless, which can be auto-generated
with the 'wifi config' command, and then edited.
In a nutshell:
config wifi-device 'radio0'
option disabled '0'
config wifi-iface 'default_radio0'
option ssid 'SET SSID HERE'
option encryption 'psk2
option key 'SET PASSPHRASE HERE'
See also:
https://openwrt.org/docs/guide-user/network/wifi/basic
4. ENABLE PORT FORWARDING
FIXME: review this section, update info for OpenWRT 23.05.0
The relevant documentation is here:
https://openwrt.org/docs/guide-user/firewall/fw3_configurations/fw3_nat
In short, /etc/config/firewall must be modified with a configuration
section along the following lines:
config redirect
option target DNAT
option src wan
option dest lan
option proto tcp
option src_dport 2222
option dest_ip 192.168.x.y
option dest_port 22
option enabled 1