config/lighthouse: add support for remote and local allow lists
This commit is contained in:
committed by
Andrew Paglusch
parent
394aabc1d8
commit
c6f6548f97
@@ -33,6 +33,22 @@ You can read more about Nebula [on the official repo](https://github.com/slackhq
|
|||||||
nebula_outbound_rules:
|
nebula_outbound_rules:
|
||||||
- { port: "any", proto: "any", host: "any" }
|
- { port: "any", proto: "any", host: "any" }
|
||||||
|
|
||||||
|
# Example lighthouse remote_allow_list configuration
|
||||||
|
# Controls IP ranges that this node will consider when handshaking
|
||||||
|
nebula_lighthouse_remote_allow_list:
|
||||||
|
'172.16.0.0/12': false # Block this subnet
|
||||||
|
'0.0.0.0/0': true # Allow all other IPs
|
||||||
|
'10.0.0.0/8': false # Block private range
|
||||||
|
'10.42.42.0/24': true # Allow specific subnet
|
||||||
|
|
||||||
|
# Example lighthouse local_allow_list configuration
|
||||||
|
# Filters which local IP addresses are advertised to the lighthouses
|
||||||
|
nebula_lighthouse_local_allow_list:
|
||||||
|
interfaces:
|
||||||
|
tun0: false # Block tun0 interface
|
||||||
|
'docker.*': false # Block all docker interfaces
|
||||||
|
'10.0.0.0/8': true # Only advertise this subnet
|
||||||
|
|
||||||
roles:
|
roles:
|
||||||
- role: nebula
|
- role: nebula
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -17,6 +17,19 @@ nebula_lighthouse_public_port: 4242
|
|||||||
nebula_lighthouse_is_relay: true
|
nebula_lighthouse_is_relay: true
|
||||||
nebula_lighthouse_extra_config: {}
|
nebula_lighthouse_extra_config: {}
|
||||||
|
|
||||||
|
# Lighthouse remote_allow_list configuration
|
||||||
|
# Controls IP ranges that this node will consider when handshaking to another node
|
||||||
|
# Format: CIDR: boolean (true to allow, false to deny)
|
||||||
|
# If all rules are "allow", default will be "deny", and vice-versa
|
||||||
|
# If both "allow" and "deny" rules are present, you MUST set a rule for "0.0.0.0/0" as default
|
||||||
|
nebula_lighthouse_remote_allow_list: {}
|
||||||
|
|
||||||
|
# Lighthouse local_allow_list configuration
|
||||||
|
# Filters which local IP addresses are advertised to the lighthouses
|
||||||
|
# Can specify interfaces map of regular expressions to match against interface names
|
||||||
|
# Format: CIDR: boolean or interfaces: { interface_regex: boolean }
|
||||||
|
nebula_lighthouse_local_allow_list: {}
|
||||||
|
|
||||||
nebula_metrics_prometheus_enabled: false
|
nebula_metrics_prometheus_enabled: false
|
||||||
nebula_metrics_prometheus_listen: "127.0.0.1:4244"
|
nebula_metrics_prometheus_listen: "127.0.0.1:4244"
|
||||||
nebula_metrics_prometheus_path: "/metrics"
|
nebula_metrics_prometheus_path: "/metrics"
|
||||||
|
|||||||
@@ -28,6 +28,31 @@ lighthouse:
|
|||||||
# format:
|
# format:
|
||||||
#
|
#
|
||||||
# - "192.168.77.1"
|
# - "192.168.77.1"
|
||||||
|
|
||||||
|
{% if nebula_lighthouse_remote_allow_list|length > 0 %}
|
||||||
|
# remote_allow_list controls IP ranges that this node will consider when handshaking
|
||||||
|
remote_allow_list:
|
||||||
|
{% for cidr, allow in nebula_lighthouse_remote_allow_list.items() %}
|
||||||
|
'{{ cidr }}': {{ allow | lower }}
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if nebula_lighthouse_local_allow_list|length > 0 %}
|
||||||
|
# local_allow_list filters which local IP addresses we advertise to the lighthouses
|
||||||
|
local_allow_list:
|
||||||
|
{% if nebula_lighthouse_local_allow_list.interfaces is defined %}
|
||||||
|
interfaces:
|
||||||
|
{% for interface, allow in nebula_lighthouse_local_allow_list.interfaces.items() %}
|
||||||
|
'{{ interface }}': {{ allow | lower }}
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
{% for key, value in nebula_lighthouse_local_allow_list.items() %}
|
||||||
|
{% if key != 'interfaces' %}
|
||||||
|
'{{ key }}': {{ value | lower }}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% if nebula_lighthouse_extra_config|length > 0 %}
|
{% if nebula_lighthouse_extra_config|length > 0 %}
|
||||||
{{- nebula_lighthouse_extra_config | to_nice_yaml | indent(2) }}
|
{{- nebula_lighthouse_extra_config | to_nice_yaml | indent(2) }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
Reference in New Issue
Block a user