Skip to content

Design Project 2

dhellstern edited this page Nov 14, 2021 · 2 revisions

Project 2

Deliverable Statement

In this design project, I'm going to deploy a network that builds on my research from Design Project 1. I'll continue to study BGP, focusing more on the deployment and troubleshooting of the protocol. I'll then set up a test network with two peers, VPN tunneling, BGP, and ideally a rudimentary RPKI cache server, time permitting. The purpose of this project is to document the entire setup and troubleshooting process so that during implementation it is as simple as following instructions, leaving more room for other steps like automation. I'll also take time (as available) to test hardware router options, specifically the Protectli Vault (again, availability permitting), but this is not blocking nor related to the rest of the project.

Objectives

The end result of this design project should be a functional test network, but this network need not persist long after the project. The main deliverable will be extensive documentation making it possible to set up a similar network from the ground up in a short period of time. Once the documentation and the demonstration are complete, and the technical documentation is double-checked for accuracy against the setup, the test network can be decommissioned.

Project Plan

Outcome

During this 3-week sprint, I worked almost fully hands-on with a cohesive test network, moving on from the previous design project where much of my work was theoretical or testing in isolation. I set up a complete network on my own infrastructure, with a simple bridge and two routers, with the routers doing the heavy lifting of having additional virtual networks, setting up tunnels, and sharing routes between each other. The testing reaffirmed my choice of using VyOS, which easily supports most if not all the functionality I need and is relatively easy to configure.

Moving forward, I still need to do some more research to better understand the signing and validation of routes, as well as investigating possible options for automation, including using the Ansible vyos_config module to generate configurations from a simple YAML file and apply them to the router(s). I will then need to focus on registering for address space, preparing to provision infrastructure, and finding my first peers.

Clone this wiki locally