<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.gardiol.org/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://wiki.gardiol.org/feed.php">
        <title>Willy&#039;s Wiki - networking</title>
        <description></description>
        <link>https://wiki.gardiol.org/</link>
        <image rdf:resource="https://wiki.gardiol.org/lib/exe/fetch.php?media=wiki:dokuwiki.svg" />
       <dc:date>2026-04-27T13:25:45+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.gardiol.org/doku.php?id=networking:domain-sertup&amp;rev=1741875747&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.gardiol.org/doku.php?id=networking:external_access&amp;rev=1741878041&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.gardiol.org/doku.php?id=networking:networking&amp;rev=1741877174&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.gardiol.org/doku.php?id=networking:openwrt&amp;rev=1741877192&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.gardiol.org/doku.php?id=networking:opnsense_dmz&amp;rev=1741875391&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.gardiol.org/doku.php?id=networking:opnsense_multiwan&amp;rev=1741875379&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.gardiol.org/doku.php?id=networking:opnsense_using&amp;rev=1741875368&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.gardiol.org/doku.php?id=networking:proxy_chain&amp;rev=1741877644&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.gardiol.org/doku.php?id=networking:ssh_tunnel&amp;rev=1741875822&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.gardiol.org/doku.php?id=networking:start&amp;rev=1741875134&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.gardiol.org/doku.php?id=networking:wifiplanning&amp;rev=1741877253&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.gardiol.org/doku.php?id=networking:wifisetup&amp;rev=1741875296&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.gardiol.org/doku.php?id=networking:wirednetwork&amp;rev=1741875246&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.gardiol.org/doku.php?id=networking:wireguard_redirects&amp;rev=1741878071&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.gardiol.org/lib/exe/fetch.php?media=wiki:dokuwiki.svg">
        <title>Willy's Wiki</title>
        <link>https://wiki.gardiol.org/</link>
        <url>https://wiki.gardiol.org/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
    </image>
    <item rdf:about="https://wiki.gardiol.org/doku.php?id=networking:domain-sertup&amp;rev=1741875747&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-13T14:22:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>I) Domain setup</title>
        <link>https://wiki.gardiol.org/doku.php?id=networking:domain-sertup&amp;rev=1741875747&amp;do=diff</link>
        <description>I) Domain setup

Owning a public domain is a must-have for a proper self-hoster. Buying one is cheap and you can really come up with some nice and creative names. You could even go for a random generated string or number, if you prefer.

You must have</description>
    </item>
    <item rdf:about="https://wiki.gardiol.org/doku.php?id=networking:external_access&amp;rev=1741878041&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-13T15:00:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>J) Remote Access to your Home Server</title>
        <link>https://wiki.gardiol.org/doku.php?id=networking:external_access&amp;rev=1741878041&amp;do=diff</link>
        <description>J) Remote Access to your Home Server

Accessing your home server from outside can be tricky. Please note that i am referring to accessing your home server from outside, not your home network. There is a big difference! 

You want to access the services</description>
    </item>
    <item rdf:about="https://wiki.gardiol.org/doku.php?id=networking:networking&amp;rev=1741877174&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-13T14:46:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>E) Network Layout</title>
        <link>https://wiki.gardiol.org/doku.php?id=networking:networking&amp;rev=1741877174&amp;do=diff</link>
        <description>E) Network Layout

For a general IP networking understandings this could be a good starting point. You should be familiar with basic subnetting and routing to understand the following content.

Let&#039;s start with the high level organization, you have two macro areas to consider:</description>
    </item>
    <item rdf:about="https://wiki.gardiol.org/doku.php?id=networking:openwrt&amp;rev=1741877192&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-13T14:46:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>C) OpenWRT</title>
        <link>https://wiki.gardiol.org/doku.php?id=networking:openwrt&amp;rev=1741877192&amp;do=diff</link>
        <description>C) OpenWRT

 OpenWRT is an aftermarket firmware for consumer routers. It&#039;s open source and very powerful. 

The OpenWrt Project is a Linux operating system targeting embedded devices. Instead of trying to create a single, static firmware, OpenWrt provides a fully writable filesystem with package management. This frees you from the application selection and configuration provided by the vendor and allows you to customize the device through the use of packages to suit any application. For develope…</description>
    </item>
    <item rdf:about="https://wiki.gardiol.org/doku.php?id=networking:opnsense_dmz&amp;rev=1741875391&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-13T14:16:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>H) The DMZ with opnSense</title>
        <link>https://wiki.gardiol.org/doku.php?id=networking:opnsense_dmz&amp;rev=1741875391&amp;do=diff</link>
        <description>H) The DMZ with opnSense

A DMZ, short for DeMilitarizedZone, is a special network which is used to separate your home network from the network which host your externally accessible services. 

Since i am using direct SSH tunnels to connect the home server to the external server, the DMZ is not really needed in my case.</description>
    </item>
    <item rdf:about="https://wiki.gardiol.org/doku.php?id=networking:opnsense_multiwan&amp;rev=1741875379&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-13T14:16:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>G) Multi-WAN with opnSense</title>
        <link>https://wiki.gardiol.org/doku.php?id=networking:opnsense_multiwan&amp;rev=1741875379&amp;do=diff</link>
        <description>G) Multi-WAN with opnSense

opnSense make it pretty easy to support and manage multiple Internet Service Providers (ISP), also called multi-wan. 

