# ecabadas/enterprise-network-lab architecture

> Architecture diagram of the GitHub repository ecabadas/enterprise-network-lab, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ecabadas/enterprise-network-lab
- Repository: https://github.com/ecabadas/enterprise-network-lab

## Overview

This repository documents a virtualized small-office network, not an application. Its central workflow is deploying the lab machines, providing centralized DHCP and DNS, and verifying connectivity and name resolution. The graph preserves the documented network services and troubleshooting capabilities; because no implementation source was sampled, relationships are limited to those stated in the README and documentation paths.

Main entry points: [`windows-lab/notes.md`](https://github.com/ecabadas/enterprise-network-lab/blob/main/windows-lab/notes.md) (Windows Server), [`README.md`](https://github.com/ecabadas/enterprise-network-lab/blob/main/README.md) (Internal DNS), [`linux-lab/notes.md`](https://github.com/ecabadas/enterprise-network-lab/blob/main/linux-lab/notes.md) (Ubuntu workstation), [`configs/ip-scheme.md`](https://github.com/ecabadas/enterprise-network-lab/blob/main/configs/ip-scheme.md) (IP scheme)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_deployment["Lab Deployment"]
  node_virtualbox["VirtualBox<br/>[README.md]"]
  node_labnet{{"Internal labnet<br/>[README.md]"}}
  node_server["Windows Server<br/>[notes.md]"]
  node_winclient["Windows client<br/>[notes.md]"]
  node_ubuntu["Ubuntu workstation<br/>[notes.md]"]
  node_ipscheme["IP scheme<br/>[ip-scheme.md]"]
end

subgraph group_services["Network Services"]
  node_dhcp["DHCP service<br/>[README.md]"]
  node_scope["DHCP scope"]
  node_dns["Internal DNS<br/>[README.md]"]
  node_zone["lab.local zone<br/>[README.md]"]
  node_icmp["ICMP firewall rule"]
end

subgraph group_operations["Verification"]
  node_verification["Connectivity checks<br/>[README.md]"]
  node_dnscheck["DNS checks<br/>[README.md]"]
  node_bootfix["VM boot troubleshooting<br/>[README.md]"]
  node_wireshark["Wireshark capture<br/>[README.md]"]
end

node_admin(("Lab administrator"))

node_admin -->|"deploys"| node_virtualbox
node_virtualbox -->|"hosts"| node_server
node_virtualbox -->|"hosts"| node_winclient
node_virtualbox -->|"hosts"| node_ubuntu
node_server -->|"connects"| node_labnet
node_winclient -->|"connects"| node_labnet
node_ubuntu -->|"connects"| node_labnet
node_admin -->|"plans addressing"| node_ipscheme
node_ipscheme -->|"defines static IP"| node_server
node_ipscheme -->|"defines static IP"| node_ubuntu
node_server -->|"provides"| node_dhcp
node_dhcp -->|"uses"| node_scope
node_dhcp -->|"assigns address"| node_winclient
node_server -->|"provides"| node_dns
node_dns -->|"serves"| node_zone
node_winclient -->|"queries"| node_dns
node_ubuntu -->|"queries"| node_dns
node_admin -->|"configures"| node_icmp
node_icmp -->|"permits diagnostics"| node_server
node_admin -->|"runs"| node_verification
node_verification -->|"checks connectivity"| node_server
node_verification -->|"checks connectivity"| node_winclient
node_verification -->|"checks connectivity"| node_ubuntu
node_admin -->|"uses"| node_dnscheck
node_dnscheck -->|"verifies resolution"| node_dns
node_admin -->|"consults"| node_bootfix
node_admin -.->|"uses"| node_wireshark
node_wireshark -.->|"captures queries"| node_dns

click node_virtualbox "https://github.com/ecabadas/enterprise-network-lab/blob/main/README.md"
click node_labnet "https://github.com/ecabadas/enterprise-network-lab/blob/main/README.md"
click node_server "https://github.com/ecabadas/enterprise-network-lab/blob/main/windows-lab/notes.md"
click node_winclient "https://github.com/ecabadas/enterprise-network-lab/blob/main/windows-lab/notes.md"
click node_ubuntu "https://github.com/ecabadas/enterprise-network-lab/blob/main/linux-lab/notes.md"
click node_ipscheme "https://github.com/ecabadas/enterprise-network-lab/blob/main/configs/ip-scheme.md"
click node_dhcp "https://github.com/ecabadas/enterprise-network-lab/blob/main/README.md"
click node_scope "https://github.com/ecabadas/enterprise-network-lab/blob/main/troubleshooting/fault2-dhcp-scope-exhausted.md"
click node_dns "https://github.com/ecabadas/enterprise-network-lab/blob/main/README.md"
click node_zone "https://github.com/ecabadas/enterprise-network-lab/blob/main/README.md"
click node_icmp "https://github.com/ecabadas/enterprise-network-lab/blob/main/troubleshooting/icmp-firewall-fix.md"
click node_verification "https://github.com/ecabadas/enterprise-network-lab/blob/main/README.md"
click node_dnscheck "https://github.com/ecabadas/enterprise-network-lab/blob/main/troubleshooting/README.md"
click node_bootfix "https://github.com/ecabadas/enterprise-network-lab/blob/main/troubleshooting/README.md"
click node_wireshark "https://github.com/ecabadas/enterprise-network-lab/blob/main/README.md"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_virtualbox,node_labnet,node_server,node_winclient,node_ubuntu,node_ipscheme toneBlue
class node_dhcp,node_scope,node_dns,node_zone,node_icmp toneAmber
class node_verification,node_dnscheck,node_bootfix,node_wireshark toneMint
class node_admin toneIndigo
```

## Components

### Lab Deployment

- [VirtualBox](https://github.com/ecabadas/enterprise-network-lab/blob/main/README.md): `README.md`
- [Internal labnet](https://github.com/ecabadas/enterprise-network-lab/blob/main/README.md): `README.md`
- [Windows Server](https://github.com/ecabadas/enterprise-network-lab/blob/main/windows-lab/notes.md): `windows-lab/notes.md`
- [Windows client](https://github.com/ecabadas/enterprise-network-lab/blob/main/windows-lab/notes.md): `windows-lab/notes.md`
- [Ubuntu workstation](https://github.com/ecabadas/enterprise-network-lab/blob/main/linux-lab/notes.md): `linux-lab/notes.md`
- [IP scheme](https://github.com/ecabadas/enterprise-network-lab/blob/main/configs/ip-scheme.md): `configs/ip-scheme.md`

### Network Services

- [DHCP service](https://github.com/ecabadas/enterprise-network-lab/blob/main/README.md): `README.md`
- [DHCP scope](https://github.com/ecabadas/enterprise-network-lab/blob/main/troubleshooting/fault2-dhcp-scope-exhausted.md): `troubleshooting/fault2-dhcp-scope-exhausted.md`
- [Internal DNS](https://github.com/ecabadas/enterprise-network-lab/blob/main/README.md): `README.md`
- [lab.local zone](https://github.com/ecabadas/enterprise-network-lab/blob/main/README.md): `README.md`
- [ICMP firewall rule](https://github.com/ecabadas/enterprise-network-lab/blob/main/troubleshooting/icmp-firewall-fix.md): `troubleshooting/icmp-firewall-fix.md`

### Verification

- [Connectivity checks](https://github.com/ecabadas/enterprise-network-lab/blob/main/README.md): `README.md`
- [DNS checks](https://github.com/ecabadas/enterprise-network-lab/blob/main/troubleshooting/README.md): `troubleshooting/README.md`
- [VM boot troubleshooting](https://github.com/ecabadas/enterprise-network-lab/blob/main/troubleshooting/README.md): `troubleshooting/README.md`
- [Wireshark capture](https://github.com/ecabadas/enterprise-network-lab/blob/main/README.md): `README.md`

### Other components

- **Lab administrator**

## Connections

- Lab administrator → VirtualBox: deploys
- VirtualBox → Windows Server: hosts
- VirtualBox → Windows client: hosts
- VirtualBox → Ubuntu workstation: hosts
- Windows Server → Internal labnet: connects
- Windows client → Internal labnet: connects
- Ubuntu workstation → Internal labnet: connects
- Lab administrator → IP scheme: plans addressing
- IP scheme → Windows Server: defines static IP
- IP scheme → Ubuntu workstation: defines static IP
- Windows Server → DHCP service: provides
- DHCP service → DHCP scope: uses
- DHCP service → Windows client: assigns address
- Windows Server → Internal DNS: provides
- Internal DNS → lab.local zone: serves
- Windows client → Internal DNS: queries
- Ubuntu workstation → Internal DNS: queries
- Lab administrator → ICMP firewall rule: configures
- ICMP firewall rule → Windows Server: permits diagnostics
- Lab administrator → Connectivity checks: runs
- Connectivity checks → Windows Server: checks connectivity
- Connectivity checks → Windows client: checks connectivity
- Connectivity checks → Ubuntu workstation: checks connectivity
- Lab administrator → DNS checks: uses
- DNS checks → Internal DNS: verifies resolution
- Lab administrator → VM boot troubleshooting: consults
- Lab administrator → Wireshark capture: uses
- Wireshark capture → Internal DNS: captures queries
