ASUS Router Operations

SkillSecurity

ASUS router config and hardening: Asuswrt-Merlin, security hardening, encrypted DNS (DoT/DoH), VPN (WireGuard/OpenVPN), guest networks, VLAN/IoT isolation, AiMesh, AiProtection. Triggers on: asus router, asuswrt, merlin, wireguard router, AiProtection, AiMesh, nvram, jffs, IoT isolation.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the ASUS Router Operations skill

What this skill tells your AI

The instructions your AI receives, as published by 0xdarkmatter/claude-mods in skills/asus-router-ops/SKILL.md and read by ahel’s review.

Facts verified as of 2026-07.

Authoritative guidance for configuring and hardening ASUS routers — stock Asuswrt and Asuswrt-Merlin firmware — via the web UI and SSH/nvram. Covers security hardening, encrypted DNS, VPN, network segmentation, AiMesh, AiProtection, and JFFS scripting.

Safety first. Changes here can lock you out or drop the network. Test during low-usage windows, document the before value, and know how to undo. Cite official docs, not folklore.


Stock Asuswrt vs Asuswrt-Merlin

Stock AsuswrtAsuswrt-Merlin
BaseASUS officialCommunity fork of ASUS source (same core, more control)
ScriptingLimitedJFFS custom scripts, cron, services-start, firewall-start, nat-start
DNS controlBasicDNS Director (per-client/global DNS redirection, DoT)
VPNOpenVPN/WireGuard server+client+ VPN Director (policy/split-tunnel routing)
Best forMost usersPower users wanting scripts, fine-grained DNS/VPN routing

Never mix stock and Merlin nodes in the same AiMesh network. Keep the firmware family consistent across mesh nodes.


Security hardening checklist

Do these on every new router, in order:

  1. Change defaults immediately — both the admin/login password and the WiFi password.
  2. Disable WPS — it's a brute-force surface.
  3. Disable UPnP unless an app genuinely needs it (it creates unpredictable port forwards).
  4. Use explicit port forwarding, never DMZ — DMZ exposes the entire device.
  5. Disable remote WAN admin access — use a VPN to manage remotely instead.
  6. Enable AiProtection (two-way IPS + malicious-site blocking) where available.
  7. Set up a guest network with intranet access disabled (proper isolation).
  8. Enable firewall logging for security monitoring; forward to syslog if you have a collector.
  9. Apply ingress filtering (BCP38/84 anti-spoofing) where supported.
  10. Keep firmware current — security fixes land in point releases.

See references/hardening-and-network.md for the full hardening rationale, VLAN/IoT segmentation, AiMesh backhaul tuning, QoS, and dual-WAN.


DNS privacy stack

LayerWhatNotes
TransportDoT (DNS over TLS) or DoH (DNS over HTTPS)Stops plaintext port-53 hijacking. Merlin DNS Director can enforce DoT
ProviderCloudflare (1.1.1.1), NextDNS, ControlD, AdGuardChoose for filtering/analytics needs
ValidationDNSSECValidates record authenticity
Per-client policyDNS Director (Merlin)Different DNS per device/profile; split-horizon
Rebinding protectionOn by defaultCan break local services (Plex, smart home) — whitelist specific domains rather than disabling wholesale

Avoid plain DNS (port 53) — unencrypted and hijackable. Move to DoT/DoH.


VPN decision table

NeedUse
Fast modern tunnel, low overheadWireGuard server/client (preferred where supported)
Maximum compatibility / legacy clientsOpenVPN server/client
Route only some clients/traffic through VPNVPN Director (Merlin) — policy-based split tunnel
Remote admin of the routerVPN in, then manage on LAN (never expose WAN admin)

Common clients: NordVPN, Surfshark, Mullvad via OpenVPN/WireGuard config import.


Network segmentation

GoalApproach
Visitor isolationGuest network with "Access Intranet" off
IoT containmentDedicated guest/VLAN SSID; block lateral movement to main LAN
Consistent guest across meshEnable guest on AiMesh deliberately; mind "Access Intranet" per node
Smart-home discoverymDNS/Bonjour may need controlled cross-VLAN allowances — scope narrowly
Segmented routingVLAN segmentation + routing policies (capability varies by model)

Patterns to avoid

Anti-patternWhyInstead
DMZ modeExposes the whole device to the internetExplicit per-port forwarding
UPnP globally onUnpredictable auto port forwardsEnable only when required, understand the risk
Plain DNS (port 53)Plaintext, hijackableDoT/DoH
Mixing stock + Merlin in AiMeshInconsistent behaviorKeep firmware family uniform
Disabling DNS rebind protection wholesaleReopens rebinding attacksWhitelist the specific local domains that break
Wireless mesh backhaul on congested channelsThroughput collapseWired backhaul or dedicated DFS 5GHz channel
Default admin/WiFi credentialsTrivial compromiseChange both immediately
Remote WAN admin enabledMajor attack surfaceManage via VPN

Operating principles

  1. Reversibility — record the current value before changing; know the undo path.
  2. Testability — change during low-usage windows; verify before walking away.
  3. Trade-offs — note privacy-vs-functionality costs (rebind protection vs local services).
  4. Verification — confirm via system log, client-side test (e.g. DNS leak test), or nvram get.
  5. Cite official docs — avoid unverified tweaks.

SSH / JFFS scripting (Merlin)

Merlin runs user scripts from JFFS at lifecycle points. Enable JFFS custom scripts and configs (Administration → System) first.

ScriptRuns atUse for
services-startAfter services startStart custom daemons
firewall-startAfter firewall (re)buildsAdd custom iptables rules (survives firewall restarts)
nat-startAfter NAT rules loadCustom NAT/port rules
dnsmasq.postconfBefore dnsmasq startsInject dnsmasq config

Inspect/set persistent config with nvram get <key> / nvram set <key>=<val> + nvram commit (commit sparingly — it writes flash).

The assets/firewall-start.sh template shows the canonical safe shape for custom firewall rules. See references/hardening-and-network.md for placement and gotchas.


Assets

FileUse
assets/firewall-start.shAnnotated Merlin /jffs/scripts/firewall-start template — idempotent custom iptables rules with safe-by-default examples

See also

  • net-ops — general networking: subnets, DNS, TLS, firewalls, packet inspection

Key external resources

Signals

GitHub stars
36
Forks
5
Last commit
Aug 2026
Advanced
Catalog kind
skill
Gateway key
asus-router-ops
Source
github.com/0xdarkmatter/claude-mods