Descripción de la estructura de la red lechuga

En este apartado encontramos las secciones con la configuración de la red Lechuga

Dispositivos de red

Routers
Puntos de acceso wifi
Switchs

Cableado piso

Acceso a cableado del piso: Clic aqui.

Dispositivos (MACS) activos en la red lechuga

Acceso a la lista: Click aquí

DNS dinámico

Configuración: Clic aquí

Servicios DNS y DHCP

Acceso a la configuración: Click aquí

Configuración VLAN

Configuración de las VLAN: Clic aquí.

Red invitados / IOT / etc.

Red no confiable para IOT: Clic aquí.

Red no confiable para Invitados: TODO

Redireccionamiento de puertos ( NAT )

Port Forwarding

Sólo para servicios exteriores a la LAN

Ver puertos redireccionados: Clic aquí.

Máquinas LXC/LXD

Se conectan a internet mediante un bridge en el host.

Todas las máquinas reciben una ip fija, determinada en el propio container.

Para ver las asignación fijas: Clic aquí.

Volcado de historial de IP

palabras clave: ip dinamica, ddns

Este proceso se ejcuta en el host brocoli

Se vuelca periodicamente las nuevas IP dinámicas que el ISP esté asignando al router, mediante el script /usr/local/bin/notifica-ddns/notifica-ddns.sh

Se llama desde /etc/crontab

se accede a través del http://www.lechuga.eu/brocoli_ip_publica

Estructura de red

Dibujo original en draw.io

https://mermaid.js.org/syntax/architecture.html

graph TD %% Estilos Generales classDef switch fill:#444,stroke:#333,stroke-width:2px,color:#fff; classDef router fill:#2b5797,stroke:#1e3a8a,color:#fff; classDef server fill:#1e7e34,stroke:#115e59,color:#fff; classDef vm fill:#00aba9,stroke:#008a00,color:#fff; classDef docker fill:#e3a21a,stroke:#b91d47,color:#fff; classDef device fill:#f0f3f4,stroke:#7f8c8d,color:#333; %% NÚCLEO CENTRAL (Internet y Router) Internet((Internet)) --- RouterISP["Router ISP"]:::router RouterISP --- |"Port 1"| switch00[switch00 Central]:::switch RouterISP -. wlan .- hinojo[hinojo]:::device Internet --- boniato["boniato VPN/External"]:::device
graph TD %% Estilos Generales classDef switch fill:#444,stroke:#333,stroke-width:2px,color:#fff; classDef router fill:#2b5797,stroke:#1e3a8a,color:#fff; classDef server fill:#1e7e34,stroke:#115e59,color:#fff; classDef vm fill:#00aba9,stroke:#008a00,color:#fff; classDef docker fill:#e3a21a,stroke:#b91d47,color:#fff; classDef device fill:#f0f3f4,stroke:#7f8c8d,color:#333; %% SWITCH 00 (Distribución Central) switch00 --- |"Port 4"| ComedorVecino["Comedor vecino / Cámara"]:::device switch00 --- |"Port 3"| Hab1Escalera["Hab. 1 escalera / Cámara"]:::device switch00 --- |"Port 7"| router2(("router2 Raspberry Pi")):::router switch00 --- |"Port 8"| aplechuga[aplechuga]:::device %% Conexión Crítica Switch00 -> Switch05 switch00 === |"Port 5 / Port 1"| switch05[switch05]:::switch %% Conexión Crítica Switch00 -> Switch04 (Cable 1 Comedor-Cocina) switch00 === |"Port 6 / Port 1 (Cable 1)"| switch04[switch04 Comedor]:::switch %% SWITCH 05 switch05 --- |"Port 4"| Cocina[Cocina]:::device switch05 --- |"Port 7"| Hab1Hab2["Hab. 1 con Hab. 2"]:::device switch05 --- |"Port 5"| Hab4["Hab. 4"]:::device switch05 --- |"Port 8"| Hab2["Hab. 2"]:::device %% Conexión Crítica Switch05 -> Switch03 switch05 === |"Port 6 / Port 8"| switch03[switch03 techo H3]:::switch %% SWITCH 03 switch03 --- |"Port 5"| pepino["pepino PC Windows"]:::device switch03 --- |"Port 1"| CamaraH3["Cámara"]:::device

