DEV Community

IPYE
IPYE

Posted on Edited on

Announce One Free /48 from Two VPS Providers Without Renumbering

Disclosure up front: I run IPYE, a company that leases IP space. Most of this article is practical how-to; IPYE appears where a free /48, LOA, or ROA helps you try the work, with a short call to action at the end.

Announcing one prefix from two unrelated VPS providers gives you provider redundancy without renumbering anything when one of them fails. The prefix stays the same; only the paths change. A free IPv6 /48 from IPYE is a practical way to build this, because it is a real allocation you announce from your own ASN. Examples use ASN 64496, upstream A as 64497 with neighbour 2001:db8:a::1, upstream B as 64498 with neighbour 2001:db8:b::1, and the prefix 2001:db8:100::/48.

Decide what multihoming means for you

There are two common shapes:

  1. Active/standby. Site A carries traffic and site B is announced with AS-path prepends, so the Internet prefers A until it disappears.
  2. Anycast. Both sites announce the same prefix with equal attributes and serve the same stateless service, such as DNS, so users land on whichever site their network reaches first.

Stateful applications such as databases or long-lived TCP sessions are a poor fit for anycast across providers. A session that starts at A and flips to B mid-stream breaks, because B has no state for it.

Split the /48 deliberately

Keep the /48 as the announced aggregate and number each site from its own /56 inside it:

Range Use
2001:db8:100::/56 site A services
2001:db8:100:100::/56 site B services
2001:db8:100:ff00::/56 anycast service addresses

Export only the /48. Many networks filter IPv6 prefixes longer than /48, so a /56 announced alone would not be reachable widely. The internal plan still matters: it tells each site which addresses it really owns when traffic arrives.

Getting traffic to the right site

Both sites announce the same /48, so a packet for site B's /56 may arrive at site A. You have three options:

  • Run a tunnel between the sites (WireGuard or GRE) and route the other site's /56 across it.
  • Make every service anycast-capable so it does not matter where the packet lands.
  • Accept that site-specific addresses only work while their site is the preferred path, which is fine for active/standby.

The tunnel is the most common choice. Keep it on the provider-assigned addresses, never on addresses inside the /48, or the tunnel will try to route through itself.

Policy sketch for active/standby in FRR

Site A exports the aggregate plainly. Site B prepends:

route-map OUT-B permit 10
 match ipv6 address prefix-list OUR-48
 set as-path prepend 64496 64496
!
ipv6 prefix-list OUR-48 seq 10 permit 2001:db8:100::/48
!
router bgp 64496
 address-family ipv6 unicast
  neighbor 2001:db8:b::1 route-map OUT-B out
Enter fullscreen mode Exit fullscreen mode

Prepending is a hint, not a command. Some networks prefer customer routes or use local preference that overrides path length, so a share of traffic may still reach B. Measure before you assume the standby is idle.

Paperwork for two hosts

Each provider will usually want its own LOA naming your ASN. Generate both from the IPYE portal and file them in each ticket. The ROA covers the origin ASN rather than a specific upstream, so one ROA for AS64496 serves both sites. Before you go live, confirm that both providers have updated their export filters; a common mistake is one site announcing correctly while the other provider silently drops the route.

Firewall symmetry

Asymmetric paths are normal in multihoming: a packet can arrive through A and the reply can leave through B. A stateful firewall at each site only sees half of that conversation and may drop it. Either keep replies on the arrival site, using policy routing keyed on the source /56, or loosen connection tracking for that traffic. Reverse-path filtering causes the same symptom on Linux, so set net.ipv4.conf.all.rp_filter=2 (loose) for IPv4 and check any fib saddr rules in nftables for IPv6.

Failover drill

Run this in a maintenance window:

  1. Record the current best paths from a few public route collectors.
  2. Shut the session at site A with neighbor 2001:db8:a::1 shutdown.
  3. Watch how long collectors take to show the prepended path via B, and run mtr -6 from an outside host.
  4. Restore A and confirm traffic moves back.

Write the observed convergence time in your runbook. Your numbers are the only ones that matter for your design.

Do this next

Claim a free /48 from IPYE, bring up one site, and add the second only after the first is visible in public collectors. Questions: ipye@turnel.com.

About IPYE

IPYE (https://ipye.com) leases IPv4, IPv6 and ASN space with instant setup. Your first IPv6 /48 is free for the first year, a real allocation you can announce on your own ASN, with a LOA from the portal and the ROA created automatically. ASN and region changes apply automatically. IPv4 /24 to /22 leases include LOA, ROA and per-/24 rDNS; WHOIS is editable on IPv6 /44 and larger. Locations: Los Angeles, New York, Ashburn, Salt Lake City, London, Amsterdam, Frankfurt. Claim your free /48: https://my.ipye.com/products/ipv6-rental. Questions: ipye@turnel.com.

Disclosure: I run IPYE

Top comments (0)

⌂ 换网址