One of the RIPE’s requirements in order for you to have an ASN is that you must be multihomed.
Benefits of having multiple upstreams:
- Your ASN will stop running afoul of RIPE’s requirement to be multihomed in order to have an ASN.
- If your main upstream goes down, you still have a backup working, like a multiple WAN.
- You can potentially get better routing if your other upstreams have a lower number of hops.
List of free transit providers
Non-exhaustive list of free transit providers.
Requesting a transit
Freetransit Project
Add their ASN to your import and export statement on your ASN routing policy.
I requested transit on their site by filling up their forms, specifying my ASN, my IPv6 address from FogIXP as my endpoint, and my contact email.
They have 2 endpoints in FogIXP, which are Frankfurt at 2001:7f8:ca:1::22
, and Amsterdam at 2001:7f8:ca:1::21
, ping both of them in your VPS and take note the lower latency. My chosen endpoint is Frankfurt.
They will email you about the list of prefixes you will announce. Reply to their email with the list of your prefixes.
They will also clarify what endpoint you choose, specify “via FogIXP” and their FogIXP location at “Frankfurt” and your FogIXP endpoint.
After that, they will say that their end is deployed, you can now connect by adding this to your Pathvector config:
|
|
HYEHOST LTD
Add their ASN to your import and export statement on your ASN routing policy, just like before.
They have 2 endpoints in FogIXP, which are Frankfurt at 2001:7f8:ca:1::4:7272:1
, and Amsterdam at 2001:7f8:ca:1::4:7272:2
, ping both of them in your VPS and take note the lower latency. My chosen endpoint is Frankfurt.
HYEHOST LTD is more automated, you just create an order on their store, ordering “Free BGP Transit Frankfurt,” specifying my ASN, my IPv6 address from FogIXP as my endpoint, and my contact information.
After that, you will receive an email saying that the transit session is deployed on their side, you can now connect by adding this to your Pathvector config:
|
|
Accounting for latency
If your ping on those upstreams is higher than your main upstream, like my latency to those is 11 ms, and my main upstream is just at 0.1 ms, you should deprioritize those upstreams to maintain optimal latency.
If your default local-pref at the upstream template is 80, set the local-pref of those upstreams lower than 80, like 70.
|
|
Enable ECMP
Equal-cost multi-path routing (ECMP) allows you to load balance traffic to multiple upstreams. Currently in our setup, only a single upstream will be used that is preferred by BIRD. By enabling ECMP, BIRD will allow the use of multiple upstreams for load balancing.
Add this to your Pathvector config to enable ECMP:
|
|
Establish the BGP sessions
Combining all of those, this will be the resulting Pathvector config:
|
|
Generate BIRD2 config from Pathvector.
sudo pathvector generate
Check the BGP session. If you see “Established”, then the BGP session is working.
sudo birdc show protocol
Example output:
|
|
- Check the status of your prefix to see if it is being exported/announced to your upstream.
sudo birdc show route export <BGP session name> all
Example:sudo birdc show route export FREETRANSIT_AS41051_v6 all
Example output:
|
|