Skip to content

Add RouteLan and AllowLan configuration options for private network routing #268

Description

@NNdroid

Currently, there is no fine-grained control over how private network addresses are handled in the VPN configuration. This proposal suggests adding two new configuration options to provide more flexibility in routing private network traffic.

Proposed Solution

I suggest adding the following two configuration options:

1. RouteLan

  • Purpose: Indicates whether to route private network addresses to the VPN gateway
  • Effect: When enabled, private network traffic (e.g., RFC 1918 addresses) is tunneled through the VPN connection
  • When to use: For scenarios where users want to access local network resources through the VPN gateway

2. AllowLan

  • Purpose: Indicates whether clients are allowed to route packets containing private network addresses
  • Effect: When enabled, clients can send and receive packets with private network addresses; when disabled, such packets are dropped or rejected
  • When to use: For controlling client permissions and preventing unintended local network access

Use Cases

  • Network Isolation: Administrators can prevent users from accessing local network resources outside the VPN policy
  • Split Tunneling: Users can route only specific traffic types (public vs. private addresses) through the VPN
  • Security Control: Enhanced control over which network ranges are accessible through VPN clients
  • Hybrid Network Setup: Better support for hybrid environments where some resources should be accessed locally and others through VPN

Expected Behavior

Config RouteLan AllowLan Behavior
A Enabled Enabled Private network traffic is routed through VPN gateway; clients can access it
B Enabled Disabled Private network traffic is routed through VPN gateway; clients cannot send private network packets
C Disabled Enabled Private network traffic bypasses VPN; clients can access local network directly
D Disabled Disabled Private network traffic is blocked or bypassed; no client access to private addresses

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions