Files
kfitz-site/networking/index.html
Kathleen Fitzpatrick 4277f0cd61 rebuild 11ty 3.1.0
2025-05-13 11:56:49 -04:00

939 lines
26 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Networking</title>
<meta name="description" content="The long-running and erratically updated blog of Kathleen Fitzpatrick.">
<link rel="alternate" href="feed/feed.xml" type="application/atom+xml" title="kfitz">
<script async="" src="https://talk.hyvor.com/embed/embed.js" type="module"></script>
<link rel="webmention" href="https://webmention.io/kfitz.info/webmention">
<link rel="pingback" href="https://webmention.io/kfitz.info/xmlrpc">
<style>/**
* okaidia theme for JavaScript, CSS and HTML
* Loosely based on Monokai textmate theme by http://www.monokai.nl/
* @author ocodia
*/
code[class*="language-"],
pre[class*="language-"] {
color: #f8f8f2;
background: none;
text-shadow: 0 1px rgba(0, 0, 0, 0.3);
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
font-size: 1em;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
line-height: 1.5;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: .5em 0;
overflow: auto;
border-radius: 0.3em;
}
:not(pre) > code[class*="language-"],
pre[class*="language-"] {
background: #272822;
}
/* Inline code */
:not(pre) > code[class*="language-"] {
padding: .1em;
border-radius: .3em;
white-space: normal;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: #8292a2;
}
.token.punctuation {
color: #f8f8f2;
}
.token.namespace {
opacity: .7;
}
.token.property,
.token.tag,
.token.constant,
.token.symbol,
.token.deleted {
color: #f92672;
}
.token.boolean,
.token.number {
color: #ae81ff;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #a6e22e;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string,
.token.variable {
color: #f8f8f2;
}
.token.atrule,
.token.attr-value,
.token.function,
.token.class-name {
color: #e6db74;
}
.token.keyword {
color: #66d9ef;
}
.token.regex,
.token.important {
color: #fd971f;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}
/*
* New diff- syntax
*/
pre[class*="language-diff-"] {
--eleventy-code-padding: 1.25em;
padding-left: var(--eleventy-code-padding);
padding-right: var(--eleventy-code-padding);
}
.token.deleted {
background-color: hsl(0, 51%, 37%);
color: inherit;
}
.token.inserted {
background-color: hsl(126, 31%, 39%);
color: inherit;
}
/* Make the + and - characters unselectable for copy/paste */
.token.prefix.unchanged,
.token.prefix.inserted,
.token.prefix.deleted {
-webkit-user-select: none;
user-select: none;
display: inline-flex;
align-items: center;
justify-content: center;
padding-top: 2px;
padding-bottom: 2px;
}
.token.prefix.inserted,
.token.prefix.deleted {
width: var(--eleventy-code-padding);
background-color: rgba(0,0,0,.2);
}
/* Optional: full-width background color */
.token.inserted:not(.prefix),
.token.deleted:not(.prefix) {
display: block;
margin-left: calc(-1 * var(--eleventy-code-padding));
margin-right: calc(-1 * var(--eleventy-code-padding));
text-decoration: none; /* override del, ins, mark defaults */
color: inherit; /* override del, ins, mark defaults */
}
/* This is an arbitrary CSS string added to the bundle */
/* Defaults */
@font-face {
font-family: "Atkinson Hyperlegible";
src: url('/css/files/atkinson-hyperlegible-latin-400-normal.woff2') format('woff2');
font-display: swap;
}
@font-face {
font-family: "Atkinson Hyperlegible";
font-weight: bold;
src: url('/css/files/atkinson-hyperlegible-latin-700-normal.woff2') format('woff2');
font-display: swap;
}
@font-face {
font-family: "Atkinson Hyperlegible";
font-style: italic
src: url('/css/files/atkinson-hyperlegible-latin-400-italic.woff2') format('woff2');
font-display: swap;
}
:root {
--font-family: "Atkinson Hyperlegible", -apple-system, system-ui, sans-serif;
--font-family-monospace: Consolas, Menlo, Monaco, Andale Mono WT, Andale Mono, Lucida Console, Lucida Sans Typewriter, DejaVu Sans Mono, Bitstream Vera Sans Mono, Liberation Mono, Nimbus Mono L, Courier New, Courier, monospace;
font-size: 18px;
}
/* Theme colors */
:root {
--color-gray-20: #e0e0e0;
--color-gray-50: #C0C0C0;
--color-gray-90: #333;
--background-color: #fff;
--text-color: var(--color-gray-90);
--text-color-link: #d61d4a;
--text-color-link-active: #853439;
--text-color-link-visited: #e8325e;
--syntax-tab-size: 2;
}
@media (prefers-color-scheme: dark) {
:root {
--color-gray-20: #e0e0e0;
--color-gray-50: #C0C0C0;
--color-gray-90: #dad8d8;
/* --text-color is assigned to --color-gray-_ above */
--text-color-link: #1493fb;
--text-color-link-active: #6969f7;
--text-color-link-visited: #a6a6f8;
--background-color: #15202b;
}
}
/* Global stylesheet */
* {
box-sizing: border-box;
}
@view-transition {
navigation: auto;
}
html,
body {
padding: 0;
margin: 0 auto;
font-family: var(--font-family);
color: var(--text-color);
background-color: var(--background-color);
}
html {
overflow-y: scroll;
}
body {
max-width: 40em;
}
/* https://www.a11yproject.com/posts/how-to-hide-content/ */
.visually-hidden {
clip: rect(0 0 0 0);
clip-path: inset(50%);
height: 1px;
overflow: hidden;
position: absolute;
white-space: nowrap;
width: 1px;
}
p:last-child {
margin-bottom: 0;
}
p {
line-height: 1.5;
}
li {
line-height: 1.5;
}
a[href] {
color: var(--text-color-link);
}
a[href]:visited {
color: var(--text-color-link-visited);
}
a[href]:hover,
a[href]:active {
color: var(--text-color-link-active);
}
main,
footer {
padding: 1rem;
}
main :first-child {
margin-top: 0;
}
header {
border-bottom: 1px dashed var(--color-gray-20);
}
header:after {
content: "";
display: table;
clear: both;
}
footer {
border-top: 1px dashed var(--color-gray-50);
}
.links-nextprev {
display: flex;
justify-content: space-between;
gap: .5em 1em;
list-style: "";
border-top: 1px dashed var(--color-gray-20);
padding: 1em 0;
}
.links-nextprev > * {
flex-grow: 1;
}
.links-nextprev-next {
text-align: right;
}
table {
margin: 1em 0;
}
table td,
table th {
padding-right: 1em;
}
pre,
code {
font-family: var(--font-family-monospace);
}
pre:not([class*="language-"]) {
margin: .5em 0;
line-height: 1.375; /* 22px /16 */
-moz-tab-size: var(--syntax-tab-size);
-o-tab-size: var(--syntax-tab-size);
tab-size: var(--syntax-tab-size);
-webkit-hyphens: none;
-ms-hyphens: none;
hyphens: none;
direction: ltr;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
overflow-x: auto;
}
code {
word-break: break-all;
}
/* Header */
header {
display: flex;
gap: 1em .5em;
flex-wrap: wrap;
align-items: center;
padding: 1em;
}
.home-link {
font-size: 1.5em; /* 16px /16 */
font-weight: 700;
margin-right: 2em;
}
.home-link:link:not(:hover) {
text-decoration: none;
}
/* Nav */
.nav {
display: flex;
padding: 0;
margin: 0;
list-style: none;
}
.nav-item {
display: inline-block;
margin-right: 1em;
}
.nav-item a[href]:not(:hover) {
text-decoration: none;
}
.nav a[href][aria-current="page"] {
text-decoration: underline;
}
/* Posts list */
.postlist {
list-style: none;
padding: 0;
padding-left: 1.5rem;
}
.postlist-item {
display: flex;
flex-wrap: wrap;
align-items: baseline;
counter-increment: start-from -1;
margin-bottom: 1em;
}
.postlist-item:before {
display: inline-block;
pointer-events: none;
content: "" counter(start-from, decimal-leading-zero) ". ";
line-height: 100%;
text-align: right;
margin-left: -1.5rem;
}
.postlist-date,
.postlist-item:before {
font-size: 0.8125em; /* 13px /16 */
color: var(--color-gray-90);
}
.postlist-date {
word-spacing: -0.5px;
}
.postlist-link {
font-size: 1.1875em; /* 19px /16 */
font-weight: 700;
flex-basis: calc(100% - 1.5rem);
padding-left: .25em;
padding-right: .5em;
text-underline-position: from-font;
text-underline-offset: 0;
text-decoration-thickness: 1px;
}
.postlist-item-active .postlist-link {
font-weight: bold;
}
/* Archive list */
.archivelist {
padding: 0;
padding-left: 2.5rem;
}
.archivelist-item {
align-items: baseline;
margin-bottom: 1em;
}
.archivelist-item::marker {
text-align: right;
margin-left: -1.5rem;
font-size: 0.8125em; /* 13px /16 */
color: var(--color-gray-90);
}
.archivelist-date {
font-size: 0.8125em; /* 13px /16 */
color: var(--color-gray-90);
word-spacing: -0.5px;
}
.archivelist-link {
font-size: 1.1875em; /* 19px /16 */
font-weight: 700;
flex-basis: calc(100% - 1.5rem);
padding-left: .25em;
padding-right: .5em;
text-underline-position: from-font;
text-underline-offset: 0;
text-decoration-thickness: 1px;
}
.archivelist-item-active .archivelist-link {
font-weight: bold;
}
/* Tags */
.post-tag {
display: inline-flex;
align-items: center;
justify-content: center;
text-transform: capitalize;
font-style: italic;
}
.postlist-item > .post-tag {
align-self: center;
}
/* Tags list */
.post-metadata {
display: inline-flex;
flex-wrap: wrap;
gap: .5em;
list-style: none;
border-top: 1px dashed var(--color-gray-20);
border-bottom: 1px dashed var(--color-gray-20);
padding: 3px 0px 3px 0px;
margin: 0;
font-size: .8em;
}
.post-metadata time {
margin-right: 1em;
}
/* Direct Links / Markdown Headers */
.header-anchor {
text-decoration: none;
font-style: normal;
font-size: 1em;
margin-left: .1em;
}
a[href].header-anchor,
a[href].header-anchor:visited {
color: transparent;
}
a[href].header-anchor:focus,
a[href].header-anchor:hover {
text-decoration: underline;
}
a[href].header-anchor:focus,
:hover > a[href].header-anchor {
color: #aaa;
}
h2 + .header-anchor {
font-size: 1.5em;
font-weight: bold;
}
h1 {
font-weight: bolder;
}
summary {
font-size: 1.5em;
font-weight: bold;
margin-bottom: .5em;
}
img {
display: block;
margin-left: auto;
margin-right: auto;
}
blockquote {
display: block;
margin-left: 2em;
margin-right: 3em;
padding-left: 10px;
border-left: 10px solid var(--text-color-link);
}
hr.new {
border: none;
border-top: 1px dashed var(--color-gray-50);
}
/* Webmention Section */
.webmentions {
display:block;
text-align: left;
}
.webmentions__facepile {
display:flex;
align-items: center;
flex-wrap: wrap;
}
.webmentions__face {
width: 2rem;
height: 2rem;
border-radius: 50%;
object-fit: cover;
flex: none;
}
.webmentions__list {
list-style-type: none;
padding:0;
}
.webmentions__item {
margin-bottom: 2rem;
}
/* Single Webmention */
.webmention {
display:block;
}
.webmention__meta,
.webmention__author {
display: flex;
align-items: center;
flex-wrap: wrap;
}
.webmention__meta {
margin-bottom:.5rem;
}
.webmention__author {
margin-right:.25rem;
}
.webmention__author__photo {
height: 3rem;
width: 3rem;
border-radius: 50%;
object-fit: cover;
margin-right:.5rem;
}
.webmention__pubdate {
font-style: italic;
}
/* Message Box */
.message-box {
--color-message-box: #ffc;
display: block;
background-color: var(--color-message-box);
color: var(--color-gray-90);
padding: 1em 0.625em; /* 16px 10px /16 */
}
.message-box ol {
margin-top: 0;
}
@media (prefers-color-scheme: dark) {
.message-box {
--color-message-box: #082840;
}
}</style>
</head>
<body>
<a href="#skip" class="visually-hidden">Skip to main content</a>
<header>
<a href="/" class="home-link">kfitz</a>
<nav>
<h2 class="visually-hidden" id="top-level-navigation-menu">Top level navigation menu</h2>
<ul class="nav">
<li class="nav-item"><a href="/">Home</a></li>
<li class="nav-item"><a href="/blog/">Archive</a></li>
<li class="nav-item"><a href="/about/">About</a></li>
<li class="nav-item"><a href="/projects/">Projects</a></li>
<li class="nav-item"><a href="/presentations/">Presentations</a></li>
<li class="nav-item"><a href="/teaching/">Teaching</a></li>
<li class="nav-item"><a href="/feed/feed.xml">Feed</a></li>
</ul>
</nav>
</header>
<link href="/pagefind/pagefind-ui.css" rel="stylesheet">
<script src="/pagefind/pagefind-ui.js"></script>
<div id="search"></div>
<script>
window.addEventListener('DOMContentLoaded', (event) => {
new PagefindUI({ element: "#search", showSubResults: true });
});
</script>
<main id="skip">
<heading-anchors>
<h1 id="networking">Networking</h1>
<ul class="post-metadata">
<li><time datetime="2025-05-11">11 May 2025</time></li>
<li><a href="/tags/tinkering/" class="post-tag">tinkering</a></li>
</ul>
<p>This post is going to put my full nerdiness and my full cluelessness simultaneously on display, but I am building a home network that is going to include a server hosting much of my online presence, and I am running into some issues that are making the limitations in my knowledge all too apparent. (Also the limitations in internet search in the year of our lord 2025: I can find answers for solving issues in specific one-to-one connections within this network, but they leave out other crucial components such that I can't get the whole thing going all at the same time.) So I am here, appealing to you, to help me think this through.</p>
<p>I have AT&amp;T fiber coming into my house, with a BGW320 modem/router combo. I have a 3-device Eero mesh wifi network, with the gateway Eero connected to the BGW320 via ethernet. I have a Synology NAS connected to the Eero gateway via ethernet, and I'm soon going to have a mini server that... will get connected to all of this somehow that I haven't yet figured out.</p>
<p>I have turned off the wifi radios on the BGW320, so that I only have the wifi network provided by the Eeros. Right now, I have IP Passthrough turned on on the BGW320, set to DHCPS-dynamic; the WAN IP address is being picked up properly by the gateway Eero and the WAN type on the Eero is set to DHCP (Default). The bajillion devices in my house are being doled out IP addresses appropriately vis DHCP, including the NAS, and are for the most part getting good bandwidth (though the gateway Eero seems to have to reconnect to the internet periodically, so there's clearly some setting in the BGW320 that needs futzing with already).</p>
<p>But here's where things start to get complicated: I have purchased a block of 5 static IP addresses from AT&amp;T (really 8, but one gets assigned to the router and 2 are unusable), with the intent of assigning the NAS and the forthcoming server a static IP. So in the BGW320 admin interface, I have both a private LAN subnet and DHCP range (of the <a href="http://192.168.1.XXX">192.168.1.XXX</a> variety) and a public subnet that includes my public gateway address, my public subnet mask, and the 5-address DHCP range.</p>
<p>In passthrough mode, the BGW320 just hands off all DHCP stuff to the Eero mesh, which has the gateway address of 192.168.4.1 (the Eero default). In the Eero admin interface, I can use Reservations &amp; port forwarding to assign a static IP address to a device, like the NAS. However, my static IP addresses are outside the Eero's subnet range, so it won't accept them.</p>
<p>On the NAS, I can use the admin interface to assign the static IP address right there, and it will accept the address, but doing so breaks a bunch of connections between the NAS and the outside world, like Synology's software updaters, whose IP addresses it cannot resolve. I am guessing that this is because assigning the static IP on the device breaks the DNS connection, but it's also possible that it's got something to do with the way I've set up the NAS's firewall rules, which, ugh.</p>
<p>Anyhow, I am wondering at this point whether going with IP Passthrough on the BGW320 is at the root of the problem. If instead I let the AT&amp;T device handle all the WAN/DHCP stuff, and put the Eeros into bridge mode, will the static IP addresses become assignable to devices via the BGW320? If so, will devices connected to the private subnet via the Eeros still be able to talk to the devices on the public subnet? And aside from the <a href="https://support.eero.com/hc/en-us/articles/115000825206-What-advanced-features-do-I-lose-access-to-if-I-put-my-eeros-into-bridge-mode">&quot;advanced features&quot; that Eero tells me I'll lose if I go the bridge mode route</a>, are there other drawbacks?</p>
<p>I think I've talked myself into trying it and seeing what happens... but I'm going to pause for a bit to see if anyone has other suggestions.</p>
<ul class="links-nextprev"><li class="links-nextprev-prev">← Previous<br> <a href="/gitea/">Gitea</a></li>
</ul>
<hyvor-talk-comments website-id="9100" page-id="/networking/"></hyvor-talk-comments>
<div class="webmentions" id="webmentions">
<h3 id="webmentions-2">Webmentions</h3>
<h4 id="3-replies">3 Replies</h4>
<ol class="webmentions__list">
<li class="webmentions__item">
<article class="webmention h-cite" id="webmention-1910544">
<div class="webmention__meta">
<a class="webmention__author p-author h-card u-url" href="https://hcommons.social/@kfitz/114489629850429147" target="_blank" rel="noopener noreferrer">
<img class="webmention__author__photo u-photo" src="https://avatars.webmention.io/spaces.hcommons.social/57241974ecb75421b2cd7f4b6e55b9b41d422136f90c7c3f3934059711d6b8fc.png" alt="Kathleen Fitzpatrick">
<strong class="p-name">Kathleen Fitzpatrick</strong>
</a>
<time class="webmention__pubdate dt-published" datetime="2025-05-11T14:18:31+00:00">11 May 2025 - 14:18</time>
</div>
<div class="webmention__content p-content">
@djg Hmmm. So in my case, I'd a static public IP to the Eero gateway and then use it to reserve something in its subnet range to the NAS/server?
</div>
</article>
</li>
<li class="webmentions__item">
<article class="webmention h-cite" id="webmention-1910545">
<div class="webmention__meta">
<a class="webmention__author p-author h-card u-url" href="https://hcommons.social/@kfitz/114490150718842739" target="_blank" rel="noopener noreferrer">
<img class="webmention__author__photo u-photo" src="https://avatars.webmention.io/spaces.hcommons.social/57241974ecb75421b2cd7f4b6e55b9b41d422136f90c7c3f3934059711d6b8fc.png" alt="Kathleen Fitzpatrick">
<strong class="p-name">Kathleen Fitzpatrick</strong>
</a>
<time class="webmention__pubdate dt-published" datetime="2025-05-11T16:30:59+00:00">11 May 2025 - 16:30</time>
</div>
<div class="webmention__content p-content">
@djg Thanks for this -- but I'm still not figuring it out. The particulars of the BGW320 and Eero are different enough that it's just not that straightforward.
</div>
</article>
</li>
<li class="webmentions__item">
<article class="webmention h-cite" id="webmention-1910598">
<div class="webmention__meta">
<a class="webmention__author p-author h-card u-url" href="https://hcommons.social/@kfitz/114494701192136016" target="_blank" rel="noopener noreferrer">
<img class="webmention__author__photo u-photo" src="https://avatars.webmention.io/spaces.hcommons.social/57241974ecb75421b2cd7f4b6e55b9b41d422136f90c7c3f3934059711d6b8fc.png" alt="Kathleen Fitzpatrick">
<strong class="p-name">Kathleen Fitzpatrick</strong>
</a>
<time class="webmention__pubdate dt-published" datetime="2025-05-12T11:48:14+00:00">12 May 2025 - 11:48</time>
</div>
<div class="webmention__content p-content">
An update to this ask: I more or less flipped the thing upside-down yesterday. Instead of using IP Passthrough to hand all the DHCP business to the Eeros, I instead put the Eeros in bridge mode, so all the DHCP stuff is being handled by the BGW320. It's behaving pretty well, and I have been able to assign a public static IP address to the NAS. The NAS is now of course being subjected to a range of scanning attacks, but my firewall appears to be holding. I would very much like to install a network-level VPN, though (unsurprisingly) AT&T has their hardware locked down in a way that pushes you toward their VPN-as-a-service. If y'all have suggestions for ways to get around that, I'm all ears! #AskFedi #BGW320 #VPN
askfedi
bgw320
vpn
</div>
</article>
</li>
</ol>
<h4 id="4-likes">4 Likes</h4>
<div class="webmentions__facepile">
<a class="h-card u-url link-u-exempt" href="https://hcommons.social/@kfitz/114489467396635641#favorited-by-109321000928761870" target="_blank" rel="noopener noreferrer">
<img class="webmention__author__photo" src="https://avatars.webmention.io/spaces.hcommons.social/4f0b1aed74746f936a84f1b1c318678cd006a1f4058f08825a26fda521a36fc8.jpg" alt="jimgroom" title="jimgroom" loading="lazy">
</a>
<a class="h-card u-url link-u-exempt" href="https://hcommons.social/@kfitz/114489467396635641#favorited-by-109301587388749146" target="_blank" rel="noopener noreferrer">
<img class="webmention__author__photo" src="https://avatars.webmention.io/spaces.hcommons.social/7a212978c82e4d03e08092001e92074614110a670de97b01f41571c13c69bb18.jpg" alt="Emilia [Scout] Bell" title="Emilia [Scout] Bell" loading="lazy">
</a>
<a class="h-card u-url link-u-exempt" href="https://hcommons.social/@kfitz/114489467396635641#favorited-by-109841808076473949" target="_blank" rel="noopener noreferrer">
<img class="webmention__author__photo" src="https://avatars.webmention.io/spaces.hcommons.social/2f7665caba98d72f6071bc6671825a85d9baa046c223d2f288431f72d61fef7b.png" alt="Henrik Schönemann" title="Henrik Schönemann" loading="lazy">
</a>
<a class="h-card u-url link-u-exempt" href="https://bsky.app/profile/kfitz.info/post/3lovl5hudwb2j#liked_by_did:plc:quschouau47zm4f3ntsw7j5y" target="_blank" rel="noopener noreferrer">
<img class="webmention__author__photo" src="https://avatars.webmention.io/cdn.bsky.app/1b5c2fc8ba9b994e3f83906f06e15ac3141bd0c7d9ff7f68f6e0450945dbd9e1.jpg" alt="Amanda Wyatt Visconti" title="Amanda Wyatt Visconti" loading="lazy">
</a>
</div>
<h4 id="8-reposts">8 Reposts</h4>
<div class="webmentions__facepile">
<a class="h-card u-url link-u-exempt" href="https://hcommons.social/@kfitz/114489467396635641#reblogged-by-109302101958218834" target="_blank" rel="noopener noreferrer">
<img class="webmention__author__photo" src="https://avatars.webmention.io/spaces.hcommons.social/4e921e360ccac114be0be2242d3b853a1a858674b01f0d8e3170ce7557026b77.jpg" alt="Tim Sherratt" title="Tim Sherratt" loading="lazy">
</a>
<a class="h-card u-url link-u-exempt" href="https://hcommons.social/@kfitz/114489467396635641#reblogged-by-109423666605673641" target="_blank" rel="noopener noreferrer">
<img class="webmention__author__photo" src="https://avatars.webmention.io/spaces.hcommons.social/422a6235858d60fbd916d7e2e08aa1994e7272d524106c2dcc3a05258d887e48.jpg" alt="???????????????????????????????????? ????????????????????" title="???????????????????????????????????? ????????????????????" loading="lazy">
</a>
<a class="h-card u-url link-u-exempt" href="https://hcommons.social/@kfitz/114489467396635641#reblogged-by-109314051978935550" target="_blank" rel="noopener noreferrer">
<img class="webmention__author__photo" src="https://avatars.webmention.io/spaces.hcommons.social/9ae6e32ea87d1ecdb9993e4f235e29bc7d634f3bdd45db2c806eda35acf8ddba.jpg" alt="TinDrum" title="TinDrum" loading="lazy">
</a>
<a class="h-card u-url link-u-exempt" href="https://hcommons.social/@kfitz/114489467396635641#reblogged-by-109341594800646443" target="_blank" rel="noopener noreferrer">
<img class="webmention__author__photo" src="https://avatars.webmention.io/spaces.hcommons.social/ab4b7646a634ca10c6be18445fa0851353483afc57d224f4bc96a0ef2c7da905.jpg" alt="Mareike König" title="Mareike König" loading="lazy">
</a>
<a class="h-card u-url link-u-exempt" href="https://hcommons.social/@kfitz/114489467396635641#reblogged-by-109298069633671561" target="_blank" rel="noopener noreferrer">
<img class="webmention__author__photo" src="https://avatars.webmention.io/spaces.hcommons.social/9c7f8416d9291f655e4baebfe3c58599c90da79576056a0f9c332bc323257209.jpg" alt="Exhaust_Fumes_NowMoreThanEver" title="Exhaust_Fumes_NowMoreThanEver" loading="lazy">
</a>
<a class="h-card u-url link-u-exempt" href="https://hcommons.social/@kfitz/114489467396635641#reblogged-by-109308023941106766" target="_blank" rel="noopener noreferrer">
<img class="webmention__author__photo" src="https://avatars.webmention.io/spaces.hcommons.social/e14772a119635040c5e6240af142ec7b650edee22ebee90a81003c065d8e3814.png" alt="Jennifer Moore ????" title="Jennifer Moore ????" loading="lazy">
</a>
<a class="h-card u-url link-u-exempt" href="https://hcommons.social/@kfitz/114489467396635641#reblogged-by-109841808076473949" target="_blank" rel="noopener noreferrer">
<img class="webmention__author__photo" src="https://avatars.webmention.io/spaces.hcommons.social/2f7665caba98d72f6071bc6671825a85d9baa046c223d2f288431f72d61fef7b.png" alt="Henrik Schönemann" title="Henrik Schönemann" loading="lazy">
</a>
<a class="h-card u-url link-u-exempt" href="https://hcommons.social/@kfitz/114489467396635641#reblogged-by-109564059280923567" target="_blank" rel="noopener noreferrer">
<img class="webmention__author__photo" src="https://avatars.webmention.io/spaces.hcommons.social/a511e66fd1c422441992b8a31c73fc6f2b332f70eccf5542d8ebd761bf246555.jpg" alt="El Duvelle" title="El Duvelle" loading="lazy">
</a>
</div>
</div>
</heading-anchors>
</main>
<footer>
<p><em>Built with <a href="https://www.11ty.dev/">Eleventy v3.1.0</a>. All content <a href="https://creativecommons.org/licenses/by/4.0/deed.en">CC BY 4.0</a> if you're human.</em></p><p></p>
</footer>
<script type="module" src="/dist/rJ3_G-2ArF.js"></script>
</body>
</html>