fix: drop lan-only ipAllowList (klipper-lb SNATs all LB traffic to 10.42.0.1, so Traefik never sees real client IPs)
Internal-only for argocd/auth/adguard.labzand.com is now enforced at DNS level: cloudflare-ddns only publishes ns.labzand.com; internal names resolve solely via AdGuard rewrites. Delete the *.labzand.com A record in Cloudflare once. Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <[email protected]>
This commit is contained in:
@@ -88,7 +88,6 @@ metadata:
|
|||||||
annotations:
|
annotations:
|
||||||
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
||||||
traefik.ingress.kubernetes.io/router.tls: "true"
|
traefik.ingress.kubernetes.io/router.tls: "true"
|
||||||
traefik.ingress.kubernetes.io/router.middlewares: adguard-lan-only@kubernetescrd
|
|
||||||
spec:
|
spec:
|
||||||
rules:
|
rules:
|
||||||
- host: adguard.labzand.com
|
- host: adguard.labzand.com
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
# Middlewares voor adguard.labzand.com (alleen intern):
|
# Middleware voor adguard.labzand.com: http (web) -> https redirect.
|
||||||
# - redirect-https: http (web) -> https
|
# (lan-only verwijderd: klipper-lb SNAT't al verkeer naar 10.42.0.1, zie argocd/middleware.yaml)
|
||||||
# - lan-only: blokkeert verkeer van buiten het LAN op de websecure-router
|
|
||||||
apiVersion: traefik.io/v1alpha1
|
apiVersion: traefik.io/v1alpha1
|
||||||
kind: Middleware
|
kind: Middleware
|
||||||
metadata:
|
metadata:
|
||||||
@@ -10,14 +9,3 @@ spec:
|
|||||||
redirectScheme:
|
redirectScheme:
|
||||||
scheme: https
|
scheme: https
|
||||||
permanent: true
|
permanent: true
|
||||||
---
|
|
||||||
apiVersion: traefik.io/v1alpha1
|
|
||||||
kind: Middleware
|
|
||||||
metadata:
|
|
||||||
name: lan-only
|
|
||||||
namespace: adguard
|
|
||||||
spec:
|
|
||||||
ipAllowList:
|
|
||||||
sourceRange:
|
|
||||||
- 192.168.0.0/16
|
|
||||||
- 127.0.0.1/32
|
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ metadata:
|
|||||||
annotations:
|
annotations:
|
||||||
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
||||||
traefik.ingress.kubernetes.io/router.tls: "true"
|
traefik.ingress.kubernetes.io/router.tls: "true"
|
||||||
traefik.ingress.kubernetes.io/router.middlewares: argocd-lan-only@kubernetescrd
|
|
||||||
spec:
|
spec:
|
||||||
ingressClassName: traefik
|
ingressClassName: traefik
|
||||||
rules:
|
rules:
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
# Middlewares voor argocd.labzand.com (alleen intern):
|
# Middleware voor argocd.labzand.com: http (web) -> https redirect.
|
||||||
# - redirect-https: http (web) -> https
|
# (lan-only ipAllowList verwijderd: k3s klipper-lb SNAT't al LB-verkeer naar
|
||||||
# - lan-only: blokkeert verkeer van buiten het LAN op de websecure-router
|
# 10.42.0.1, waardoor Traefik nooit het echte client-IP ziet. Internal-only
|
||||||
|
# wordt afgedwongen via DNS: geen publiek A-record voor interne namen.)
|
||||||
apiVersion: traefik.io/v1alpha1
|
apiVersion: traefik.io/v1alpha1
|
||||||
kind: Middleware
|
kind: Middleware
|
||||||
metadata:
|
metadata:
|
||||||
@@ -10,14 +11,3 @@ spec:
|
|||||||
redirectScheme:
|
redirectScheme:
|
||||||
scheme: https
|
scheme: https
|
||||||
permanent: true
|
permanent: true
|
||||||
---
|
|
||||||
apiVersion: traefik.io/v1alpha1
|
|
||||||
kind: Middleware
|
|
||||||
metadata:
|
|
||||||
name: lan-only
|
|
||||||
namespace: argocd
|
|
||||||
spec:
|
|
||||||
ipAllowList:
|
|
||||||
sourceRange:
|
|
||||||
- 192.168.0.0/16
|
|
||||||
- 127.0.0.1/32
|
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ metadata:
|
|||||||
annotations:
|
annotations:
|
||||||
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
||||||
traefik.ingress.kubernetes.io/router.tls: "true"
|
traefik.ingress.kubernetes.io/router.tls: "true"
|
||||||
traefik.ingress.kubernetes.io/router.middlewares: authentik-lan-only@kubernetescrd
|
|
||||||
spec:
|
spec:
|
||||||
ingressClassName: traefik
|
ingressClassName: traefik
|
||||||
rules:
|
rules:
|
||||||
|
|||||||
@@ -1,13 +0,0 @@
|
|||||||
# Middleware voor auth.labzand.com (alleen intern): blokkeert verkeer
|
|
||||||
# van buiten het LAN op de websecure-router.
|
|
||||||
# (redirect-https staat in redirect.yaml)
|
|
||||||
apiVersion: traefik.io/v1alpha1
|
|
||||||
kind: Middleware
|
|
||||||
metadata:
|
|
||||||
name: lan-only
|
|
||||||
namespace: authentik
|
|
||||||
spec:
|
|
||||||
ipAllowList:
|
|
||||||
sourceRange:
|
|
||||||
- 192.168.0.0/16
|
|
||||||
- 127.0.0.1/32
|
|
||||||
@@ -6,5 +6,8 @@ metadata:
|
|||||||
data:
|
data:
|
||||||
# Comma-separated list of domains to update
|
# Comma-separated list of domains to update
|
||||||
# Format: subdomain.domain.tld,subdomain2.domain.tld
|
# Format: subdomain.domain.tld,subdomain2.domain.tld
|
||||||
DOMAINS: "*.labzand.com"
|
# Alleen namen die écht publiek bereikbaar moeten zijn (via router -> cluster).
|
||||||
ZONE_ID: "6093605ad5a8db13e9c9d9faad240ca6"
|
# Interne-only namen (argocd/auth/adguard.labzand.com) bewust NIET hier:
|
||||||
|
# die krijgen geen publiek A-record en resolven alleen intern via AdGuard.
|
||||||
|
DOMAINS: "ns.labzand.com"
|
||||||
|
ZONE_ID: "6093605ad5a8db13e9c9d9faad240ca6"
|
||||||
|
|||||||
Reference in New Issue
Block a user