Aim
We have a firewall terminating IPSec VPNs to AWS. These are used in the event of failure of a pair of AWS Direct Connects. Currently, the VPNs are routed to AWS over the same Direct Connects that they are backing up - if the Direct Connects stop routing traffic for some reason, the VPNs break also.
Proposed Solution
Create a VRF on Juniper MX into which we import AWS routes learned from Transit and not those learned from the Direct Connects.
Implementation
phil@mx# show routing-instances
be-fw-tunnels {
instance-type virtual-router;
interface ae0.336;
routing-options {
instance-import vrf_be_fw_tunnels;
}
}
phil@mx# show policy-options policy-statement vrf_be_fw_tunnels
term no_aws_direct {
from {
instance master;
community Direct;
}
then reject;
}
term aws_indirect {
from {
instance master;
as-path aws-indirect;
}
then accept;
}
term no_more {
then reject;
}
phil@mx# show policy-options as-path aws-indirect
".* (14618|16509)$";
Problem
The solution works to the extent that some Amazon routes are leaked into the VRF however only for prefixes which are not advertised by Amazon on the Direct Connect at all. This is, I presume, because instance-import
imports from the FIB and the routes of interest installed in the FIB are all from the Direct Connect peering.
Question
Is it possible to import into a VRF from the RIB, such that all possible routes are considered for import... not just the currently active ones?