Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 18 additions & 17 deletions docs/docs/designs/drafts/lab-v2-core-network.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -16,8 +16,9 @@ related-decisions:
The core network uses a Minisforum VP6630 running VyOS for Layer 3 routing,
firewall policy, and NAT. A MikroTik CRS309-1G-8S+IN handles core Layer 2
switching and VLAN transport. A TRENDnet TEG-3102WS connects both non-SFP NICs
from each MS-02 to the VP6630 for management/OOB traffic. A MikroTik CCR2004
connects the lab to the home network and the internet.
from each MS-02 to the VP6630 for management/OOB traffic. A second MikroTik
CRS309-1G-8S+IN acts as the home router and connects the lab to the home
network and the internet.

This design defines device responsibilities, logical topology, configuration
requirements, failure boundaries, and verification criteria. Address
Expand All@@ -27,7 +28,7 @@ ownership are outside this document.
## Goals

- Keep routing and traffic policy on VyOS.
- Keep core VLAN transport and physical switching on the CRS309-1G-8S+IN.
- Keep core VLAN transport and physical switching on the core CRS309-1G-8S+IN.
- Carry MS-02 management/OOB traffic through the TEG-3102WS.
- Route home-to-lab traffic without source NAT.
- Apply source NAT to lab-to-internet traffic on VyOS.
Expand All@@ -51,17 +52,17 @@ ownership are outside this document.

```mermaid
flowchart LR
HOME[Home network] --> CCR[CCR2004]
CCR -->|Routed transit| VYOS[VP6630 running VyOS]
VYOS -->|802.1Q trunk| CRS[CRS309-1G-8S+IN]
HOME[Home network] --> RTR[Home router CRS309-1G-8S+IN]
RTR -->|Routed transit| VYOS[VP6630 running VyOS]
VYOS -->|802.1Q trunk| CRS[Core CRS309-1G-8S+IN]
CRS --> SEGMENTS[Lab network segments]
VYOS -->|Management/OOB uplink| TEG[TEG-3102WS]
TEG -->|Two non-SFP NICs per node| MS02[MS-02 nodes]
```

The CCR2004 routes traffic between the home network and the VyOS transit
The home router routes traffic between the home network and the VyOS transit
interface. VyOS routes lab prefixes, applies firewall policy, and performs
source NAT for internet egress. The CRS309-1G-8S+IN carries lab VLANs between
source NAT for internet egress. The core CRS309-1G-8S+IN carries lab VLANs between
VyOS and connected lab devices. The TEG-3102WS connects directly to the VP6630
and carries management/OOB traffic for both non-SFP NICs on each MS-02.
The [physical connection map](../../reference/networking/physical-connections.md) is the
Expand All@@ -71,9 +72,9 @@ authoritative port-to-port cabling record.

| Device | Responsibilities |
| --- | --- |
| MikroTik CCR2004 | Home-network routing, internet access, and the upstream side of the routed lab transit |
| MikroTik CRS309-1G-8S+IN (home router) | Home-network routing, internet access, and the upstream side of the routed lab transit |
| Minisforum VP6630 running VyOS | Lab gateways, route selection, firewall policy, source NAT, the downstream side of the routed transit, and the management/OOB gateway |
| MikroTik CRS309-1G-8S+IN | Core VLAN transport, access ports, trunks, and physical link aggregation |
| MikroTik CRS309-1G-8S+IN (core switch) | Core VLAN transport, access ports, trunks, and physical link aggregation |
| TRENDnet TEG-3102WS | Layer 2 management/OOB connectivity for both non-SFP NICs on each MS-02 and a direct uplink to the VP6630 |

[ADR-0001](../../decisions/0001-use-vyos-for-layer-3-and-switches-for-layer-2.md)
Expand All@@ -83,10 +84,10 @@ defines the Layer 2 and Layer 3 boundary.

The routing design has these invariants:

