# Networking Configuration in Proxmox

Proxmox supports robust and advanced networking setups, providing flexibility and scalability for your home lab or enterprise environment. Whether you’re isolating VLANs, setting up bridges for inter-VM communication, or configuring network bonding for redundancy, Proxmox makes networking powerful yet manageable.

For my personal setup, I’ve taken full advantage of Proxmox's networking features to create a segmented network with multiple VLANs, ensuring isolation for devices like IoT, my home lab, and general usage. This approach has significantly improved both security and organization within my network.

---

## Isolated VLANs for Better Network Organization

One of the standout features of Proxmox is its ability to support VLANs (Virtual Local Area Networks). VLANs are a game-changer in organizing network traffic:

- **Benefits**:
    - Improved security by isolating traffic between devices or groups of devices.
    - Reduced broadcast domain size, leading to better network performance.
    - Simplified troubleshooting as each VLAN has its own subnet.

### My Use Case:

In my home lab, I have VLANs set up for:

- **Main LAN**: All trusted devices, including workstations and my server.
- **IoT Network**: Devices like smart TVs, cameras, and other IoT gear.
- **Homelab Network**: Dedicated to virtual machines and services I host, such as Pi-hole, Plex, and Nextcloud.

Each VLAN has its own unique subnet, configured through pfSense, my primary firewall. This ensures that traffic is isolated unless explicitly allowed via firewall rules. For example, IoT devices can only access the internet but not other networks.

---

## Bridges for Inter-VM Communication

In Proxmox, bridges are used to connect virtual machines (VMs) to the same network or VLAN as the physical host.

- **How it Works**:
    - Each bridge acts as a virtual switch, allowing VMs to share the same network interface card (NIC) of the Proxmox host.
    - You can assign VMs to specific bridges to isolate traffic or enable communication between them.

### My Setup:

For most VMs, I use a dedicated bridge corresponding to the VLAN they belong to. This ensures that VMs respect the same segmentation as physical devices on the network.

Example:

```bash
auto vmbr10
iface vmbr10 inet manual
    bridge_ports none
    bridge_stp off
    bridge_fd 0
    vlan-raw-device enp3s0
```

In this setup:

- `vmbr10` is the bridge assigned to VLAN 10 (my homelab network).
- `vlan-raw-device` links the bridge to a specific physical NIC for VLAN tagging.

---

## Network Bonding for Redundancy and Throughput

Proxmox supports **network bonding**, which allows you to combine multiple physical NICs into a single interface. This is especially useful in scenarios where high availability or increased throughput is critical.

- **Modes**:
    - Active-Backup (Mode 1): Provides redundancy; only one NIC is active at a time.
    - Balance-TLB (Mode 5): Balances outgoing traffic across NICs.
    - LACP (Mode 4): Aggregates NICs to increase throughput when supported by the switch.

### My Setup:

On my Proxmox host, I’ve configured network bonding to ensure reliability:

```bash
auto bond0
iface bond0 inet manual
    bond-slaves enp1s0 enp2s0
    bond-mode 4
    bond-miimon 100

auto vmbr0
iface vmbr0 inet static
    address 10.10.1.2/24
    gateway 10.10.1.1
    bridge-ports bond0
    bridge-stp off
    bridge-fd 0
```

Here’s what’s happening:

- Two physical NICs (`enp1s0` and `enp2s0`) are bonded for increased throughput and failover.
- The bonded interface is linked to a bridge (`vmbr0`) for traffic routing.

This ensures that even if one NIC fails, the other seamlessly takes over, keeping my VMs and services accessible.

---

## Final Thoughts

Building a robust network with Proxmox has been both a technical challenge and a rewarding experience. By using VLANs, bridges, and network bonding, I’ve optimized my setup for performance, security, and scalability. Whether you're just starting with Proxmox or refining an existing network, these features provide incredible flexibility.

If you’re interested in taking your networking setup to the next level, I recommend:

1. Planning your VLAN structure based on your device and traffic needs.
2. Exploring Proxmox’s built-in tools for creating and managing bridges.
3. Implementing network bonding if you have multiple NICs to ensure uptime and boost throughput.

Feel free to reach out if you want to dive deeper into any of these configurations!