The basic idea is that you have two (or more...) upstream connections to the internet, via different providers. Each one is connected to your opnSense using a specific dedicated interface, ethernet or USB/Ethernet.</description>
    </item>
    <item rdf:about="https://wiki.gardiol.org/doku.php?id=networking:opnsense_using&amp;rev=1741875368&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-13T14:16:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>F) Using opnSense</title>
        <link>https://wiki.gardiol.org/doku.php?id=networking:opnsense_using&amp;rev=1741875368&amp;do=diff</link>
        <description>F) Using opnSense

opnSense is the “Free &amp; Open source - Everything essential to protect your network and more”. In other words, opnSense is going to be:

	*  Your router
	*  Your firewall
	*  Your DNS resolver and filter

and much more!

You will stick the opnSense between your internet links and your home network(s) and it will let you manage it all with very powerfull tools and web based</description>
    </item>
    <item rdf:about="https://wiki.gardiol.org/doku.php?id=networking:proxy_chain&amp;rev=1741877644&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-13T14:54:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>M) Chaining proxies</title>
        <link>https://wiki.gardiol.org/doku.php?id=networking:proxy_chain&amp;rev=1741877644&amp;do=diff</link>
        <description>M) Chaining proxies

This approach consist in having a reverse proxy on your external server that collects and reidrect requests to your home server reverse proxy. 

This is very effective, because it brings to the setup the following advantages:

	*</description>
    </item>
    <item rdf:about="https://wiki.gardiol.org/doku.php?id=networking:ssh_tunnel&amp;rev=1741875822&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-13T14:23:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>L) Remote Access via SSH tunneling</title>
        <link>https://wiki.gardiol.org/doku.php?id=networking:ssh_tunnel&amp;rev=1741875822&amp;do=diff</link>
        <description>L) Remote Access via SSH tunneling

You will create a specific user, called tunnel both on the local and the remote servers and allow the local user tunnel to login via private/public key exchange to the remote servers. This is always possible because the remote server is, by definition of internet, accessible from the home server.</description>
    </item>
    <item rdf:about="https://wiki.gardiol.org/doku.php?id=networking:start&amp;rev=1741875134&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-13T14:12:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>6] Networking</title>
        <link>https://wiki.gardiol.org/doku.php?id=networking:start&amp;rev=1741875134&amp;do=diff</link>
        <description>6] Networking

Networking

Networking is the concept of connection two or more computers together so that they can exchange data trough some kind of transport medium.

The ISO/OSI model describe networking as a stack of protocols which spans from the physical level to the most abstract high-level logical layer. At the physical level for home usage we usually refer to wired ethernet or wireless WiFi protocols, while at network level we usually refer to IP (either v4 or v6).</description>
    </item>
    <item rdf:about="https://wiki.gardiol.org/doku.php?id=networking:wifiplanning&amp;rev=1741877253&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-13T14:47:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>B) WiFi planning</title>
        <link>https://wiki.gardiol.org/doku.php?id=networking:wifiplanning&amp;rev=1741877253&amp;do=diff</link>
        <description>B) WiFi planning

So you have wired your home with ethernet cables as described here, but of course you want to add a WiFi infrastructure for your mobile devices, smart devices and IoT stuff.

Welcome to WiFi hell. Yes, there is a reason why there is a big market for extravagant WiFi solutions, advanced (and very expensive) WiFi Access Points / Routers / Repeaters, mesh stuff and buzzwords.</description>
    </item>
    <item rdf:about="https://wiki.gardiol.org/doku.php?id=networking:wifisetup&amp;rev=1741875296&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-13T14:14:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>D) WiFi Setup</title>
        <link>https://wiki.gardiol.org/doku.php?id=networking:wifisetup&amp;rev=1741875296&amp;do=diff</link>
        <description>D) WiFi Setup

I assume you have OpenWRT on all your WiFi Access Points (see here) for the following configurations and suggestions. If you are not going the OpenWRT route, keep reading and try to adapt as much as possible to your devices.

SSID Creation</description>
    </item>
    <item rdf:about="https://wiki.gardiol.org/doku.php?id=networking:wirednetwork&amp;rev=1741875246&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-13T14:14:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>A) Home Infrastructure</title>
        <link>https://wiki.gardiol.org/doku.php?id=networking:wirednetwork&amp;rev=1741875246&amp;do=diff</link>
        <description>A) Home Infrastructure

Your home should be wired with an ethernet backbone. I know that today&#039;s fun lies with WiFi, but the reality is that WiFi can be spotty and bandwitdh is never that great. If you have a multi-level home, or just thick stone / bricks walls, or even worse, concrete walls (with metal rebars inside</description>
    </item>
    <item rdf:about="https://wiki.gardiol.org/doku.php?id=networking:wireguard_redirects&amp;rev=1741878071&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-13T15:01:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>K) WireGuard Port Forwarding</title>
        <link>https://wiki.gardiol.org/doku.php?id=networking:wireguard_redirects&amp;rev=1741878071&amp;do=diff</link>
        <description>K) WireGuard Port Forwarding

I am assuming that you have already setup WireGuard both on the internal and on the external server. See this page for more details on the topic.

Using WireGuard for port-forwarding between an external, public accessible host, and an internal non-accessible host (like behind a CGNAT) is a less known topic and i will cover it here.</description>
    </item>
</rdf:RDF>
