01Check the licence before designing around a feature
LessonThe failover plan depended on IP SLA tracking and policy-based routing.
How it was learnedThe Cisco device was running IP Base, which did not provide the required features. The paid higher-tier licence could not be added because the device was out of contract, so the design changed to normal routing, a floating route and external monitoring.
02A floating route cannot tell whether the internet works
LessonThe backup route only reacts when the preferred route is removed.
How it was learnedRoute-table checks showed that a route can remain installed while NAT, policy, DNS or upstream forwarding is broken. Service checks are now kept separate from route preference.
03The gateway location decides whether traffic is inspected
LessonLocal traffic can be routed by the MikroTik core without crossing a firewall.
How it was learnedFollowing the packet path and checking each gateway showed that a default route through a firewall does not force local inter-VLAN traffic through it. Sensitive paths are now designed around the real enforcement point.
04Fail-open needs its own rules
LessonThe Cisco edge can bypass the normal firewall path when connectivity fails.
How it was learnedTesting the recovery route showed that it changes NAT, logging and inspection, not just the next hop. The bypass is therefore restricted and treated as a temporary degraded state.
05Return routing matters during failover
LessonA session needs the same stateful path in both directions.
How it was learnedRoute and session checks showed that traffic could leave through one path and return through another. The failover test now checks forward and return routing for both new and existing sessions.
06Keep ordinary devices off transit VLANs
LessonTransit networks should only join routing and firewall devices.
How it was learnedPacket captures were harder to interpret when several functions shared a path. Keeping DHCP, clients and services off the transit networks made routing faults much clearer.
07Record which device enforces each control
LessonCisco, MikroTik and the firewall clusters each handle a different part of the path.
How it was learnedCLI checks found cases where the expected result depended on a rule or route on another device. A flow matrix now records the device responsible for each decision.
08Static aggregation and LACP are not interchangeable
LessonThe PA-220 aggregate interface stayed down even though both links were connected.
How it was learnedThe MikroTik side was configured as a static LAG while the Palo Alto Networks side expected LACP. Changing the MikroTik group to LACP Active allowed the bundle to form.
09A port can contain trunk settings and still operate as an access port
LessonAllowed-VLAN and native-VLAN commands were present, but traffic was not trunking.
How it was learnedThe running interface configuration still contained an access-mode command. Checking operational switchport state, rather than reading selected lines, exposed the mismatch.
10A reset access point may lose its management VLAN
LessonAn access point stopped adopting after a factory reset even though the trunk had worked before.
How it was learnedBefore the reset, the access point already knew to tag management traffic. After the reset it sent untagged traffic into the unused native VLAN. It was adopted on a temporary access VLAN, given the management VLAN, and then returned to the trunk.
11Use CLI help before assuming a command exists
LessonA MAC-table lookup failed with an invalid-input marker.
How it was learnedContext help showed that the command required a real VLAN in the supported range. The failed command was a bad query, not proof that the switch lacked the MAC entry.
12The Cisco switch cannot act as the backup NAT device
LessonThe fail-open design could not rely on the Cisco platform translating private addresses.
How it was learnedThe expected NAT commands were absent from CLI help and rejected by the platform. NAT therefore remains on a firewall or capable edge device instead of being assumed from Layer-3 routing support.
13Check the operational state, not only the saved configuration
LessonSeveral faults looked correct in the configuration but were wrong at runtime.
How it was learnedCommands showing trunk state, LACP neighbours, route installation, ARP, DHCP bindings and firewall sessions revealed what the devices were actually doing.
14SSH failure does not automatically mean a routing failure
LessonSome devices replied to ping but would not complete an SSH session.
How it was learnedARP and ICMP proved that the path worked. Testing with a current client then separated algorithm negotiation, device credentials, stale sessions and missing keys from network reachability.
15Legacy SSH workarounds need a narrow scope
LessonThe HPE/Aruba test switch required compatibility with older SSH behaviour.
How it was learnedThe connection reached the switch but failed during session setup. Server state, keys, logs and negotiated algorithms were checked from the console; compatibility settings were limited to the isolated management path.
16Do not translate vendor commands word for word
LessonCisco, MikroTik, Palo Alto Networks and HPE/Aruba use different terms for similar jobs.
How it was learnedComparing MAC tables, tags, LACP state and packet flow showed that matching behaviour is more useful than matching command names.
17Policy-based routing was not available on the Cisco licence
LessonThe Cisco equivalent of Palo Alto Networks PBF was considered for sending selected traffic through a firewall.
How it was learnedThe required policy-based routing feature was not included with IP Base. The higher feature licence was paid and unavailable on the out-of-contract device, so this design could not be implemented there.
18List service dependencies before tightening rules
LessonDNS, NTP, identity, certificates and updates cross several boundaries.
How it was learnedBlocking tests showed that an application can appear broken because one supporting service was omitted. Dependencies are now listed before the allow rule is narrowed.
19The current Proxmox uplink affects two planes
LessonManagement and workload traffic still share part of one physical path.
How it was learnedBridge and trunk planning showed that one mistake could interrupt both administration and hosted services. Separating management and data is therefore the next major hypervisor change.
20A saved configuration is not proof
LessonA VLAN, ACL, route, tracking object or security profile can exist without being active.
How it was learnedThis was seen in the unsupported IP SLA feature, the access-mode trunk and the mismatched LAG. Changes now need a traffic test and log or state evidence from the device expected to enforce them.
21Test failover from more than one network
LessonOne successful web request does not prove the recovery design works.
How it was learnedThe useful test records the source network, selected route, firewall path, DNS result, application result and return to normal. This catches differences between guest, user, service and management traffic.
22Check ACL direction from the interface's point of view
LessonAn SVI ACL can be correct in content but attached in the wrong direction.
How it was learnedThe source and reply paths were followed through the SVI, then the inbound and outbound ACL attachments were checked separately. This showed which traffic each ACL was actually evaluating.
23PBR needs explicit exclusions for local destinations
LessonA broad route-map can send internal traffic towards the firewall when it should stay local.
How it was learnedWalking sample packets through the PBR match showed that private and directly connected destinations also matched the source rule. Internal exclusions were required before any internet-only forwarding rule.
24Check HA state and LACP state separately
LessonA healthy firewall pair does not prove that its aggregate data links are working.
How it was learnedThe PA-220 peers could report HA state while the aggregate interface remained down. LACP negotiation, member links and the active peer had to be checked as separate parts of the fault.
25Use DHCP, ARP and MAC tables together
LessonA single table only shows one part of an endpoint's connection.
How it was learnedDuring access-point adoption, the DHCP binding showed the assigned address, ARP showed Layer-3 reachability and the MAC table showed the VLAN and switch port. Together they located the break.
26A long Layer-2 WAN path is harder to secure and troubleshoot
LessonThe external handoff crossed more switching infrastructure than was ideal.
How it was learnedTracing the WAN VLAN hop by hop showed that every trunk and allowed-VLAN list became part of the internet path. The longer-term design terminates the WAN at a configurable edge device as early as possible.