summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorarf20 <aruizfernandez05@gmail.com>2024-02-20 18:50:02 +0100
committerarf20 <aruizfernandez05@gmail.com>2024-02-20 18:50:02 +0100
commit3895630e5719e6a9e91a00daade9999405030cdc (patch)
tree9a842631a799bbe4ada65f526cab12d5c31e4d92
parentaae4a61250f1799e29fe6790991fbc800965250d (diff)
downloadarfnet2-3895630e5719e6a9e91a00daade9999405030cdc.tar.gz
arfnet2-3895630e5719e6a9e91a00daade9999405030cdc.zip
Remove shit, compile html and pdf, makefile
-rw-r--r--Makefile7
-rw-r--r--arfnet2.html1008
-rw-r--r--arfnet2.md52
-rw-r--r--arfnet2.pdfbin0 -> 154821 bytes
-rw-r--r--backlog.txt16
-rw-r--r--template.html28
6 files changed, 1087 insertions, 24 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..0a15b16
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,7 @@
+all: arfnet2.html arfnet2.pdf
+
+arfnet2.html: arfnet2.md template.html
+ pandoc --template template.html -s arfnet2.md -o arfnet2.html
+
+arfnet2.pdf: arfnet2.md
+ pandoc -s arfnet2.md -o arfnet2.pdf
diff --git a/arfnet2.html b/arfnet2.html
new file mode 100644
index 0000000..067982f
--- /dev/null
+++ b/arfnet2.html
@@ -0,0 +1,1008 @@
+<!doctype html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title></title>
+ <style>
+ table, td, th {
+ border: 1px solid black;
+ }
+ th {
+ padding-top: 5px;
+ padding-bottom: 5px;
+ }
+ td {
+ padding-top: 2.5px;
+ padding-bottom: 2.5px;
+ }
+ th, td {
+ padding-left: 10px;
+ padding-right: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <h1 id="arfnet2-deployment">ARFNET2 deployment</h1>
+ <p>After the disastrous ISP <a
+ href="http://arf20.com/explanation.txt">schism</a></p>
+ <h2 id="masterplan">Masterplan</h2>
+ <p>Stage 1: very safe - Close all ports - Nuke (or stop) all old VMs
+ (exclude OPNSense) - Make DMZ - Make new basic VMs (cloning deb12
+ template) - Open basic ports</p>
+ <p>Stage 2: new services - IONOS VPS for mail - Some new very safe
+ services - HE IPv6 tunnel - Own authoritative nameservers for domain
+ zone</p>
+ <p>Stage 3*: finally - Another VPS in unknown provider for - Tor -
+ Reverse-proxying the media library - PHP on main site with more web
+ services from scratch, hopefully secure - More new services</p>
+ <h2 id="domain">Domain</h2>
+ <p>arf20.com</p>
+ <p>Registrar: namecheap</p>
+ <h3 id="name-sever-glue-records-at-registrar">Name sever glue records
+ at registrar</h3>
+ <table>
+ <thead>
+ <tr class="header">
+ <th>Nameserver</th>
+ <th>Name</th>
+ <th>IP</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr class="odd">
+ <td>NS1</td>
+ <td>ns1.arf20.com</td>
+ <td>2.59.235.35 <br> 2001:470:1f21:125::13</td>
+ </tr>
+ <tr class="even">
+ <td>NS2</td>
+ <td>ns2.arf20.com</td>
+ <td>5.250.186.185 <br> 2001:ba0:210:d600::1</td>
+ </tr>
+ </tbody>
+ </table>
+ <h2 id="networking">Networking</h2>
+ <h3 id="hardware">Hardware</h3>
+ <pre><code> WAP
+ |
+ +-----+ +--------------------------+ +----------------+
+ISP ===| ONT |---| DELL switch |-----| TP-Link switch |
+ +-----+ +--------------------------+ +----------------+
+ | | | |
+ | | | |
+ +---------------+ Rest of devices Living room devices
+ | eno1 eno2 |
+ | server router |
+ +---------------+
+
+- 1000BASE-T
+= GPON fiber</code></pre>
+ <h4 id="dell-powerconnect-5424-switch">DELL PowerConnect 5424
+ switch</h4>
+ <p>Port assignents</p>
+ <table>
+ <thead>
+ <tr class="header">
+ <th>port</th>
+ <th>endpoint</th>
+ <th>options</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr class="odd">
+ <td>g2</td>
+ <td>ONT</td>
+ <td>VLAN access 2</td>
+ </tr>
+ <tr class="even">
+ <td>g4</td>
+ <td>server eno2 WAN</td>
+ <td>VLAN access 2</td>
+ </tr>
+ <tr class="odd">
+ <td>g6</td>
+ <td>test2</td>
+ <td>VLAN access 2</td>
+ </tr>
+ <tr class="even">
+ <td>g3</td>
+ <td>WAP</td>
+ <td>VLAN access 5</td>
+ </tr>
+ <tr class="odd">
+ <td>g5</td>
+ <td>PC</td>
+ <td>VLAN access 4</td>
+ </tr>
+ <tr class="even">
+ <td>g7</td>
+ <td>Living R.</td>
+ <td>VLAN access 5</td>
+ </tr>
+ <tr class="odd">
+ <td>g9</td>
+ <td>server eno1 DMZ+LAN</td>
+ <td>VLAN trunk 4, 5</td>
+ </tr>
+ <tr class="even">
+ <td>g15</td>
+ <td>test4</td>
+ <td>VLAN access 4</td>
+ </tr>
+ <tr class="odd">
+ <td>g17</td>
+ <td>test1</td>
+ <td>VLAN access 1</td>
+ </tr>
+ <tr class="even">
+ <td>g19</td>
+ <td>test5</td>
+ <td>VLAN access 5</td>
+ </tr>
+ <tr class="odd">
+ <td>g21</td>
+ <td>iDRAC</td>
+ <td>VLAN access 4</td>
+ </tr>
+ <tr class="even">
+ <td>g23</td>
+ <td>printer</td>
+ <td>VLAN access 4</td>
+ </tr>
+ </tbody>
+ </table>
+ <p>Management</p>
+ <ul>
+ <li>interface vlan 4: 192.168.4.2/24 gw 192.168.4.1</li>
+ </ul>
+ <h3 id="public-ips">Public IPs</h3>
+ <ul>
+ <li>AVANZA_STATIC: 2.59.235.35</li>
+ <li>AVANZA_CGNAT: dynamic</li>
+ <li>HE v6 tunnel: 2001:470:1f20:125::2</li>
+ <li>IONOS VPS: 5.250.186.185 2001:ba0:210:d600::1</li>
+ </ul>
+ <h3 id="gateways">Gateways</h3>
+ <ul>
+ <li>AVANZA
+ <ul>
+ <li>WAN_STATIC: 2.59.235.1</li>
+ <li>WAN_CGNAT: dynamic</li>
+ </ul></li>
+ <li>HE v6: 2001:470:1f20:125::1 via 216.66.87.102</li>
+ </ul>
+ <h3 id="physical-and-logical-networks">Physical and Logical
+ Networks</h3>
+ <table>
+ <thead>
+ <tr class="header">
+ <th>name</th>
+ <th>VLAN</th>
+ <th>net</th>
+ <th>desc</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr class="odd">
+ <td>WAN</td>
+ <td>2</td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>DMZ</td>
+ <td>4</td>
+ <td>192.168.4.0/24 <br> 2001:470:1f21:125::/64</td>
+ <td>Services</td>
+ </tr>
+ <tr class="odd">
+ <td>LAN</td>
+ <td>5</td>
+ <td>192.168.5.0/24</td>
+ <td>Clients</td>
+ </tr>
+ <tr class="even">
+ <td>VPN</td>
+ <td></td>
+ <td>10.5.0.0/24</td>
+ <td>Wireguard clients</td>
+ </tr>
+ </tbody>
+ </table>
+ <h2 id="firewall">Firewall</h2>
+ <h3 id="interface-rules">Interface Rules</h3>
+ <ul>
+ <li>WAN_CGNAT in
+ <ul>
+ <li>deny *</li>
+ </ul></li>
+ <li>WAN_STATIC in
+ <ul>
+ <li>allow from * to {services} –&gt; NAT rules</li>
+ </ul></li>
+ <li>DMZ in
+ <ul>
+ <li>deny from DMZ net to LAN net</li>
+ <li>allow from DMZ net to firewall</li>
+ <li>allow from DMZ net to * gw WAN_STATIC</li>
+ </ul></li>
+ <li>LAN in
+ <ul>
+ <li>allow ICMP from LAN net to firewall</li>
+ <li>allow IP DNS from LAN net to firewall</li>
+ <li>allow from LAN net to DMZ net</li>
+ <li>allow from LAN net to * gw WAN_CGNAT</li>
+ </ul></li>
+ </ul>
+ <h3 id="ipv4-nat-rules">IPv4 NAT Rules</h3>
+ <table>
+ <thead>
+ <tr class="header">
+ <th>Service</th>
+ <th>Customer</th>
+ <th>IPProto</th>
+ <th>Ext Port</th>
+ <th>Host</th>
+ <th>Re Port</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr class="odd">
+ <td>OpenVPN</td>
+ <td></td>
+ <td>TCP</td>
+ <td>1195</td>
+ <td>router</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>WireGuard</td>
+ <td></td>
+ <td>UDP</td>
+ <td>51820</td>
+ <td>router</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>DNS NS1</td>
+ <td></td>
+ <td>TCP/UDP</td>
+ <td>53</td>
+ <td>misc</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>iperf3</td>
+ <td></td>
+ <td>TCP</td>
+ <td>5201</td>
+ <td>misc</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>NNTP</td>
+ <td></td>
+ <td>TCP</td>
+ <td>119</td>
+ <td>misc</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>Web</td>
+ <td></td>
+ <td>TCP</td>
+ <td>80,443</td>
+ <td>web</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>Git</td>
+ <td></td>
+ <td>TCP</td>
+ <td>9418</td>
+ <td>web</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>bittorrent</td>
+ <td></td>
+ <td>TCP/UDP</td>
+ <td>8999</td>
+ <td>nas</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>rsync</td>
+ <td></td>
+ <td>TCP/UDP</td>
+ <td>873</td>
+ <td>nas</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>IRC</td>
+ <td></td>
+ <td>TCP</td>
+ <td>6667</td>
+ <td>comm</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>IRCS</td>
+ <td></td>
+ <td>TCP</td>
+ <td>6697</td>
+ <td>comm</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>XMPP c2s</td>
+ <td></td>
+ <td>TCP</td>
+ <td>5222</td>
+ <td>comm</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>XMPP s2s</td>
+ <td></td>
+ <td>TCP</td>
+ <td>5269</td>
+ <td>comm</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>TURN STUN</td>
+ <td></td>
+ <td>TCP/UDP</td>
+ <td>3478</td>
+ <td>comm</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>TURN</td>
+ <td></td>
+ <td>TCP/UDP</td>
+ <td>5349</td>
+ <td>comm</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>TURN UDP relay</td>
+ <td></td>
+ <td>TCP/UDP</td>
+ <td>49152-50176</td>
+ <td>comm</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>mc-waterfall-proxy</td>
+ <td></td>
+ <td>TCP</td>
+ <td>25565</td>
+ <td>game</td>
+ <td>25567</td>
+ </tr>
+ <tr class="even">
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>exo-ssh</td>
+ <td>exo</td>
+ <td>TCP</td>
+ <td>4041</td>
+ <td>exovps</td>
+ <td>22</td>
+ </tr>
+ <tr class="even">
+ <td>exo-extra</td>
+ <td>exo</td>
+ <td>TCP</td>
+ <td>4040</td>
+ <td>exovps</td>
+ <td>4040</td>
+ </tr>
+ <tr class="odd">
+ <td>yero-ssh</td>
+ <td>yero</td>
+ <td>TCP</td>
+ <td>1511</td>
+ <td>yerovps</td>
+ <td>22</td>
+ </tr>
+ <tr class="even">
+ <td>yero-sql</td>
+ <td>yero</td>
+ <td>TCP</td>
+ <td>1512</td>
+ <td>yerovps</td>
+ <td>3306</td>
+ </tr>
+ <tr class="odd">
+ <td>FiveM SuperioresRP</td>
+ <td>yero</td>
+ <td>TCP</td>
+ <td>30120,40120</td>
+ <td>yerovps</td>
+ <td></td>
+ </tr>
+ </tbody>
+ </table>
+ <h3 id="ipv6-port-rules">IPv6 port rules</h3>
+ <table>
+ <thead>
+ <tr class="header">
+ <th>Service</th>
+ <th>Customer</th>
+ <th>IPProto</th>
+ <th>Host</th>
+ <th>Port</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr class="odd">
+ <td>DNS NS1</td>
+ <td></td>
+ <td>TCP/UDP</td>
+ <td>misc</td>
+ <td>53</td>
+ </tr>
+ <tr class="even">
+ <td>Web</td>
+ <td></td>
+ <td>TCP</td>
+ <td>web</td>
+ <td>80,443</td>
+ </tr>
+ </tbody>
+ </table>
+ <h2 id="hosts">Hosts</h2>
+ <ul>
+ <li>server - DELL PowerEdge R720 running Proxmox PVE - …</li>
+ <li>mail - IONOS VPS running Debian 12 - 5.250.186.185
+ 2001:ba0:210:d600::1</li>
+ </ul>
+ <h2 id="management">Management</h2>
+ <ul>
+ <li>OPNSense router DMZ.1</li>
+ <li>DELL switch DMZ.2</li>
+ <li>TP-Link WAP LAN.2</li>
+ <li>Proxmox hypervisor DMZ.4</li>
+ <li>DELL server iDRAC DMZ.5</li>
+ <li>HP printer DMZ.7</li>
+ </ul>
+ <h2 id="server-vms-and-services">server VMs and services</h2>
+ <p>server runs Proxmox PVE.</p>
+ <p>All VMs are Debian 12 (templated) with wazuh agent</p>
+ <h3 id="proxmox-dmz.4-hypervisor">proxmox DMZ.4 (hypervisor)</h3>
+ <ul>
+ <li>SSH</li>
+ <li>Proxmox management interface :8006</li>
+ <li>smartmon + node exporter :9100</li>
+ <li>sensor exporter*</li>
+ <li>NUT - Network UPS TOols daemon (and proper UPS)*</li>
+ </ul>
+ <h3 id="router-dmz.1">router DMZ.1</h3>
+ <ul>
+ <li>(routing/firewalling)</li>
+ <li>SSH</li>
+ <li>DHCP</li>
+ <li>unbound DNS</li>
+ <li>OpenVPN</li>
+ <li>WireGuard</li>
+ <li>IPsec*</li>
+ <li>ntopng :3000</li>
+ <li>telegraf - note: editing config via webfig breaks (timeout and
+ unbound config)</li>
+ </ul>
+ <h3 id="nas-dmz.6">nas DMZ.6</h3>
+ <p>RAID attached here (with the grey stuff) (local only) - SSH - NFS -
+ Samba SMB<em> - MiniDLNA</em> - FTP - qBittorrent-nox - jellyfin</p>
+ <h3 id="web-dmz.9">web DMZ.9</h3>
+ <ul>
+ <li>SSH</li>
+ <li>cerbot</li>
+ <li>nginx (status at :8080)</li>
+ <li>fastcgi PHP</li>
+ <li>mariadb SQL</li>
+ <li>nginx-prometheus-exporter :9113</li>
+ <li>prometheus :9090</li>
+ <li>telegraf</li>
+ <li>influxdb :8086</li>
+ <li>grafana :3000
+ <ul>
+ <li>Proxmox</li>
+ <li>nginx</li>
+ <li>iDRAC</li>
+ </ul></li>
+ <li>zabbix*</li>
+ <li>netbox*</li>
+ <li>fcgiwrap</li>
+ <li>git-http-backend - git smart http server CGI</li>
+ <li>gitd - git daemon</li>
+ <li>cgit - web frontend for git</li>
+ <li>phpBB - forum software</li>
+ <li>Jekyll - blog static site generator thing</li>
+ <li>opentracker? - bittorrent tracker*</li>
+ </ul>
+ <table>
+ <colgroup>
+ <col style="width: 22%" />
+ <col style="width: 48%" />
+ <col style="width: 29%" />
+ </colgroup>
+ <thead>
+ <tr class="header">
+ <th>vhost</th>
+ <th>webroot/proxy</th>
+ <th>Comment</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr class="odd">
+ <td>default</td>
+ <td>&lt;return 418 im a teapot&gt;</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>default:8080</td>
+ <td>&lt;return nstub_status&gt;</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>arf20.com</td>
+ <td>/var/www/arf20.com/html/</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>www.arf20.com</td>
+ <td>&lt;301 redirect arf20.com&gt;</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>matrix.arf20.com</td>
+ <td>http://comm.lan:8008/_matrix</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>webmail.arf20.com</td>
+ <td>/var/www/webmail.arf20.com/html/</td>
+ <td>SquirrelMail</td>
+ </tr>
+ <tr class="odd">
+ <td>nextcloud.arf20.com</td>
+ <td>/var/www/nextcloud.arf20.com/html/</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>grafana.arf20.com</td>
+ <td>http://localhost:3000</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>jellyfin.arf20.com</td>
+ <td>http://nas.lan:8096</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>git.arf20.com</td>
+ <td>/srv/git/</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>cgit.arf20.com</td>
+ <td>fastcgi:/usr/lib/cgit/cgit.cgi</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>blog.arf20.com</td>
+ <td>/var/www/blog.arf20.com/_site/</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>forum.arf20.com</td>
+ <td>/var/www/forum.arf20.com/html/</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>deb.arf20.com</td>
+ <td>/d/FTPServer/software/debian/</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>memes.arf20.com</td>
+ <td>/var/www/memes.arf20.com/, /d/FTPserver/{dcimg, dcmemes,
+ explosionsandfire}</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>status.yero.dev</td>
+ <td>http://yerovps.lan:3001</td>
+ <td></td>
+ </tr>
+ </tbody>
+ </table>
+ <h3 id="wazuh-dmz.10">wazuh DMZ.10</h3>
+ <ul>
+ <li>SSH</li>
+ <li>wazuh</li>
+ </ul>
+ <h3 id="game-dmz.11">game DMZ.11</h3>
+ <ul>
+ <li>SSH</li>
+ <li>waterfall (minecraft reverse proxy)
+ <ul>
+ <li>mclobby (auth)</li>
+ <li>mcrubenmc</li>
+ <li>mcgrupo4*</li>
+ <li>minepau*</li>
+ </ul></li>
+ <li>csgo server*</li>
+ </ul>
+ <h3 id="comm-dmz.12">comm DMZ.12</h3>
+ <ul>
+ <li>SSH</li>
+ <li>cerbot</li>
+ <li>unrealircd - IRC</li>
+ <li>synapse - matrix</li>
+ <li>postgresql - DB for synapse</li>
+ <li>pantalaimon - encrypt matterbridge traffic to matrix</li>
+ <li>matterbridge - bridge channels with different protocols</li>
+ <li>prosody - XMPP</li>
+ <li>coturn - TURN server for matrix and xmpp</li>
+ <li>asterisk - VoIP SIP PBX*</li>
+ </ul>
+ <h3 id="misc-deb12-lxc-dmz.13">misc (Deb12 LXC) DMZ.13</h3>
+ <ul>
+ <li><p>SSH</p></li>
+ <li><p>iperf3</p></li>
+ <li><p>bind9 - master authoritative nameserver for arf20.com zone
+ NS1</p></li>
+ <li><p>OpenLDAP LDAP*</p></li>
+ <li><p>Discord servers</p>
+ <ul>
+ <li>gDebrid</li>
+ </ul></li>
+ </ul>
+ <h3 id="mail-arfnet-ionos-vps-5.250.186.185-2001ba0210d6001">mail
+ (ARFNET-IONOS VPS) 5.250.186.185 2001:ba0:210:d600::1</h3>
+ <ul>
+ <li>SSH</li>
+ <li>certbot</li>
+ <li>postfix - MTA smtpd, submission, submissions <a
+ href="https://github.com/ARF20NET/mail-conf">config</a></li>
+ <li>dovecot - imapd</li>
+ <li>majordomo? - mailing list manager*</li>
+ <li>bind9 - slave authoritative nameserver NS2</li>
+ </ul>
+ <p>### proxy (ARFNET-HOSTMENOW VPS) *</p>
+ <ul>
+ <li>SSH*</li>
+ <li>IPsec client*</li>
+ <li>proxy for ftp.arf20.com somehow*</li>
+ </ul>
+ <hr />
+ <h3 id="yerovps-dmz.192-yero">yerovps DMZ.192 (yero)</h3>
+ <ul>
+ <li>SSH</li>
+ <li>mariadb</li>
+ <li>FiveM SuperioresRP</li>
+ </ul>
+ <h3 id="exovps-dmz.195-exo">exovps DMZ.195 (exo)</h3>
+ <ul>
+ <li>SSH</li>
+ <li>netbox</li>
+ </ul>
+ <p>*TODO</p>
+ <h2 id="internal-name-and-number-assignation-table">Internal Name and
+ Number Assignation Table</h2>
+ <p>DMZ IPv4s and IPv6 ends in the same way | Addr | Name | |——|——| |
+ DMZ.1 | router.lan | | DMZ.2 | switch.lan | | DMZ.3 | wap.lan | |
+ DMZ.4 | proxmox.lan | | DMZ.5 | idrac.lan | | DMZ.6 | nas.lan | |
+ DMZ.7 | printer.lan | | DMZ.8 | desktop.lan | | DMZ.9 | web.lan | |
+ DMZ.10 | wazuh.lan | | DMZ.11 | game.lan | | DMZ.12 | comm.lan | |
+ DMZ.13 | misc.lan | | | | | | DMZ.192 | yerovps | yero.lan | | DMZ.195
+ | exovps | exo.lan |</p>
+ <h2 id="domain-dns-zone">Domain DNS zone</h2>
+ <table>
+ <thead>
+ <tr class="header">
+ <th>Name</th>
+ <th>Type</th>
+ <th>Content</th>
+ <th>Comment</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr class="odd">
+ <td>arf20.com</td>
+ <td>NS</td>
+ <td>ns1.arf20.com</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>arf20.com</td>
+ <td>NS</td>
+ <td>ns2.arf20.com</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>ns1</td>
+ <td>A</td>
+ <td>2.59.235.35</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>ns1</td>
+ <td>AAAA</td>
+ <td>2001:470:1f21:125::13</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>ns2</td>
+ <td>A</td>
+ <td>5.250.186.185</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>ns2</td>
+ <td>AAAA</td>
+ <td>2001:ba0:210:d600::1</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>arf20.com</td>
+ <td>A</td>
+ <td>2.59.235.35</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>arf20.com</td>
+ <td>AAAA</td>
+ <td>2001:470:1f21:125::9</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>arf20.com</td>
+ <td>MX</td>
+ <td>mail.arf20.com</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>mail</td>
+ <td>A</td>
+ <td>5.250.186.185</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>mail</td>
+ <td>AAAA</td>
+ <td>2001:ba0:210:d600::1</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>selector._domainkey</td>
+ <td>TXT</td>
+ <td>(DKIM)</td>
+ <td>DKIM for selector ‘selector’</td>
+ </tr>
+ <tr class="odd">
+ <td>_dmarc</td>
+ <td>TXT</td>
+ <td>(DMARC)</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>arf20.com</td>
+ <td>TXT</td>
+ <td>(SPF)</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>irc</td>
+ <td>CNAME</td>
+ <td>arf20.com</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>jellyfin</td>
+ <td>CNAME</td>
+ <td>arf20.com</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>matrix</td>
+ <td>CNAME</td>
+ <td>arf20.com</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>nextcloud</td>
+ <td>CNAME</td>
+ <td>arf20.com</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>turn</td>
+ <td>CNAME</td>
+ <td>arf20.com</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>webmail</td>
+ <td>CNAME</td>
+ <td>arf20.com</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>www</td>
+ <td>CNAME</td>
+ <td>arf20.com</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>xmpp</td>
+ <td>CNAME</td>
+ <td>arf20.com</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>xmppconf</td>
+ <td>CNAME</td>
+ <td>arf20.com</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>grafana</td>
+ <td>CNAME</td>
+ <td>arf20.com</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>git</td>
+ <td>CNAME</td>
+ <td>arf20.com</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>cgit</td>
+ <td>CNAME</td>
+ <td>arf20.com</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>blog</td>
+ <td>CNAME</td>
+ <td>arf20.com</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>forum</td>
+ <td>CNAME</td>
+ <td>arf20.com</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>deb</td>
+ <td>CNAME</td>
+ <td>arf20.com</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>zabbix</td>
+ <td>CNAME</td>
+ <td>arf20.com</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>memes</td>
+ <td>CNAME</td>
+ <td>arf20.com</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>news</td>
+ <td>CNAME</td>
+ <td>arf20.com</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>_acme-challenge.jellyfin</td>
+ <td>CNAME</td>
+ <td>(challenge)</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>_acme-challenge.irc</td>
+ <td>CNAME</td>
+ <td>(challenge)</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>_acme-challenge.matrix</td>
+ <td>CNAME</td>
+ <td>(challenge)</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>_acme-challenge.mail</td>
+ <td>CNAME</td>
+ <td>(challenge)</td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>_acme-challenge.xmpp</td>
+ <td>CNAME</td>
+ <td>(challenge)</td>
+ <td></td>
+ </tr>
+ </tbody>
+ </table>
+ <h2 id="he-v6-rdns-zone">HE v6 rDNS zone</h2>
+ <table>
+ <thead>
+ <tr class="header">
+ <th>Name</th>
+ <th>Type</th>
+ <th>Content</th>
+ <th>Comment</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr class="odd">
+ <td>2001:470:1f21:125::13</td>
+ <td>PTR</td>
+ <td>ns1.arf20.com</td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>2001:470:1f21:125::9</td>
+ <td>PTR</td>
+ <td>arf20.com</td>
+ <td></td>
+ </tr>
+ </tbody>
+ </table>
+ <h2 id="ionos-rdns-zone">IONOS rDNS zone</h2>
+ <table>
+ <thead>
+ <tr class="header">
+ <th>Name</th>
+ <th>Type</th>
+ <th>Content</th>
+ <th>Comment</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr class="odd">
+ <td>5.250.186.185</td>
+ <td>PTR</td>
+ <td>mail.arf20.com</td>
+ <td></td>
+ </tr>
+ </tbody>
+ </table>
+ </body>
+</html>
diff --git a/arfnet2.md b/arfnet2.md
index 67622d2..5142c2a 100644
--- a/arfnet2.md
+++ b/arfnet2.md
@@ -1,7 +1,9 @@
# ARFNET2 deployment
+
After the disastrous ISP [schism](http://arf20.com/explanation.txt)
## Masterplan
+
Stage 1: very safe
- Close all ports
- Nuke (or stop) all old VMs (exclude OPNSense)
@@ -15,7 +17,7 @@ Stage 2: new services
- HE IPv6 tunnel
- Own authoritative nameservers for domain zone
-Stage 3*: finally
+Stage 3\*: finally
- Another VPS in unknown provider for
- Tor
- Reverse-proxying the media library
@@ -23,17 +25,22 @@ Stage 3*: finally
- More new services
## Domain
-arf20.com <br>
+
+arf20.com
+
Registrar: namecheap
### Name sever glue records at registrar
+
| Nameserver | Name | IP |
|------------|------|----|
| NS1 | ns1.arf20.com | 2.59.235.35 <br> 2001:470:1f21:125::13 |
| NS2 | ns2.arf20.com | 5.250.186.185 <br> 2001:ba0:210:d600::1 |
## Networking
+
### Hardware
+
```
WAP
|
@@ -52,7 +59,9 @@ ISP ===| ONT |---| DELL switch |-----| TP-Link switch |
```
#### DELL PowerConnect 5424 switch
+
Port assignents
+
| port | endpoint | options |
|------|----------|---------|
| g2 | ONT | VLAN access 2 |
@@ -69,15 +78,18 @@ Port assignents
| g23 | printer | VLAN access 4 |
Management
+
- interface vlan 4: 192.168.4.2/24 gw 192.168.4.1
### Public IPs
+
- AVANZA_STATIC: 2.59.235.35
- AVANZA_CGNAT: dynamic
- HE v6 tunnel: 2001:470:1f20:125::2
- IONOS VPS: 5.250.186.185 2001:ba0:210:d600::1
### Gateways
+
- AVANZA
- WAN_STATIC: 2.59.235.1
- WAN_CGNAT: dynamic
@@ -91,9 +103,10 @@ Management
| LAN | 5 | 192.168.5.0/24 | Clients |
| VPN | | 10.5.0.0/24 | Wireguard clients |
-
## Firewall
+
### Interface Rules
+
- WAN_CGNAT in
- deny *
- WAN_STATIC in
@@ -109,6 +122,7 @@ Management
- allow from LAN net to * gw WAN_CGNAT
### IPv4 NAT Rules
+
| Service | Customer | IPProto | Ext Port | Host | Re Port |
|---------|----------|---------|----------|------|---------|
| OpenVPN | | TCP | 1195 | router | |
@@ -136,6 +150,7 @@ Management
| FiveM SuperioresRP | yero | TCP | 30120,40120 | yerovps | |
### IPv6 port rules
+
| Service | Customer | IPProto | Host | Port |
|---------|----------|---------|------|------|
| DNS NS1 | | TCP/UDP | misc | 53 |
@@ -143,10 +158,12 @@ Management
## Hosts
+
- server - DELL PowerEdge R720 running Proxmox PVE - ...
- mail - IONOS VPS running Debian 12 - 5.250.186.185 2001:ba0:210:d600::1
## Management
+
- OPNSense router DMZ.1
- DELL switch DMZ.2
- TP-Link WAP LAN.2
@@ -155,10 +172,13 @@ Management
- HP printer DMZ.7
## server VMs and services
-server runs Proxmox PVE.
+
+server runs Proxmox PVE.
+
All VMs are Debian 12 (templated) with wazuh agent
### proxmox DMZ.4 (hypervisor)
+
- SSH
- Proxmox management interface :8006
- smartmon + node exporter :9100
@@ -166,6 +186,7 @@ All VMs are Debian 12 (templated) with wazuh agent
- NUT - Network UPS TOols daemon (and proper UPS)*
### router DMZ.1
+
- (routing/firewalling)
- SSH
- DHCP
@@ -177,6 +198,7 @@ All VMs are Debian 12 (templated) with wazuh agent
- telegraf - note: editing config via webfig breaks (timeout and unbound config)
### nas DMZ.6
+
RAID attached here (with the grey stuff) (local only)
- SSH
- NFS
@@ -187,6 +209,7 @@ RAID attached here (with the grey stuff) (local only)
- jellyfin
### web DMZ.9
+
- SSH
- cerbot
- nginx (status at :8080)
@@ -212,18 +235,18 @@ RAID attached here (with the grey stuff) (local only)
| vhost | webroot/proxy | Comment |
|-------|---------------|---------|
-| default | <return 418 im a teapot> | |
+| default | \<return 418 im a teapot> | |
| default:8080 | \<return nstub_status> | |
| arf20.com | /var/www/arf20.com/html/ | |
| www.arf20.com | <301 redirect arf20.com> | |
-| matrix.arf20.com | http://comm.lan:8008/_matrix | |
+| matrix.arf20.com | http://comm.lan:8008/\_matrix | |
| webmail.arf20.com | /var/www/webmail.arf20.com/html/ | SquirrelMail |
| nextcloud.arf20.com | /var/www/nextcloud.arf20.com/html/ | |
| grafana.arf20.com | http://localhost:3000 | |
| jellyfin.arf20.com | http://nas.lan:8096 | |
| git.arf20.com | /srv/git/ | |
| cgit.arf20.com | fastcgi:/usr/lib/cgit/cgit.cgi | |
-| blog.arf20.com | /var/www/blog.arf20.com/_site/ | |
+| blog.arf20.com | /var/www/blog.arf20.com/\_site/ | |
| forum.arf20.com | /var/www/forum.arf20.com/html/ | |
| deb.arf20.com | /d/FTPServer/software/debian/ | |
| memes.arf20.com | /var/www/memes.arf20.com/, /d/FTPserver/{dcimg, dcmemes, explosionsandfire} |
@@ -231,10 +254,12 @@ RAID attached here (with the grey stuff) (local only)
| status.yero.dev | http://yerovps.lan:3001 | |
### wazuh DMZ.10
+
- SSH
- wazuh
### game DMZ.11
+
- SSH
- waterfall (minecraft reverse proxy)
- mclobby (auth)
@@ -244,6 +269,7 @@ RAID attached here (with the grey stuff) (local only)
- csgo server*
### comm DMZ.12
+
- SSH
- cerbot
- unrealircd - IRC
@@ -256,6 +282,7 @@ RAID attached here (with the grey stuff) (local only)
- asterisk - VoIP SIP PBX*
### misc (Deb12 LXC) DMZ.13
+
- SSH
- iperf3
- bind9 - master authoritative nameserver for arf20.com zone NS1
@@ -265,6 +292,7 @@ RAID attached here (with the grey stuff) (local only)
- gDebrid
### mail (ARFNET-IONOS VPS) 5.250.186.185 2001:ba0:210:d600::1
+
- SSH
- certbot
- postfix - MTA smtpd, submission, submissions
@@ -274,6 +302,7 @@ RAID attached here (with the grey stuff) (local only)
- bind9 - slave authoritative nameserver NS2
### proxy (ARFNET-HOSTMENOW VPS) *
+
- SSH*
- IPsec client*
- proxy for ftp.arf20.com somehow*
@@ -281,17 +310,20 @@ RAID attached here (with the grey stuff) (local only)
---
### yerovps DMZ.192 (yero)
+
- SSH
- mariadb
- FiveM SuperioresRP
### exovps DMZ.195 (exo)
+
- SSH
- netbox
-*TODO
+\*TODO
## Internal Name and Number Assignation Table
+
DMZ IPv4s and IPv6 ends in the same way
| Addr | Name |
|------|------|
@@ -313,6 +345,7 @@ DMZ IPv4s and IPv6 ends in the same way
| DMZ.195 | exovps | exo.lan |
## Domain DNS zone
+
| Name | Type | Content | Comment |
|------|------|---------|---------|
| arf20.com | NS | ns1.arf20.com | |
@@ -356,12 +389,15 @@ DMZ IPv4s and IPv6 ends in the same way
| _acme-challenge.xmpp | CNAME | (challenge) | |
## HE v6 rDNS zone
+
| Name | Type | Content | Comment |
|------|------|---------|---------|
| 2001:470:1f21:125::13 | PTR | ns1.arf20.com | |
| 2001:470:1f21:125::9 | PTR | arf20.com | |
## IONOS rDNS zone
+
| Name | Type | Content | Comment |
|------|------|---------|---------|
| 5.250.186.185 | PTR | mail.arf20.com | |
+
diff --git a/arfnet2.pdf b/arfnet2.pdf
new file mode 100644
index 0000000..63db298
--- /dev/null
+++ b/arfnet2.pdf
Binary files differ
diff --git a/backlog.txt b/backlog.txt
deleted file mode 100644
index 1d79edc..0000000
--- a/backlog.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-TODO
- NAS
- Samba
- DLNA
- Web
- more web
-
-COMPLETED
- Nuked all VMs but OPNSense and Proxmox itself
- DMZ
- Wazuh VM
- NAS
- NFS
- qbt
- Web
- httpd
diff --git a/template.html b/template.html
new file mode 100644
index 0000000..9b298e7
--- /dev/null
+++ b/template.html
@@ -0,0 +1,28 @@
+<!doctype html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>$title$</title>
+ <style>
+ table, td, th {
+ border: 1px solid black;
+ }
+ th {
+ padding-top: 5px;
+ padding-bottom: 5px;
+ }
+ td {
+ padding-top: 2.5px;
+ padding-bottom: 2.5px;
+ }
+ th, td {
+ padding-left: 10px;
+ padding-right: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ $body$
+ </body>
+</html>
+