Post

My Girlfriend Moved In Here Is Our Network Diagram

Welcome to this in-depth guide aimed at experienced sysadmins and DevOps engineers who are merging their home networks with a partners. This article focuses ....

# My Girlfriend Moved In Here Is Our Network Diagram: A Comprehensive Guide to Homelab Network Configuration

Welcome to this in-depth guide aimed at experienced sysadmins and DevOps engineers who are merging their home networks with a partner’s. This article focuses on the practical aspects of setting up a network that effectively integrates multiple self-hosted environments, addressing the challenge posed by the title.

Introduction

With your significant other moving in, it’s time to merge your respective lab setups into one cohesive home network. A well-designed and secure network is crucial for maintaining performance, protecting sensitive data, and ensuring seamless connectivity between devices. This guide will walk you through the steps of creating a robust home network, using our new partner’s diagram as a foundation.

Prerequisites

To follow this guide, you’ll need:

  1. Compatible operating systems (e.g., Linux distributions like Ubuntu Server 20.04 LTS or CentOS 8)
  2. Adequate hardware to support your combined network requirements (minimum: quad-core CPU, 8GB RAM, and a gigabit Ethernet port)
  3. Required software such as networking tools like Isc DHCP Server and OpenVPN, with specific versions detailed in the installation section below
  4. Network devices (switches, routers, etc.) that meet your combined throughput needs, with proper firewall configurations to secure access to your devices
  5. Proper user permissions for managing your network configuration files and services

Installation & Setup

We’ll cover the installation of two essential components: a DHCP server for managing IP addresses and OpenVPN for establishing a secure VPN connection between our networks.

  1. Isc DHCP Server

    1
    
    sudo apt-get update && sudo apt-get install isc-dhcp-server
    

    Configure the /etc/dhcp/dhcpd.conf file as follows:

    1
    2
    3
    4
    5
    
    subnet 192.168.0.0 netmask 255.255.255.0 {
        range 192.168.0.100 192.168.0.200;
        default-lease-time 600;
        max-lease-time 7200;
    }
    
  2. OpenVPN

    Install OpenVPN and the easy-rsa toolset:

    1
    
    sudo apt-get install openvpn easy-rsa
    

    Generate your SSL certificates with easy-rsa following the provided instructions. Then, configure your OpenVPN server in the /etc/openvpn/server.conf file:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    proto udp
    port 1194
    dev tun
    ca ca.crt
    cert server.crt
    key server.key
    dh dh2048.pem
    server 10.8.0.0 255.255.255.0
    push "redirect-gateway defualt gw 10.8.0.1"
    keepalive 10 60
    cipher AES-256-CBC
    user nobody
    group nogroup
    persist-key
    persist-tun
    status openvpn-status.log
    verb 3
    

Configuration

Configure your network devices to use the DHCP server and connect via OpenVPN, if necessary. Adjust your firewall rules to allow traffic to relevant services and secure your devices accordingly.

Usage & Operations

Learn common operations like restarting services, monitoring network traffic, and backing up configurations for disaster recovery.

Troubleshooting

Address common issues such as connectivity problems, slow performance, or authentication errors, with debug commands, log analysis, and performance tuning tips.

Conclusion

In this comprehensive guide, you’ve learned to set up a secure, high-performance home network that integrates multiple lab environments. With proper configuration and maintenance, your new shared network will serve as a solid foundation for years of collaborative projects and self-hosted services.

For further learning, check out resources like The Linux Networking Cookbook and OpenVPN documentation. Happy networking!

This post is licensed under CC BY 4.0 by the author.