Skip to content

Instantly share code, notes, and snippets.

@bufadu
bufadu / howto_vyos_scaleway_instance.md
Last active October 6, 2022 10:55
How to install vyos on scaleway instance.

How to install VyOS on Scaleway virtual instance.

VyOS

VyOS is an open source network operating system based on Debian GNU/Linux. It provides a free routing platform that competes directly with other commercially available solutions from well known network providers.[W]

The entire configuration is managed through a CLI that mimic the JunOS cli behaviour. (And I really like that :)

It embeds tons of network features. Most useful with a scaleway deployment will probably be :

  • VPN: Ipsec, Wireguard, Openvpn..
  • Routing protocols: BGP, OSPF..
@bufadu
bufadu / howto_openvpn_vyos_scaleway.md
Last active January 5, 2018 09:41
Howto use vyos openvpn client with scaleway openvpn server

Howto use vyos openvpn client with scaleway openvpn server

In this howto, I will set up a VPN between a vyos gateway and an openvpn server hosted by a scaleway openvpn instance. The purpose of this is to hide my entire network behind a scaleway ip address.

Scaleway openvpn instance

Launch an openvpn on a C1 instance with a public ip address. Openvpn server certificates will take some time to be fully generated. We can check that with scw-ovpn status:

# scw-ovpn status
@bufadu
bufadu / howto_bgp_ecmp_load_balancing.md
Last active March 2, 2024 19:13
BGP ECMP Load Balancer

How to build a load balancer with BGP and ECMP using VyOS

According to this cloudflare blog article "Load Balancing without Load Balancers", we can build a rock-solid load balancer only using a router. All the magic comes from BGP and Equal-Cost Multi-Path routing.

In this howto, I will use bird as BGP router on linux instance (ie. servers).

Test environment

I use GNS3 with this architecture :

architecture

@bufadu
bufadu / gist:bc3bab3ce3a3224e28909f521399f993
Last active October 13, 2017 15:48
TP-LINK TL-R480T+
Console: 115200 8N1
uboot: type 'tpl' to enter menu
export PYTHON_CFLAGS='-I${includedir}/python2.7 -I${includedir}/x86_64-linux-gnu/python2.7'
export PYTHON_LIBS=' -L${libdir} -lpython2.7'