Tailscale Funnel Security Setup for Rancher Desktop
TODO: This is not implemented - it is a potential solution that isolates the cluster when connected to the internet using tailscale funnel or cloudfrale tunnel.
Overview
This document describes how to securely expose services from a local Rancher Desktop Kubernetes cluster to the internet while protecting your local network from potential security threats.
The Challenge
When you expose services to the internet, you create a potential security risk. Without proper configuration, a compromised service could potentially access your local network, including other computers, printers, and sensitive resources on your home or office network.
The Solution
We implement network isolation that creates a secure barrier between internet-facing services and your local network, while preserving the development workflow you're already using.
Architecture Overview
Current Setup
- Rancher Desktop: Running Kubernetes cluster on your computer
- provision-host: A Docker container for managing the cluster (accessed via
docker exec) - Services: Web applications running in Kubernetes that you want to expose to the internet
Security Model
Our setup creates two separate network zones:
Zone 1: Management (Trusted)
- provision-host container: Used for development and cluster management
- Network access: Can reach the internet through your computer's network
- Why it's safe: Isolated from internet-facing services, only accessed by developers
Zone 2: Public Services (Restricted)
- Kubernetes cluster services: Applications exposed to the internet
- Network access: Can ONLY reach the internet through Tailscale secure tunnels
- Why it's safe: Completely blocked from accessing your local network
Network Flow Diagrams
Secure Inbound Traffic (From Internet to Your Services)
Internet Users
↓
Tailscale Funnel (Secure Gateway)
↓
Traefik (Load Balancer)
↓
Your Application (e.g., whoami service)