Network & Infrastructure / Linux Networking & Host Performance
Linux policy routing: the route exists in the wrong table
A host reaches a destination from one application but not another using a different source address. The expected route exists, yet a policy rule selects another routing table.
Environment and inputs: Linux network namespaces, host routing and network drivers; availability and semantics depend on kernel and driver versions. Diagnostic/design example; not tested on production equipment.
Collect the evidence
Record rule priorities, source address selection, table-specific routes and the application's network namespace. Evaluate the route using the actual source and destination context rather than a default lookup.
Explain the result
Linux routing policy can select tables before ordinary destination-based selection. A route in the main table is irrelevant if a higher-priority matching rule chooses a different result.
Plan the fix
Correct the narrow rule or table dependency and retain an explicit ownership model for application routing. Avoid duplicating broad defaults into every table without understanding precedence.
Check the result and rollback
Test each required source address and management path, including reboot persistence. Restore the previous rule set if another application changes egress or a recovery interface becomes unreachable.