Add diagrams for ports and backup article
This commit is contained in:
parent
0fb32ee7fc
commit
048592d9c4
|
@ -2,6 +2,7 @@ Title: My Backup Strategy
|
||||||
Date: 2021-04-08
|
Date: 2021-04-08
|
||||||
Category: Writing
|
Category: Writing
|
||||||
Summary: Details about the backup system for all of my data.
|
Summary: Details about the backup system for all of my data.
|
||||||
|
Image: backup1.svg
|
||||||
Wide: true
|
Wide: true
|
||||||
Tags: feed
|
Tags: feed
|
||||||
|
|
||||||
|
@ -20,12 +21,15 @@ Backups need to be tested to ensure they are correct and happening regularly. M
|
||||||
Backups should also be incremental when possible (rather than mirror copies) so an accidental deletion isn't propagated into the backups, making the file irrecoverable.
|
Backups should also be incremental when possible (rather than mirror copies) so an accidental deletion isn't propagated into the backups, making the file irrecoverable.
|
||||||
|
|
||||||
## Strategy
|
## Strategy
|
||||||
|
|
||||||
The key is to have one central location that all your files, projects, and data are cloned to and then back that directory up to multiple locations.
|
The key is to have one central location that all your files, projects, and data are cloned to and then back that directory up to multiple locations.
|
||||||
|
|
||||||
I have one backup folder `/mnt/backup` on my media server at home that serves as the destination for all my backup sources. All scheduled automatic backups write to their own subfolder inside of it.
|
I have one backup folder `/mnt/backup` on my media server at home that serves as the destination for all my backup sources. All scheduled automatic backups write to their own subfolder inside of it.
|
||||||
|
|
||||||
This backup folder is then synced to encrypted 2.5" 1 TB hard drives which I rotate between my bag, offsite, and my parents' house.
|
This backup folder is then synced to encrypted 2.5" 1 TB hard drives which I rotate between my bag, offsite, and my parents' house.
|
||||||
|
|
||||||
|
![[backup1.svg]]
|
||||||
|
|
||||||
## Backup Sources
|
## Backup Sources
|
||||||
|
|
||||||
I use the tool `rdiff-backup` extensively because it allows me to take incremental backups locally or over SSH. It acts very similar to `rsync` and has no configuration.
|
I use the tool `rdiff-backup` extensively because it allows me to take incremental backups locally or over SSH. It acts very similar to `rsync` and has no configuration.
|
||||||
|
|
|
@ -2,6 +2,7 @@ Title: Bypassing ISP Blocked Ports
|
||||||
Date: 2023-12-10
|
Date: 2023-12-10
|
||||||
Category: Writing
|
Category: Writing
|
||||||
Summary: Bypass ISP blocked ports using VPN port forwarding for public access.
|
Summary: Bypass ISP blocked ports using VPN port forwarding for public access.
|
||||||
|
Image: ports1.svg
|
||||||
Wide: true
|
Wide: true
|
||||||
Tags: feed
|
Tags: feed
|
||||||
|
|
||||||
|
@ -19,6 +20,8 @@ My media server at home has an OpenVPN client connected to the server and is ass
|
||||||
|
|
||||||
The virtual server has routing enabled and forwards inbound traffic __from the internet__ to my media server at home. This allows me to have external HTTP and SSH access.
|
The virtual server has routing enabled and forwards inbound traffic __from the internet__ to my media server at home. This allows me to have external HTTP and SSH access.
|
||||||
|
|
||||||
|
![[ports1.svg]]
|
||||||
|
|
||||||
## Server Setup
|
## Server Setup
|
||||||
|
|
||||||
Spin up a Debian 12 server on your favourite hosting provider. If you're using an older version of Debian, you can follow the [[Bypassing Ports Old |old version of this article]]. You should harden this server. Assign a subdomain to it like `vpn.example.com`.
|
Spin up a Debian 12 server on your favourite hosting provider. If you're using an older version of Debian, you can follow the [[Bypassing Ports Old |old version of this article]]. You should harden this server. Assign a subdomain to it like `vpn.example.com`.
|
||||||
|
|
4
content/media/backup1.svg
Normal file
4
content/media/backup1.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 185 KiB |
4
content/media/ports1.svg
Normal file
4
content/media/ports1.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 110 KiB |
70
misc/backup-strategy-diagram.drawio
Normal file
70
misc/backup-strategy-diagram.drawio
Normal file
|
@ -0,0 +1,70 @@
|
||||||
|
<mxfile host="app.diagrams.net" modified="2024-01-26T21:51:42.500Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0" etag="rxPVBCqqDlizBv9YwVwk" version="23.0.2" type="device">
|
||||||
|
<diagram name="Page-1" id="2peR5UrzPdhCN7KmwIpr">
|
||||||
|
<mxGraphModel dx="1114" dy="630" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
|
||||||
|
<root>
|
||||||
|
<mxCell id="0" />
|
||||||
|
<mxCell id="1" parent="0" />
|
||||||
|
<mxCell id="20e5nqs_UBeXcxDGWj9N-28" value="" style="ellipse;whiteSpace=wrap;html=1;strokeWidth=3;fillColor=none;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="590" y="310" width="150" height="150" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="20e5nqs_UBeXcxDGWj9N-1" value="" style="fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#CCCCCC;strokeColor=#6881B3;gradientColor=none;gradientDirection=north;strokeWidth=2;shape=mxgraph.networks.server_storage;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="380.63" y="300" width="105" height="105" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="20e5nqs_UBeXcxDGWj9N-2" value="<font style="font-size: 25px;">Home Server</font>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="350" y="260" width="166.25" height="30" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="20e5nqs_UBeXcxDGWj9N-4" value="<font style="font-size: 25px;">/mnt/backup</font>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="355.95" y="420" width="154.37" height="30" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="20e5nqs_UBeXcxDGWj9N-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;" edge="1" parent="1" source="20e5nqs_UBeXcxDGWj9N-5" target="20e5nqs_UBeXcxDGWj9N-4">
|
||||||
|
<mxGeometry relative="1" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="20e5nqs_UBeXcxDGWj9N-5" value="" style="fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#CCCCCC;strokeColor=#6881B3;gradientColor=none;gradientDirection=north;strokeWidth=2;shape=mxgraph.networks.pc;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="140" y="230" width="100" height="70" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="20e5nqs_UBeXcxDGWj9N-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;" edge="1" parent="1" source="20e5nqs_UBeXcxDGWj9N-6" target="20e5nqs_UBeXcxDGWj9N-4">
|
||||||
|
<mxGeometry relative="1" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="20e5nqs_UBeXcxDGWj9N-6" value="" style="fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#CCCCCC;strokeColor=#6881B3;gradientColor=none;gradientDirection=north;strokeWidth=2;shape=mxgraph.networks.web_server;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="150" y="330" width="90" height="85" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="20e5nqs_UBeXcxDGWj9N-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;" edge="1" parent="1" source="20e5nqs_UBeXcxDGWj9N-7" target="20e5nqs_UBeXcxDGWj9N-4">
|
||||||
|
<mxGeometry relative="1" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="20e5nqs_UBeXcxDGWj9N-7" value="" style="fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#CCCCCC;strokeColor=#6881B3;gradientColor=none;gradientDirection=north;strokeWidth=2;shape=mxgraph.networks.mail_server;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="150" y="430" width="90" height="90" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="20e5nqs_UBeXcxDGWj9N-8" value="<font style="font-size: 25px;">Backup Sources</font>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="100" y="180" width="190" height="30" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="20e5nqs_UBeXcxDGWj9N-9" value="<font style="font-size: 25px;">Computers</font>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="15" y="250" width="100" height="30" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="20e5nqs_UBeXcxDGWj9N-10" value="<div style="font-size: 25px;"><font style="font-size: 25px;">Web Services</font></div>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||||
|
<mxGeometry y="337.5" width="130" height="70" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="20e5nqs_UBeXcxDGWj9N-11" value="<font style="font-size: 25px;">Email, Nextcloud, etc.<br></font>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="5" y="445" width="110" height="60" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="20e5nqs_UBeXcxDGWj9N-19" value="" style="fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#CCCCCC;strokeColor=#6881B3;gradientColor=none;gradientDirection=north;strokeWidth=2;shape=mxgraph.networks.external_storage;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="580" y="390" width="70" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="20e5nqs_UBeXcxDGWj9N-20" value="" style="fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#CCCCCC;strokeColor=#6881B3;gradientColor=none;gradientDirection=north;strokeWidth=2;shape=mxgraph.networks.external_storage;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="640" y="280" width="70" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="20e5nqs_UBeXcxDGWj9N-21" value="" style="fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#CCCCCC;strokeColor=#6881B3;gradientColor=none;gradientDirection=north;strokeWidth=2;shape=mxgraph.networks.external_storage;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="700" y="390" width="70" height="80" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="20e5nqs_UBeXcxDGWj9N-22" value="<font style="font-size: 25px;">External Hard Drives</font>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="590" y="210" width="160" height="50" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="20e5nqs_UBeXcxDGWj9N-23" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=3;" edge="1" parent="1" source="20e5nqs_UBeXcxDGWj9N-4" target="20e5nqs_UBeXcxDGWj9N-19">
|
||||||
|
<mxGeometry relative="1" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="20e5nqs_UBeXcxDGWj9N-29" value="<font style="font-size: 25px;">rsync</font>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="290" y="440" width="100" height="55" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
</root>
|
||||||
|
</mxGraphModel>
|
||||||
|
</diagram>
|
||||||
|
</mxfile>
|
48
misc/bypass-ports-diagram.drawio
Normal file
48
misc/bypass-ports-diagram.drawio
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
<mxfile host="app.diagrams.net" modified="2024-01-26T05:01:15.100Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0" etag="JJ-bykZ30vwY7yotJaLz" version="23.0.2" type="device">
|
||||||
|
<diagram name="Page-1" id="bfe91b75-5d2c-26a0-9c1d-138518896778">
|
||||||
|
<mxGraphModel dx="138" dy="-1000" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1100" pageHeight="850" background="none" math="0" shadow="0">
|
||||||
|
<root>
|
||||||
|
<mxCell id="0" />
|
||||||
|
<mxCell id="1" parent="0" />
|
||||||
|
<mxCell id="y_adAsICl-CzPuRvVA7X-1" value="" style="html=1;fillColor=#f5f5f5;strokeColor=#666666;gradientDirection=north;strokeWidth=2;shape=mxgraph.networks.cloud;rounded=0;shadow=0;comic=0;align=center;fontSize=28;fontColor=#333333;verticalAlign=bottom;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="1710" y="1840" width="730" height="390" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="y_adAsICl-CzPuRvVA7X-2" value="<div align="center"><font style="font-size: 25px;">DigitalOcean VPS</font><br></div>" style="fontColor=#0066CC;verticalAlign=bottom;verticalLabelPosition=top;labelPosition=center;align=center;html=1;fillColor=#CCCCCC;strokeColor=#6881B3;gradientColor=none;gradientDirection=north;strokeWidth=2;shape=mxgraph.networks.server_storage;rounded=0;shadow=0;comic=0;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="1847.5" y="2073" width="105" height="105" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="y_adAsICl-CzPuRvVA7X-5" value="" style="fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;fillColor=#CCCCCC;strokeColor=#6881B3;gradientColor=none;gradientDirection=north;strokeWidth=2;shape=mxgraph.networks.pc;rounded=0;shadow=0;comic=0;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="1850.0000000000002" y="2330.0017647058826" width="100" height="70" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="y_adAsICl-CzPuRvVA7X-6" value="<font style="font-size: 25px;">Home Server<br></font>" style="fontColor=#0066CC;verticalAlign=bottom;verticalLabelPosition=top;labelPosition=center;align=center;html=1;fillColor=#CCCCCC;strokeColor=#6881B3;gradientColor=none;gradientDirection=north;strokeWidth=2;shape=mxgraph.networks.server_storage;rounded=0;shadow=0;comic=0;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="2510" y="2073" width="105" height="105" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="y_adAsICl-CzPuRvVA7X-9" value="" style="shape=singleArrow;direction=west;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="1960" y="2065" width="510" height="120" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="y_adAsICl-CzPuRvVA7X-10" value="<font style="font-size: 25px;">OpenVPN Tunnel<br></font>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="2090" y="2100" width="280" height="130" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="y_adAsICl-CzPuRvVA7X-11" value="<font style="font-size: 25px;">Internet</font>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="2120" y="1900" width="60" height="30" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="y_adAsICl-CzPuRvVA7X-16" value="" style="curved=1;endArrow=classic;html=1;rounded=0;strokeWidth=5;" edge="1" parent="1">
|
||||||
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||||
|
<mxPoint x="1910" y="2320" as="sourcePoint" />
|
||||||
|
<mxPoint x="2500" y="2130" as="targetPoint" />
|
||||||
|
<Array as="points">
|
||||||
|
<mxPoint x="1910" y="2150" />
|
||||||
|
<mxPoint x="1940" y="2120" />
|
||||||
|
<mxPoint x="2190" y="2130" />
|
||||||
|
</Array>
|
||||||
|
</mxGeometry>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="y_adAsICl-CzPuRvVA7X-18" value="<font style="font-size: 25px;">HTTP<br></font>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="1930" y="2270" width="60" height="30" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="y_adAsICl-CzPuRvVA7X-19" value="<font style="font-size: 25px;">Client</font>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#0066CC;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="1870" y="2410" width="60" height="30" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
</root>
|
||||||
|
</mxGraphModel>
|
||||||
|
</diagram>
|
||||||
|
</mxfile>
|
Loading…
Reference in New Issue
Block a user