From f61fad0099a1cf796f79a3f14a5740c4af1f5c2b Mon Sep 17 00:00:00 2001 From: BluemediaGER Date: Sun, 30 May 2021 16:53:31 +0200 Subject: [PATCH] Initial commit --- .gitignore | 41 ++++++++++++++ .gitmodules | 3 ++ README.md | 12 +++++ archetypes/default.md | 6 +++ config.yaml | 80 ++++++++++++++++++++++++++++ content/_index.md | 27 ++++++++++ content/changelog/new-homepage.md | 10 ++++ content/ipam.md | 41 ++++++++++++++ content/lg.md | 6 +++ content/peering.md | 46 ++++++++++++++++ static/favicon.ico | Bin 0 -> 15086 bytes themes/vanilla-bootstrap-hugo-theme | 1 + 12 files changed, 273 insertions(+) create mode 100644 .gitignore create mode 100644 .gitmodules create mode 100644 README.md create mode 100644 archetypes/default.md create mode 100644 config.yaml create mode 100644 content/_index.md create mode 100644 content/changelog/new-homepage.md create mode 100644 content/ipam.md create mode 100644 content/lg.md create mode 100644 content/peering.md create mode 100644 static/favicon.ico create mode 160000 themes/vanilla-bootstrap-hugo-theme 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 0000000000000000000000000000000000000000..0cff86ff531a9459887e28711f279f444735a49f GIT binary patch literal 15086 zcmeHOdu$ZP8K1rL1DX_^wuw}g1cOqU5S37rhtoLNg}A}SHpcjkFE+*j1IFM7ff5s& zsDU_g(iBQ~KkOhSt=g*4s1j0J`=8LXRaFutZRB9;&<6W}JCh<(r*=L4ezQBrc)fSG z_aaDTrSZ4B^Z0(>bLM8pjA_it=FVkAli8c!Wb9$aSaP!QoW$5UdY42L^|f(~?Vtv; zs10>tRaEd^T=(ka*5BA_;P3C(YACVg68+JEd4K&Br!3Lu5ZZ`))_y6mt2rTM-?~Y+ z2kQyUXb&2!?Tx74Ul;fFgXE*gIU4?pUAc+_Yhl z_DS<%#-GV${Mn^Ce%L_DV77sX1yu(9o_xw#hIlaZiS{#eUXz}fS&`~EUHe@&vObgX zjf)tE45|&xek5&xSWx^(y(gd2etM)KVScQ9YT3NoW>%!eceqlu%TR8FTYm z>d8 z-86w+l|jZba;ln-Fej+Jz) zUu;S_B9$Q+eklhid}`0Od&OKP=QZ=3@cn%44A!W2V>41)gn}Qo@C@XRz^4!!nA7CE zR{uS%uQ@kX^U`TBNY777Sg9q9Gxd(qjo{UzPil#lt_I6{iQ52K7-M4@Jl&B zk#8@3QoQEcr*)Hq@v>VlWw4`KkSh^;u&1p zO}5C4hEGZSW*K6J-)9fQr!H2egsO9^_Q0>s-Lc0nVy?ivAl;*Ej!|MSKKf4sA7^jx2jXy;U4o2a-N?1Vu{%_ zw$Rs-KCioElow-?6c_Wv=HPFaU|Cg_VRwH`0TVtPV>4e z=OS-YeA9Z_t_TdopaQWPS@#`M4k3)I&Gsm z)H9Y2I?C8o&?}5NLHp_a5ojAp&`K17(4R3Ps0T%RQ1l0F)u|Yto&`UmfNKdpNd4saG@#Be(Vzlv8#SP3-eXWHhm=bI0rNI74(C0F9CjPGAZXJ9spZ~vbXj)SO=h0M*llc#K65?9w!pndd%QpR7bVEomUjK5aP_@R0q z27IgRBOJ9>HZjX$=NYopE{uPqFjpYeB=Z3H-Cd5O7b|#!S0DoHFkBM(zME}%1pSP|4hQJ|xLD~V|;#CadJjyEVW7xX0 zIewa|SG)I;zx<5>9QdyL*6{~LzBA8bgvAY0~AoY}=8d~j2!dBGnZ-7gA$OuFy{ z#sFRA9}6`G{qa@b>$+H$ja*})3z35&(Y4Ae(7mCH7q06fy1EX;Th<|#5K|Nu+KRxw$T01ZP-z{eJ&|GBHW{X!m0{X08K&I_ zy|faYP6c&NDhwsv*wSbfWA)QE2F4yG9=w%`eqo;i+Y-rCeESrZt0-y^gR8wVZt}tP zTJe#MT3c6>BRLcn>#}ZtV0(%7`YS8gXY@OGjLvI*bf8XqdS`|6%Ynv0ebr-*b#~*#>Hk!`ZFrCusr~ioQA=*RFJ+u!h3hs?M Lv_V_ms`vdLYtg4M literal 0 HcmV?d00001 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