GithubHelp home page GithubHelp logo

southparkfan / ansible-dn42 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jlu5/ansible-dn42

0.0 1.0 0.0 1.21 MB

Ansible code to configure dn42

License: Other

Shell 10.53% JavaScript 0.87% Python 52.16% Lua 5.12% CSS 0.77% Jinja 30.55%

ansible-dn42's Introduction

ansible-dn42

This repository contains the configs for AS4242421080 / HIGHDEF-AS on dn42. For more details, see https://highdef.network/

Network topology

This iteration of the network uses the Babel IGP and a full mesh of iBGP sessions over WireGuard. Internal costs between nodes are periodically generated based off latency and packet loss.

Routing Policy

Config structure

Here I use Ansible to configure the following components on Debian 11 hosts:

  • Wireguard (roles/config-wireguard/) via ifupdown
  • OpenVPN 2.x
  • BIRD 2 (roles/config-bird2/)
  • bird-lg-go looking glass
  • nginx + Let's Encrypt (certbot): frontend reverse proxy to bird-lg, Netdata, and a custom splash site
  • dn42 Peerfinder (cron job)
  • Anycast DNS via PowerDNS:
    • Authoritative server for highdef.dn42 and PTR zones
    • Public recursive resolver (dn42, clearnet, and interconnected networks) @ dns.highdef.dn42 / 172.23.0.53 / fd42:d42:d42:53::1
    • For this I also use a custom DNS zone generator that reads from YAML and the Ansible inventory
  • iptables firewall rules for dn42
  • Netdata + bird_exporter for monitoring

Some components (Bird backports, etc.) pull from my personal APT repository @ https://deb.utopia-repository.org/

Network history

History of my network

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.