Steps to setting up (from scratch) an OPNsense router in a SOHO setting. They are NOT in order, rather by subject. Assumes you have a network plan in place. Also assumes a single router, with no HA type setups.
Hardware
- Hardware assembly and bringup
- BIOS setup
- Implement maintenance (cron)
- Implement Event and Statistics Logging
- Implement Monitors, Reporting, Analysis and Alerting (e.g. ntopng, monit, munin)
OS
- OS install and bringup; package update
- OS access and auth
- OS backup setup (local)
- OS backup setup (remote)
- Implement maintenance (cron)
- Implement Event and Statistics Logging
- Implement Monitors, Reporting, Analysis and Alerting (e.g. ntopng, monit, munin)
System Services
- Setup local logging
- Setup remote logging to logging server
- Config cron service
- Config monit service
- Config munin service
- Setup NTP server on router; backup server on LAN host
- Implement maintenance (cron)
- Implement Event and Statistics Logging
- Implement Monitors, Reporting, Analysis and Alerting (e.g. ntopng, monit, munin)
Network Links
- Network hardware bringup
- LAN link(s) bringup (dual stack)
- WAN link(s) bringup (dual stack)
- Implement maintenance (cron)
- Implement Event and Statistics Logging
- Implement Monitors, Reporting, Analysis and Alerting (e.g. ntopng, monit, munin)
Network Routes
- Link aggregation bringup and/or LTE/5G failover link(dual stack)
- Setup VLAN (and other things like bridges)
- Gateway(s) configuration
- Setup aliases
- Setup any static routes required (including SNAT)
- Setup bi-directional network pings (dpinger,monit)
- Implement maintenance (cron)
- Implement Event and Statistics Logging
- Implement Monitors, Reporting, Analysis and Alerting (e.g. ntopng, monit, munin)
VPN
- Setup VPN (and things like tunnels)
- Setup any static routes required (including SNAT)
- Implement maintenance (cron)
- Implement Event and Statistics Logging
- Implement Monitors, Reporting, Analysis and Alerting (e.g. ntopng, monit, munin)
Network Services
- Setup DHCP/SLAAC; Router Advertisement
- Setup DNS for local network lookups
- Setup DNS for external lookup caching; secure DNS
- Setup DNS for external hosts; setup dyndns
- Implement maintenance (cron)
- Implement Event and Statistics Logging
- Implement Monitors, Reporting, Analysis and Alerting (e.g. ntopng, monit, munin)
External Hosts
- Setup IPv4 firewall rules for external access (e.g. port forward, etc)
- Setup IPv6 firewall rules for external access (e.g. port opens, etc)
- Implement maintenance (cron)
- Implement Event and Statistics Logging
- Implement Monitors, Reporting, Analysis and Alerting (e.g. ntopng, monit, munin)
Network Security
- Config firewall
- Config spamhaus drop lists
- Config bogon drop lists
- Config DNSBL (e.g. Unbound DNS)
- Config IDS (e.g. surricata and CrowdSec)
- Implement maintenance (cron)
- Implement Event and Statistics Logging
- Implement Monitors, Reporting, Analysis and Alerting (e.g. ntopng, monit, munin)
Network Performance
- Setup web caching (e.g. http proxy)
- Setup QoS/traffic shaping
- Implement maintenance (cron)
- Implement Event and Statistics Logging
- Implement Monitors, Reporting, Analysis and Alerting (e.g. ntopng, monit, munin)