Favicon of Nebula

Nebula

Create a fast, secure, and scalable overlay network. Connect hosts across any IP network using encrypted, peer-to-peer tunnels and a group-based firewall.

Nebula is an open-source global overlay networking tool originally created and battle-tested by Slack. It allows you to connect any number of computers, from a few to tens of thousands, into a single, secure private network. This tool creates a dedicated virtual network on top of any existing internet connection, enabling devices to communicate as if they were on the same local network, regardless of their physical location.

It operates on a peer-to-peer model, where each host establishes a direct, encrypted tunnel to others. Security is managed through a robust Public Key Infrastructure (PKI). Each host has a unique certificate that defines its identity, IP address, and group memberships, ensuring that only authorized devices can join and communicate.

Key capabilities include:

  • Built-in Firewall: A powerful, group-based firewall lets you define traffic rules based on certificate properties, not just IP addresses.
  • NAT Traversal: "Lighthouse" nodes help peers find each other and punch through firewalls and NATs, making connections seamless.
  • Broad Compatibility: A single binary runs on Linux, macOS, Windows, iOS, Android, and more, across various hardware architectures.
  • Proven Scalability: It powers Slack's production infrastructure, connecting over 50,000 hosts globally.

This approach provides a simple, fast, and highly secure way to manage connectivity between hosts in different data centers, cloud providers, or remote locations.

Directory Structure

nebula
config
.env
docker-compose.yml

docker-compose.yml

services:
  nebula:
    image: nebulaoss/nebula:latest
    container_name: nebula
    cap_add:
      - NET_ADMIN
    devices:
      - /dev/net/tun:/dev/net/tun
    ports:
      - "4242:4242/udp"
    volumes:
      - ./config:/etc/nebula
    command: -config /etc/nebula/config.yml
    restart: unless-stopped

.env

# Nebula does not require environment variables for this basic Docker Compose setup.
# All configuration, including secrets like certificates and keys, should be placed in the ./config directory and referenced in your config.yml.
Categories:

Share:

Ad
Favicon

 

  
 

Similar to Nebula

Favicon

 

  
  
Favicon

 

  
  
Favicon