switch04 (comedor)

graph TD %% Estilos Generales classDef switch fill:#444,stroke:#333,stroke-width:2px,color:#fff; classDef router fill:#2b5797,stroke:#1e3a8a,color:#fff; classDef server fill:#1e7e34,stroke:#115e59,color:#fff; classDef vm fill:#00aba9,stroke:#008a00,color:#fff; classDef docker fill:#e3a21a,stroke:#b91d47,color:#fff; classDef device fill:#f0f3f4,stroke:#7f8c8d,color:#333; %% SWITCH 04 (Comedor) switch04 --- |"Port 5"| NVR["NVR Dahua"]:::device switch04 --- |"Port 6"| TV["TV Comedor"]:::device switch04 --- |"Port 3"| guisante[guisante]:::device switch04 trunk1@=== |"Port 1"| switch00[switch00 comedor]:::device trunk1@{ animate: true } switch04 trunk2@=== |"Port 4"| switch06[switch06 Brocoli]:::switch trunk2@{ animate: true }

Servidor brocoli

graph TD %%{init: {'theme': 'redux'}}%% %% Estilos Generales classDef switch fill:#444,stroke:#333,stroke-width:2px,color:#fff; classDef router fill:#2b5797,stroke:#1e3a8a,color:#fff; classDef server fill:#1e7e34,stroke:#115e59,color:#fff; classDef vm fill:#00aba9,stroke:#008a00,color:#fff; classDef docker fill:#e3a21a,stroke:#b91d47,color:#fff; classDef device fill:#f0f3f4,stroke:#7f8c8d,color:#333; %% 0. EL SWITCH ANTERIOR switch04:::switch %% 1. EL SWITCH EXTERIOR switch06:::switch %% Conexiones Switch 06 switch04 trunk@=== |"Port 1"| switch06 trunk@{ animate: true } switch06 --- |"Port 3"| KVMIP_ethernet:::device switch06 --- |"Port 2"| ethernet_PCI:::device switch06 --- |"Port 4"| i350A:::device switch06 --- |"Port 5"| i350B:::device %% 3. EL SERVIDOR LÓGICO (Solo contiene lo virtual) subgraph brocoli ["Servidor Brocoli"] KVMIP_ethernet["ETH KVM-IP"] KVMIP_ethernet --- VGA_USB_brocoli["HDMI + USB"] ethernet_PB["Ethernet Placa base"] ethernet_PCI["Ethernet en PCI"]:::device ethernet_PCI --- br0 %% Bridge principal a incus br0["Bridge br0"]:::device br0 --- eth0-incus eth0-incus["eth0 para Incus"]:::device eth0-incus --- entryp eth0-incus --- tor eth0-incus --- router3 eth0-incus --- srv eth0-incus --- srv-internet eth0-incus --- vpn eth0-incus --- docker-brocoli subgraph i350A["i350 port A"] i350Avf2["vf2"]:::device i350Avf3["vf3"]:::device end subgraph i350B["i350 port B"] i350Bvf0["vf ..."]:::device end i350Avf2 --- vlan99-brocoli-01 i350Avf3 --- vlan99-brocoli-02 subgraph incus-brocoli ["Incus"] subgraph docker-brocoli ["Contenedores Docker"] dashy["dashy (4000)"]:::docker watchtower["watchtower"]:::docker gitea["gitea (3000)"]:::docker chibisafe["chibisafe (8786)"]:::docker mealie["mealie (8000)"]:::docker memos["memos (5230)"]:::docker scrutiny["scrutiny (8090)"]:::docker filestash["filestash (8334)"]:::docker end entryp["entryp"]:::vm tor["tor"]:::vm router3["router3"]:::vm srv["srv"]:::vm srv-internet["srv-internet"]:::vm vpn["vpn"]:::vm vlan99-brocoli-01:::vm vlan99-brocoli-02:::vm end end