route_geoip
This escaper chooses the next escaper by applying GeoIP rules to the resolved upstream IP address.
There is no path selection support for this escaper.
Resolution follows the Happy Eyeballs algorithm.
The following common keys are supported:
resolver, required
Config-loading rules derived from the implementation:
geo_rulesalso accepts the aliasgeo_matchduplicate networks, ASNs, countries, or continents across different next escapers are rejected
each next escaper can appear at most once for each rule category
ip_locate_service
optional, type: ip locate service
Set the configuration of the remote IP location service.
default: set with default config
Added in version 1.9.1.
geo_rules
optional, type: seq, alias: geo_match
Set the GeoIP rules used to select the next escaper.
Each rule is in map format, with the following keys:
next
required, type: metric node name
Set the next escaper.
networks
optional, type: ip network | seq
Each element should be valid network string. Both IPv4 and IPv6 are supported.
A network must not appear in rules for different next escapers.
as_numbers
optional, type: u32 | seq
Each element should be valid AS number.
An AS number must not appear in rules for different next escapers.
countries
optional, type: iso country code | seq
Each element should be valid ISO country code.
A country must not appear in rules for different next escapers.
continents
optional, type: continent code | seq
Each element should be valid continent code.
A continent must not appear in rules for different next escapers.
Example:
geo_rules:
- next: cn-exit
countries: [CN]
- next: eu-exit
continents: [EU]
- next: corp-net
networks:
- 10.0.0.0/8
resolution_delay
optional, type: humanize duration
How long to wait for the preferred address family after another family has already returned a result.
This has the same meaning as the resolution_delay field in happy eyeballs.
default: 50ms