- The CCR2004 has routes for lab prefixes through the VyOS transit address.
- VyOS uses the CCR2004 transit address as its default route.
- The home router has routes for lab prefixes through the VyOS transit address.
- VyOS uses the home router's transit address as its default route.
- VyOS owns the gateway address for every routed lab segment.
- The CRS309-1G-8S+IN and TEG-3102WS do not route between lab segments.
- The core CRS309-1G-8S+IN and TEG-3102WS do not route between lab segments.
- Home-to-lab traffic retains its original source address.
- VyOS applies source NAT to lab-to-internet traffic.
- Firewall rules distinguish new connections from established reply traffic.
Expand DownExpand Up@@ -137,12 +138,12 @@ not reside in device configuration committed to the repository.

| Failure | Effect |
| --- | --- |
| CCR2004 failure | The lab loses home-network and internet connectivity. Internal lab switching and routing remain available. |
| Home router failure | The lab loses home-network and internet connectivity. Internal lab switching and routing remain available. |
| VP6630 or VyOS failure | Routed lab segments lose their gateways, inter-segment routing, policy enforcement, management/OOB gateway, and internet egress. |
| CRS309-1G-8S+IN failure | Devices connected through the core switch lose Layer 2 connectivity. |
| Core switch failure | Devices connected through the core switch lose Layer 2 connectivity. |
| TEG-3102WS or its VP6630 uplink failure | Both non-SFP NICs on each MS-02 lose management/OOB connectivity. |
| Routed transit failure | Home-to-lab and lab-to-internet traffic stop. Internal lab traffic remains available within its unaffected Layer 2 and Layer 3 paths. |
| VyOS-to-CRS309 trunk failure | VLANs carried by the trunk lose their VyOS gateways. |
| VyOS-to-core-switch trunk failure | VLANs carried by the trunk lose their VyOS gateways. |
| Invalid configuration | Deployment verification fails and the previous configuration is restored. |

## Verification
Expand All@@ -152,7 +153,7 @@ A deployment is valid when the observed behavior matches these checks:
- Every connected interface reports the assigned link state and speed.
- Each VLAN is present only on its assigned access ports and trunks.
- A client in each routed segment reaches its VyOS gateway.
- The CCR2004 and VyOS route tables contain the required transit and lab routes.
- The home router and VyOS route tables contain the required transit and lab routes.
- Home-to-lab traffic retains its home-network source address.
- Lab-to-internet traffic uses the VyOS source-NAT address.
- Each permitted firewall flow succeeds.
Expand Down
9 changes: 2 additions & 7 deletions docs/docs/reference/hardware-inventory.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -58,15 +58,10 @@ documentation, not this inventory.
- `1x10GbE` and `1x5GbE` onboard networking
- `2xUSB4`, HDMI, and OCuLink available

### MikroTik CCR2004

- Quantity: `1`
- Hardware details:
- Exact `CCR2004` variant is not specified

### MikroTik CRS309-1G-8S+IN

- Quantity: `1`
- Quantity: `2`
- Product link: <https://www.amazon.com/dp/B07NFXN4SS>
- Hardware details:
- Model: `CRS309-1G-8S+IN`
- `8x 10G SFP+` ports
Expand Down
2 changes: 1 addition & 1 deletion docs/docs/reference/networking/hardware.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,7 +17,7 @@ description: Core network devices and their assigned roles.

| Component | Platform | Role |
| --- | --- | --- |
| Home router | MikroTik CCR2004 | Routes the home network, provides internet access, and terminates the upstream side of the routed lab transit |
| Home router | MikroTik `CRS309-1G-8S+IN` (second unit of the core-switch model) | Routes the home network, provides internet access, and terminates the upstream side of the routed lab transit |

Models and physical specifications live in the
[hardware inventory](../hardware-inventory.md). The
Expand Down
21 changes: 11 additions & 10 deletions docs/docs/reference/networking/physical-connections.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -7,14 +7,15 @@ description: Authoritative port-to-port map of the installed network cabling.

