commit f61fad0099a1cf796f79a3f14a5740c4af1f5c2b Author: BluemediaGER Date: Sun May 30 16:53:31 2021 +0200 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c67cdf3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,41 @@ +### Hugo ### +# Generated files by hugo +/public/ +/resources/_gen/ + +# Executable may be added to repository +hugo.exe +hugo.darwin +hugo.linux + +### Code ### +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json + +### Vim ### +# Swap +[._]*.s[a-v][a-z] +[._]*.sw[a-p] +[._]s[a-rt-v][a-z] +[._]ss[a-gi-z] +[._]sw[a-p] + +# Session +Session.vim +Sessionx.vim + +# Temporary +.netrwhist +*~ + +# Auto-generated tag files +tags + +# Persistent undo +[._]*.un~ + +# Coc configuration directory +.vim diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..6c5f887 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "themes/vanilla-bootstrap-hugo-theme"] + path = themes/vanilla-bootstrap-hugo-theme + url = https://github.com/zwbetz-gh/vanilla-bootstrap-hugo-theme.git diff --git a/README.md b/README.md new file mode 100644 index 0000000..414b32e --- /dev/null +++ b/README.md @@ -0,0 +1,12 @@ +# dn42-home + +dn42-home is the home page for my AS on the DN42 network, bluemedia.dn42. It provides all important information for peers and interested people, embeds my Looking Glass and also contains a changelog for changes to my infrastructure. The live version is avaialable on [dn42.bluemedia.dev](https://dn42.bluemedia.dev) or [bluemedia.dn42](http://bluemedia.dn42) if you are connected to DN42. + +## Built With + +- [Hugo](https://gohugo.io/) - World’s fastest framework for building websites +- [Vanilla](https://github.com/zwbetz-gh/vanilla-bootstrap-hugo-theme) - A vanilla Bootstrap theme for Hugo + +## License + +This project is licensed under the GNU General Public License v3.0 - see the [LICENSE](LICENSE) file for details. \ No newline at end of file diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..00e77bd --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +--- + diff --git a/config.yaml b/config.yaml new file mode 100644 index 0000000..1dadc83 --- /dev/null +++ b/config.yaml @@ -0,0 +1,80 @@ +baseURL: https://dn42.bluemedia.dev +languageCode: en-us +title: bluemedia.dn42 +theme: vanilla-bootstrap-hugo-theme + +taxonomies: + tag: tags + +permalinks: + post: /:filename/ + +# See https://feathericons.com/ +# The value of pre is the icon name +menu: + nav: + - name: Home + pre: home + url: / + weight: 1 + - name: Peering + pre: minimize-2 + url: /peering/ + weight: 2 + - name: IPAM + pre: book-open + url: /ipam/ + weight: 3 + - name: Looking Glass + pre: aperture + url: /lg/ + weight: 4 + - name: Changelog + pre: zap + url: /changelog/ + weight: 5 + hidden: + - name: Tags + url: /tags/ + weight: 1 + +params: + includeBootstrapJs: false + showActiveNav: true + containerMaxWidth: 750px + dateFormat: Jan 2, 2006 + homeText: Welcome to the Vanilla theme demo. Have a look around. Maybe even eat some ice cream. + footerText: Built with [Hugo](https://gohugo.io/) & [Vanilla](https://github.com/zwbetz-gh/vanilla-bootstrap-hugo-theme) + hideFooter: false + katex: true + +markup: + defaultMarkdownHandler: goldmark + goldmark: + extensions: + definitionList: true + footnote: true + linkify: true + strikethrough: true + table: true + taskList: true + typographer: true + parser: + attribute: true + autoHeadingID: true + renderer: + hardWraps: false + unsafe: true + xHTML: false + highlight: + codeFences: true + hl_Lines: "" + lineNoStart: 1 + lineNos: false + lineNumbersInTable: true + noClasses: true + style: monokai + tabWidth: 4 + tableOfContents: + endLevel: 6 + startLevel: 2 diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..4fa7727 --- /dev/null +++ b/content/_index.md @@ -0,0 +1,27 @@ +--- +title: bluemedia.dn42 +draft: false +--- + +#### An experiment in global routing. + +---------------- +
+ +### About +bluemedia.dn42 (AS4242423343) is my personal experimental network within DN42. The network is well connected with others and is currently mainly present in Germany. + +### Topology + +The bluemedia.dn42 network currently consists of two public and one internal node. All nodes within the network form a full mesh using wireguard tunnels. iBGP is used as the interior gateway protocol. Services such as DNS and websites are hosted centrally behind the internal node. + +### Techstack + +The following tools and programs are used to run the bluemedia.dn42 network and core services: +- Debian 10 - OS used on all host systems +- bird2 - Routing daemon used on all nodes +- WireGuard - VPN protocol used to connect all nodes +- BIND 9 - Authoritative DNS server for forward and reverse zones +- Unbound - Recursive DNS resolver + +
\ No newline at end of file diff --git a/content/changelog/new-homepage.md b/content/changelog/new-homepage.md new file mode 100644 index 0000000..ee3d86e --- /dev/null +++ b/content/changelog/new-homepage.md @@ -0,0 +1,10 @@ +--- +date: "2021-05-29" +tags: ["web", "informational"] +title: "New homepage" +--- + +I have finally done it and built a homepage for my DN42 network! + +You can reach it in the internet under dn42.bluemedia.dev and in DN42 under bluemedia.dn42. +In the future I will document information about changes to my infrastructure in the changelog. My Looking Glass is also embedded in the page. diff --git a/content/ipam.md b/content/ipam.md new file mode 100644 index 0000000..7b0e7d1 --- /dev/null +++ b/content/ipam.md @@ -0,0 +1,41 @@ +--- +title: IPAM +draft: false +--- + +This page contains information about the prefixes announced by bluemedia.dn42 and their purpose. + +bluemedia.dn42 announces the folloing prefixes: +- fd75:eca7:b62a::/48 +- 172.22.167.80/28 + +### bluemedia.dn42 Services + +{{< bootstrap-table "table table-striped table-bordered" >}} +|DNS|IPv4|IPv6|Comment| +|---|----|----|-------| +|ns1.bluemedia.dn42|172.22.167.90|fd75:eca7:b62a:40::53|Authoritative name server| +|resolver.bluemedia.dn42|172.22.167.91|fd75:eca7:b62a:40::54|Recursive DNS resolver| +|web1.bluemedia.dn42|172.22.167.92|fd75:eca7:b62a:40::80|Web server| +{{< /bootstrap-table >}} + +### bluemedia.dn42 Nodes (DN42 addressing) + +{{< bootstrap-table "table table-striped table-bordered" >}} +|DNS|IPv4|IPv6|Comment| +|---|----|----|-------| +|de-fsn01.bluemedia.dn42|172.22.167.81|fd75:eca7:b62a:10::1|Hetzner Online, Falkenstein, Germany| +|de-fra01.bluemedia.dn42|172.22.167.82|fd75:eca7:b62a:20::1|Oracle Cloud, Frankfurt am Main, Germany| +|de-kkb01.bluemedia.dn42|172.22.167.89|fd75:eca7:b62a:40::1|Internal node| +{{< /bootstrap-table >}} + +### bluemedia.dn42 Nodes (Internet addressing) + +{{< bootstrap-table "table table-striped table-bordered" >}} +|DNS|IPv4|IPv6|Comment| +|---|----|----|-------| +|de-fsn01.dn42.bluemedia.dev|157.90.153.123|2a01:4f8:1c17:6d31::1|Hetzner Online, Falkenstein, Germany| +|de-fra01.dn42.bluemedia.dev|tba|tba|Coming soon| +|de-kkb01.dn42.bluemedia.dev|(dynamic)|(dynamic)|Internal node| +{{< /bootstrap-table >}} + diff --git a/content/lg.md b/content/lg.md new file mode 100644 index 0000000..afb8e41 --- /dev/null +++ b/content/lg.md @@ -0,0 +1,6 @@ +--- +title: Looking Glass +draft: false +--- + + \ No newline at end of file diff --git a/content/peering.md b/content/peering.md new file mode 100644 index 0000000..9b7cba3 --- /dev/null +++ b/content/peering.md @@ -0,0 +1,46 @@ +--- +title: Peering +draft: false +--- + +This page will provide you some information if you want to peer with the bluemedia.dn42 network. New peers are always welcome. + +*However, please make sure you have read the information below before sending a peering request.* + +### Peering Requests + +Please email [dn42@bluemedia.dev](mailto:dn42@bluemedia.dev) for new peering requests or if you want to change existing peerings. + +### Requirements + +If you want to peer with me, you must meet the following requirements: + - You are able to connect via wireguard. + - Your network supports IPv6. + - You implement ROA checks against the DN42 registry. + - Your contact information in the registry is to be up to date. I expect you to respond to contact requests within a reasonable amount of time. + +### Required Information + +At a minimum, I need the following information from you to configure a peering session: + - Name of the bluemedia.dn42 node you want to peer with - see [IPAM](/ipam/) for an up to date list + - Peering in multiple locations is possible + - Your ASN + - Public address / domain name of your host + - Tunnel and BGP parameters, e.g. + - Port number for wireguard + - Public key for wireguard + - IP addresses of your tunnel endpoint + - This will be a single IPv4 /32 and Link-Local IPv6 address in most cases + +All peering sessions will be configured as full transit sessions. + +### Additional information + +#### Route Filtering + +My network applies strict Route Origin Authorization (ROA) filtering on all imported and exported routes. Any advertised route that does not have a corresponding route{,6} object in the DN42 registry will be dropped. + +#### Reachability Testing an Debugging + +I have a looking glass that you can use to check your routing configuration. +Looking glasses are important if you want to understand how your routes are distributed in the DN42 network. So it's best to learn how to use them right away. diff --git a/static/favicon.ico b/static/favicon.ico new file mode 100644 index 0000000..0cff86f Binary files /dev/null and b/static/favicon.ico differ diff --git a/themes/vanilla-bootstrap-hugo-theme b/themes/vanilla-bootstrap-hugo-theme new file mode 160000 index 0000000..af30eaf --- /dev/null +++ b/themes/vanilla-bootstrap-hugo-theme @@ -0,0 +1 @@ +Subproject commit af30eafc00e4acdefbd387fd1ae5d3139d0328e0