Add basic networking

This commit is contained in:
Jakob Lechner 2025-07-18 22:40:50 +02:00
parent fb0d508a94
commit 99560ea408
2 changed files with 129 additions and 8 deletions

View file

@ -16,16 +16,73 @@ To execute the factory default reset on the switch, perform these steps:
The switch will then complete its self test and begin operating with its
configuration restored to the factory default settings.
The factory default uses a baud rate of 9600.
## Serial console
Recommendation: use `sio` to access the serial terminal.
```sh
sudo tio --baudrate 9600 /dev/ttyS0
sudo tio --baudrate 115200 /dev/ttyS0
```
Quit with CTRL+t, q
Turn pager off: `no page`
Change screen length: `screen length 50`
Change screen length: `screen-length 50`
## Configuration
### Bauwagen
```text
console baud-rate 115200
write memory
reload
conf t
vlan 2 name jugendtreff
vlan 2 qos priority 1
vlan 6 name public-event
vlan 6 qos priority 0
vlan 7 name weinturm
vlan 7 qos priority 1
vlan 8 name voice
vlan 8 qos priority 5
vlan 8 voice
interface ethernet 1-12 enable
interface ethernet 1-12 untagged vlan 7
interface ethernet 21 name kleinturm-copper
interface ethernet 22 name kleinturm-fiber
interface ethernet 22 speed-duplex 1000-full
interface ethernet 21,22 tagged vlan 6,7,8
interface ethernet 23 name pbx
interface ethernet 23 enable
interface ethernet 23 speed-duplex auto-1000
interface ethernet 23 tagged vlan 2,6,7,8
interface ethernet 24 name uplink
interface ethernet 24 speed-duplex 1000-full
interface ethernet 23 tagged vlan 2,6,7,8
dhcp-snooping vlan 1-100
dhcp-snooping trust 24
dhcp-snooping authorized-server 192.168.96.1
dhcp-snooping
```
* WLAN AP
* DECT OMM
* Kleinturmbühne
* Photoprism-Server
* Laptops, Drucker usw.

View file

@ -1,8 +1,4 @@
{
config,
lib,
...
}: {
{config, ...}: {
imports = [
./disko.nix
../../users/jalr
@ -18,7 +14,75 @@
networking = {
hostName = "pbx";
useDHCP = lib.mkDefault true;
useDHCP = false;
vlans = {
weinturm = {
id = 7;
interface = "enp0s25";
};
public-event = {
id = 6;
interface = "enp0s25";
};
voice = {
id = 8;
interface = "enp0s25";
};
jugendtreff = {
id = 2;
interface = "enp0s25";
};
};
interfaces = {
weinturm = {
ipv4.addresses = [
{
address = "192.168.96.1";
prefixLength = 24;
}
];
};
public-event = {
ipv4.addresses = [
{
address = "10.10.0.1";
prefixLength = 24;
}
];
};
voice = {
ipv4.addresses = [
{
address = "192.168.98.1";
prefixLength = 24;
}
];
};
jugendtreff = {
ipv4.addresses = [
{
address = "192.168.100.11";
prefixLength = 24;
}
];
};
};
nat = {
enable = true;
externalInterface = "jugendtreff";
internalInterfaces = [
"weinturm"
"public-event"
"voice"
];
};
defaultGateway.address = "192.168.100.1";
nameservers = [
"9.9.9.9"
"149.112.112.112"
"2620:fe::fe"
"2620:fe::9"
];
};
boot = {