Each row records one installed cable. Port names match the labels on the device
chassis. `Unlabeled Ethernet port` identifies a physical Ethernet port that has
no printed label.
no printed label. Two MikroTik CRS309-1G-8S+IN units are installed; rows
qualify them by role as `(home router)` and `(core switch)`.

## Connected ports

| Connection | Device A | Port A | Device B | Port B |
| --- | --- | --- | --- | --- |
| `PHY-001` | MikroTik CCR2004 | `SFP+ 1` | Minisforum VP6630 | `SFP+ 1` |
| `PHY-002` | Minisforum VP6630 | `SFP+ 2` | MikroTik CRS309-1G-8S+IN | `Port 8` |
| `PHY-001` | MikroTik CRS309-1G-8S+IN (home router) | `SFP+ 1` | Minisforum VP6630 | `SFP+ 1` |
| `PHY-002` | Minisforum VP6630 | `SFP+ 2` | MikroTik CRS309-1G-8S+IN (core switch) | `Port 8` |
| `PHY-003` | Minisforum VP6630 | `Port 2` | TRENDnet TEG-3102WS | `Port 1` |
| `PHY-004` | Minisforum VP6630 | `Port 3` | PiKVM | `Unlabeled Ethernet port` |
| `PHY-005` | Minisforum VP6630 | `Port 4` | TESmart 8x1 KVM | `Unlabeled Ethernet port` |
Expand All@@ -24,13 +25,13 @@ no printed label.
| `PHY-009` | TRENDnet TEG-3102WS | `Port 5` | LAB02 | `Bottom Port` |
| `PHY-010` | TRENDnet TEG-3102WS | `Port 6` | LAB03 | `Top Port` |
| `PHY-011` | TRENDnet TEG-3102WS | `Port 7` | LAB03 | `Bottom Port` |
| `PHY-012` | MikroTik CRS309-1G-8S+IN | `Port 1` | LAB01 | `Right SFP 25G` |
| `PHY-013` | MikroTik CRS309-1G-8S+IN | `Port 2` | LAB01 | `Left SFP 25G` |
| `PHY-014` | MikroTik CRS309-1G-8S+IN | `Port 3` | LAB02 | `Right SFP 25G` |
| `PHY-015` | MikroTik CRS309-1G-8S+IN | `Port 4` | LAB02 | `Left SFP 25G` |
| `PHY-016` | MikroTik CRS309-1G-8S+IN | `Port 5` | LAB03 | `Right SFP 25G` |
| `PHY-017` | MikroTik CRS309-1G-8S+IN | `Port 6` | LAB03 | `Left SFP 25G` |
| `PHY-018` | MikroTik CRS309-1G-8S+IN | `Port 7` | NAS | `10GB Port` |
| `PHY-012` | MikroTik CRS309-1G-8S+IN (core switch) | `Port 1` | LAB01 | `Right SFP 25G` |
| `PHY-013` | MikroTik CRS309-1G-8S+IN (core switch) | `Port 2` | LAB01 | `Left SFP 25G` |
| `PHY-014` | MikroTik CRS309-1G-8S+IN (core switch) | `Port 3` | LAB02 | `Right SFP 25G` |
| `PHY-015` | MikroTik CRS309-1G-8S+IN (core switch) | `Port 4` | LAB02 | `Left SFP 25G` |
| `PHY-016` | MikroTik CRS309-1G-8S+IN (core switch) | `Port 5` | LAB03 | `Right SFP 25G` |
| `PHY-017` | MikroTik CRS309-1G-8S+IN (core switch) | `Port 6` | LAB03 | `Left SFP 25G` |
| `PHY-018` | MikroTik CRS309-1G-8S+IN (core switch) | `Port 7` | NAS | `10GB Port` |

## Unconnected ports

Expand Down