Lots of changes to the website
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
{{define "title"}}Infrastructure — Ridgway Systems{{end}}
|
||||
{{define "meta-desc"}}Hardware inventory and network diagram for the Ridgway Systems OpenBSD homelab.{{end}}
|
||||
{{define "meta-desc"}}Hardware inventory and network diagram for the Ridgway Systems FreeBSD homelab.{{end}}
|
||||
|
||||
{{define "content"}}
|
||||
<div class="page-header">
|
||||
@@ -22,19 +22,19 @@
|
||||
<tr>
|
||||
<td class="hw-name">fw01</td>
|
||||
<td>SuperMicro 1U<br><span class="hw-spec">E3-1230v2 • 16 GB RAM</span></td>
|
||||
<td>OpenBSD</td>
|
||||
<td>OPNsense 26.1</td>
|
||||
<td>Firewall, router, VPN, reverse proxy<br><span class="hw-spec">pf • relayd • WireGuard • unbound</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="hw-name">srv01</td>
|
||||
<td>Dell R720<br><span class="hw-spec">Xeon E5-2620 • 96 GB RAM</span></td>
|
||||
<td>OpenBSD</td>
|
||||
<td>FreeBSD</td>
|
||||
<td>Primary server<br><span class="hw-spec">Gitea • httpd • OpenSMTPD • Prometheus • Grafana • Matrix</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="hw-name">srv02</td>
|
||||
<td>Dell R710<br><span class="hw-spec">Xeon X5560 • 288 GB RAM</span></td>
|
||||
<td>OpenBSD + Linux VMs</td>
|
||||
<td>FreeBSD + Linux VMs</td>
|
||||
<td>Backup, game servers<br><span class="hw-spec">nsd • qemu • Jellyfin • secondary DNS</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -43,46 +43,164 @@
|
||||
<td>Fedora Linux 43</td>
|
||||
<td>Daily driver, Ansible control node<br><span class="hw-spec">Development • playbook management</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="hw-name">ws02</td>
|
||||
<td>Lenovo ThinkPad T14s<br><span class="hw-spec">AMD Ryzen Pro 5 8640HS • 32 GB RAM</span></td>
|
||||
<td>Fedora Linux 43</td>
|
||||
<td>Mobile daily driver<br><span class="hw-spec">Development • remote work</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="hw-name">ws03</td>
|
||||
<td>System76 Lemur Pro<br><span class="hw-spec">Intel Core i7-10210U • 16 GB RAM</span></td>
|
||||
<td>FreeBSD</td>
|
||||
<td>FreeBSD testing machine<br><span class="hw-spec">Development • testing</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
<section class="infra-section">
|
||||
<h2>Network Diagram</h2>
|
||||
<pre class="network-diagram">
|
||||
Internet
|
||||
|
|
||||
[WAN interface]
|
||||
|
|
||||
+=================+
|
||||
| fw01 | SuperMicro 1U
|
||||
| OpenBSD | pf firewall
|
||||
| relayd | WireGuard VPN
|
||||
+=====+===========+
|
||||
|
|
||||
+-- [Management VLAN 1] -- fw01, switches, OOB
|
||||
|
|
||||
+-- [Servers VLAN 10] -- srv01, srv02
|
||||
| |
|
||||
| +-- srv01 (R720)
|
||||
| | httpd / relayd (external traffic routed here)
|
||||
| | Gitea, mail, monitoring, Matrix
|
||||
| |
|
||||
| +-- srv02 (R710)
|
||||
| DNS (nsd), Jellyfin, game VMs
|
||||
|
|
||||
+-- [Desktop VLAN 20] -- ws01, personal devices
|
||||
|
|
||||
+-- [Game VLAN 30] -- game clients, gaming VMs
|
||||
|
|
||||
+-- [IoT/Guest VLAN 40] -- untrusted devices
|
||||
<div class="netmap-wrap">
|
||||
<svg class="netmap" viewBox="0 0 720 430" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Network topology diagram">
|
||||
|
||||
External traffic flow:
|
||||
Internet --> fw01 (relayd) --> srv01 (httpd/app)
|
||||
<!-- Internet -->
|
||||
<g class="netmap-node" data-tooltip="Public internet — WAN uplink">
|
||||
<rect x="285" y="10" width="150" height="38" rx="4" class="netmap-box netmap-box-internet"/>
|
||||
<text x="360" y="34" class="netmap-label">Internet</text>
|
||||
</g>
|
||||
|
||||
VPN:
|
||||
WireGuard on fw01 --> routed to server VLANs
|
||||
</pre>
|
||||
<!-- Internet → fw01 -->
|
||||
<line x1="360" y1="48" x2="360" y2="88" class="netmap-line"/>
|
||||
|
||||
<!-- fw01 -->
|
||||
<g class="netmap-node" data-tooltip="fw01 · SuperMicro 1U OPNsense 26.1 Services: pf · relayd · WireGuard · unbound">
|
||||
<rect x="220" y="88" width="280" height="44" rx="4" class="netmap-box netmap-box-fw"/>
|
||||
<text x="360" y="107" class="netmap-label">fw01</text>
|
||||
<text x="360" y="123" class="netmap-sublabel">OPNsense 26.1 · SuperMicro 1U</text>
|
||||
</g>
|
||||
|
||||
<!-- fw01 → trunk line -->
|
||||
<line x1="360" y1="132" x2="360" y2="160" class="netmap-line"/>
|
||||
<!-- horizontal trunk -->
|
||||
<line x1="60" y1="160" x2="660" y2="160" class="netmap-line"/>
|
||||
|
||||
<!-- VLAN drop lines -->
|
||||
<line x1="60" y1="160" x2="60" y2="185" class="netmap-line"/>
|
||||
<line x1="195" y1="160" x2="195" y2="185" class="netmap-line"/>
|
||||
<line x1="360" y1="160" x2="360" y2="185" class="netmap-line"/>
|
||||
<line x1="525" y1="160" x2="525" y2="185" class="netmap-line"/>
|
||||
<line x1="660" y1="160" x2="660" y2="185" class="netmap-line"/>
|
||||
|
||||
<!-- VLAN 1 — Mgmt -->
|
||||
<g class="netmap-node" data-tooltip="VLAN 1 · Management 10.0.1.0/24 Switches, OOB, firewall mgmt">
|
||||
<rect x="10" y="185" width="100" height="38" rx="4" class="netmap-box netmap-box-vlan"/>
|
||||
<text x="60" y="200" class="netmap-label netmap-label-sm">Mgmt</text>
|
||||
<text x="60" y="215" class="netmap-sublabel">VLAN 1</text>
|
||||
</g>
|
||||
|
||||
<!-- VLAN 10 — Servers -->
|
||||
<g class="netmap-node" data-tooltip="VLAN 10 · Servers 10.0.10.0/24 srv01, srv02">
|
||||
<rect x="145" y="185" width="100" height="38" rx="4" class="netmap-box netmap-box-vlan"/>
|
||||
<text x="195" y="200" class="netmap-label netmap-label-sm">Servers</text>
|
||||
<text x="195" y="215" class="netmap-sublabel">VLAN 10</text>
|
||||
</g>
|
||||
|
||||
<!-- VLAN 20 — Desktop -->
|
||||
<g class="netmap-node" data-tooltip="VLAN 20 · Desktop 10.0.20.0/24 ws01, personal devices">
|
||||
<rect x="310" y="185" width="100" height="38" rx="4" class="netmap-box netmap-box-vlan"/>
|
||||
<text x="360" y="200" class="netmap-label netmap-label-sm">Desktop</text>
|
||||
<text x="360" y="215" class="netmap-sublabel">VLAN 20</text>
|
||||
</g>
|
||||
|
||||
<!-- VLAN 30 — Game -->
|
||||
<g class="netmap-node" data-tooltip="VLAN 30 · Game 10.0.30.0/24 Game clients, gaming VMs">
|
||||
<rect x="475" y="185" width="100" height="38" rx="4" class="netmap-box netmap-box-vlan"/>
|
||||
<text x="525" y="200" class="netmap-label netmap-label-sm">Game</text>
|
||||
<text x="525" y="215" class="netmap-sublabel">VLAN 30</text>
|
||||
</g>
|
||||
|
||||
<!-- VLAN 40 — IoT -->
|
||||
<g class="netmap-node" data-tooltip="VLAN 40 · IoT/Guest 10.0.40.0/24 Untrusted / isolated devices">
|
||||
<rect x="610" y="185" width="100" height="38" rx="4" class="netmap-box netmap-box-vlan"/>
|
||||
<text x="660" y="200" class="netmap-label netmap-label-sm">IoT/Guest</text>
|
||||
<text x="660" y="215" class="netmap-sublabel">VLAN 40</text>
|
||||
</g>
|
||||
|
||||
<!-- Servers VLAN → hosts -->
|
||||
<line x1="170" y1="223" x2="170" y2="255" class="netmap-line"/>
|
||||
<line x1="170" y1="255" x2="145" y2="255" class="netmap-line"/>
|
||||
<line x1="170" y1="255" x2="220" y2="255" class="netmap-line"/>
|
||||
<line x1="145" y1="255" x2="145" y2="275" class="netmap-line"/>
|
||||
<line x1="220" y1="255" x2="220" y2="275" class="netmap-line"/>
|
||||
|
||||
<!-- srv01 -->
|
||||
<g class="netmap-node" data-tooltip="srv01 · Dell R720 Xeon E5-2620 · 96 GB RAM FreeBSD httpd · Gitea · OpenSMTPD Prometheus · Grafana · Matrix">
|
||||
<rect x="90" y="275" width="110" height="44" rx="4" class="netmap-box netmap-box-host"/>
|
||||
<text x="145" y="293" class="netmap-label netmap-label-sm">srv01</text>
|
||||
<text x="145" y="308" class="netmap-sublabel">Dell R720 · FreeBSD</text>
|
||||
</g>
|
||||
|
||||
<!-- srv02 -->
|
||||
<g class="netmap-node" data-tooltip="srv02 · Dell R710 Xeon X5560 · 288 GB RAM FreeBSD + Linux VMs nsd · qemu · Jellyfin Game servers">
|
||||
<rect x="165" y="275" width="110" height="44" rx="4" class="netmap-box netmap-box-host"/>
|
||||
<text x="220" y="293" class="netmap-label netmap-label-sm">srv02</text>
|
||||
<text x="220" y="308" class="netmap-sublabel">Dell R710 · FreeBSD</text>
|
||||
</g>
|
||||
|
||||
<!-- Desktop VLAN → hosts -->
|
||||
<line x1="360" y1="223" x2="360" y2="255" class="netmap-line"/>
|
||||
<line x1="300" y1="255" x2="420" y2="255" class="netmap-line"/>
|
||||
<line x1="300" y1="255" x2="300" y2="275" class="netmap-line"/>
|
||||
<line x1="360" y1="255" x2="360" y2="275" class="netmap-line"/>
|
||||
<line x1="420" y1="255" x2="420" y2="275" class="netmap-line"/>
|
||||
|
||||
<!-- ws01 -->
|
||||
<g class="netmap-node" data-tooltip="ws01 · Desktop Intel Core i9-12900K · 64 GB RAM Fedora Linux 43 Daily driver · Ansible control node">
|
||||
<rect x="248" y="275" width="104" height="44" rx="4" class="netmap-box netmap-box-host"/>
|
||||
<text x="300" y="293" class="netmap-label netmap-label-sm">ws01</text>
|
||||
<text x="300" y="308" class="netmap-sublabel">Desktop · Fedora</text>
|
||||
</g>
|
||||
|
||||
<!-- ws02 -->
|
||||
<g class="netmap-node" data-tooltip="ws02 · Lenovo ThinkPad T14s AMD Ryzen Pro 5 8640HS · 32 GB RAM Fedora Linux 43 Mobile daily driver">
|
||||
<rect x="308" y="275" width="104" height="44" rx="4" class="netmap-box netmap-box-host"/>
|
||||
<text x="360" y="293" class="netmap-label netmap-label-sm">ws02</text>
|
||||
<text x="360" y="308" class="netmap-sublabel">ThinkPad T14s</text>
|
||||
</g>
|
||||
|
||||
<!-- ws03 -->
|
||||
<g class="netmap-node" data-tooltip="ws03 · System76 Lemur Pro Intel Core i7-10210U · 16 GB RAM FreeBSD FreeBSD testing machine">
|
||||
<rect x="368" y="275" width="104" height="44" rx="4" class="netmap-box netmap-box-host"/>
|
||||
<text x="420" y="293" class="netmap-label netmap-label-sm">ws03</text>
|
||||
<text x="420" y="308" class="netmap-sublabel">Lemur Pro · FreeBSD</text>
|
||||
</g>
|
||||
|
||||
</svg>
|
||||
|
||||
<!-- Tooltip element -->
|
||||
<div class="netmap-tooltip" id="netmap-tooltip"></div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
(function() {
|
||||
var tip = document.getElementById('netmap-tooltip');
|
||||
document.querySelectorAll('.netmap-node').forEach(function(node) {
|
||||
node.addEventListener('mouseenter', function(e) {
|
||||
var text = node.getAttribute('data-tooltip') || '';
|
||||
tip.textContent = text;
|
||||
tip.classList.add('visible');
|
||||
});
|
||||
node.addEventListener('mousemove', function(e) {
|
||||
tip.style.left = (e.pageX + 14) + 'px';
|
||||
tip.style.top = (e.pageY - 10) + 'px';
|
||||
});
|
||||
node.addEventListener('mouseleave', function() {
|
||||
tip.classList.remove('visible');
|
||||
});
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
</section>
|
||||
|
||||
<section class="infra-section">
|
||||
|
||||
Reference in New Issue
Block a user