Network: Difference between revisions

From NURDspace
(72 intermediate revisions by 3 users not shown)
Line 1: Line 1:
= Layer 2 overview =
= Layer 2 overview =
Below you can find the structure of the network as of 09-04-2022 17:10.
Below you can find the structure of the network as of 28-07-2023. Fat lines are 2 x 1GE LACP trunks
[[Image:Layer 2 overview 09-04-2022 before migration.svg|640px]]
[[Image:Layer 2 overview 28-07-2023.svg|640px]]


= Per-device port inventory =


== Fritzbox gamershok ==
[[File:Infra nurdspace in detail (draw.io).png|640px|download the file below to see the whole thing + to make changes in draw.io]]
{|
 
|'''Port'''
[[:File:Eis-T Hoe harkt de nurdspace .drawio.xml]]
|'''Description'''
 
|-
= Layer 3 overview =
|0
we have a single-vlan flat network. The following prefix is active on this network:
|
|-
|1
|
|-
|2
|To Edgerouter Lite keuken
|-
|3
|
|}


== Edgerouter Lite keuken ==
* 10.208.0.0/22
'''Device settings'''
{|
|Hostname
|nurds-rtr-03
|-
|Username
|ubnt
|}


'''Interfaces'''
Within this prefix, we have multiple ranges for multiple purposes:
{|
|'''Port'''
|'''IP Address'''
|'''Description'''
|-
|eth0
|10.208.42.1/23<br/>10.208.30.1/24<br/>10.208.11.1/24
|Linked to Aruba
|-
|eth1
|
|
|-
|eth2
|213.154.252.131/32<br/>213.154.252.130/29
|Connected to fritzbox. Mac addr 24:a4:3c:07:73:ab
|-
|tun0
|10.38.20.6/30
|Tunnel to zarya
|-
|tun1
|2001:470:1f14:1fa::2/64
|Tunnel to tunnelbroker.net
|-
|tun4
|172.30.0.6/30
|Tunnel to Techinc
|-
|tun5
|2001:470:7894:beef::2/125
|Tunnel to Techinc (transit???)
|-
|tun6
|10.255.255.10/30
|Tunnel to HBBZ
|}


* 10.208.0.x Network devices
* 10.208.1.x Servers
* 10.208.2.x DHCP clients
* 10.208.3.x DHCP clients


'''Connected ports'''
If you are unsure which range you should use, stick with DHCP. DHCP clients can set their hostname via dynamic DNS. Clients in statically managed networks must specify a hostname in IPAM. If something is to be part of the infrastructure fabric of the space, it should be in the Servers range. Be sure to contact BOFH if you want to place a system in this range.
{|
|'''Port'''
|'''Description'''
|-
|0
|To Aruba bar
|-
|1
|
|-
|2
|To Fritzbox gamershok
|}


== Dell keuken ==
The default gateway on this network is 10.208.0.1
{|
|'''Port'''
|'''Description'''
|-
|0
|synology
|-
|1
|Spacesound
|-
|2
|To netgear keuken
|-
|3
|
|-
|4
|
|-
|5
|
|-
|6
|
|-
|7
|
|-
|8
|
|-
|9
|
|-
|10
|
|-
|11
|
|-
|12
|
|-
|13
|
|-
|14
|
|-
|15
|
|-
|16
|
|-
|17
|
|-
|18
|
|-
|19
|
|-
|20
|
|-
|21
|
|-
|22
|
|-
|23
|
|}


== Netgear keuken ==
== DNS ==
{|
search nurd.space lan.nurd.space vm.nurd.space vpn.nurd.space dhcp.nurd.space
|'''Port'''
nameserver 10.208.1.53
|'''Description'''
|-
|0
|To Dell
|-
|1
|
|-
|2
|
|-
|3
|
|-
|4
|
|-
|5
|
|-
|6
|Slabbar
|-
|7
|
|-
|8
|Kodi
|}


== Aruba keuken ==
==Rack info==
{|
        Voorkant        Achterkant
|'''Port'''
#    Keyboard    Keyboard
|'''Description'''
#                          Pachtpaneel   
|-
#                          Rangeerrack
|0
#                          Switch
|Zaal 1 epc 4
#    Harmony      Racklight 
|-
#    Harmony
|1
#    Plank
|Zaal 1 ticket
#
|-
#    Gateway
|2
#    Gateway
|Dafang Bar
#    Gateway
|-
#    Gateway
|3
#    Gpubak
|To Dell
#    Gpubak
|-
#    Gpubak
|4
#    Gpubak
|Zaal 1 epc 2
#    Plank
|-
#
|5
#    Erratic
|Zaal 2
#    Erratic
|-
#    Erratic
|6
#    Erratic
|Phone gamershok
#    Blind          Aardlek switch
|-
|7
|Deur
|-
|8
|Switch zaal 1
|-
|9
|AP Gamershok
|-
|10
|AP Zaal 1
|-
|11
|Erratic IPMI
|-
|12
|Ding bij koffiehoek
|-
|13
|APC keuken
|-
|14
|Phone rookhok
|-
|15
|EPC3 (?)
|-
|16
|Erratic
|-
|17
|AP Bar
|-
|18
|To netgear bar
|-
|19
|
|-
|20
|To Edgerouter Lite
|-
|21
|Atlas probe
|-
|22
|Coherence
|-
|23
|
|}


== Phone rookhok ==
= Management =
{|
== The team ==
|'''Port'''
The NURDspace infrastructure is managed by [[Network/BOFH|the BOFH team]].
|'''Description'''
|-
|0
|To Aruba
|-
|1
|To Switch rookhok
|}


== Switch Rookhok ==
== Services ==
{|
You can find a list of services we manage below:
|'''Port'''
|'''Description'''
|-
|0
|
|-
|1
|
|-
|2
|
|-
|3
|Pi Rookhok
|-
|4
|To phone rookhok
|}


== Netgear Bar ==
* [[Network/Services/Wiki|The wiki]]
{|
* [[Network/Services/DNS|Internal and external DNS]]
|'''Port'''
* [[Network/Services/Freifunk|Hosted AP for Freifunk Chemnitz]]
|'''Description'''
* [[Network/Services/Switches|Cisco-based switching infrastructure]]
|-
* [[Network/Services/DoorLock|Front doorlock system]]
|0
* [[Network/Services/Cryptpad|Online collaboration tools]]
|VRCade
|-
|1
|TickTack
|-
|2
|
|-
|3
|Switch 3d printer hoek
|-
|4
|
|-
|5
|
|-
|6
|
|-
|7
|To Aruba
|}


== Switch 3d printer hoek ==
== Upcoming features and functionality ==
{|
See [[Network/Roadmap|our roadmap]] for a list of upcoming features and functionality. If you think something should be added, add this to either the backlog or ideas, depending on the feature. You are more then welcome to join the bofh team to implement features and functionality yourself!
|'''Port'''
|'''Description'''
|-
|0
|Printer 3
|-
|1
|Printer PC
|-
|2
|
|-
|3
|
|-
|4
|To netgear bar
|}


== Zaal 1 switch ==
== Network management administrative interfaces ==
You can manage our devices using the URLs below:
{|
{|
|'''Port'''
|'''Product'''
|'''Description'''
|'''URL'''
|'''User'''
|'''Used for'''
|'''Notes'''
|-
|-
|0
|Edgerouter Lite
|https://gateway.lan.nurd.space:8443/
|ubnt
|Routing and NATting towards internet
|
|
|-
|-
|1
|Aruba core switch
|http://core-sw.lan.nurd.space
|admin
|Main switch in the space
|
|
|-
|-
|2
|Access points
|https://10.208.3.62:4343
|admin
|Virtual controller for WIFI
|
|
|-
|-
|3
|Proxmox erratic
|https://erratic.lan.nurd.space:8006/
|root
|Deploy LXC/KVM instances on our hypervisor
|
|
|-
|-
|4
|Erratic IPMI
|
|https://erratic-bmc.lan.nurd.space/
|-
|ADMIN
|5
|Remote management of erratic
|
|-
|6
|
|-
|7
|
|-
|8
|
|-
|9
|
|-
|10
|
|-
|11
|
|-
|12
|
|-
|13
|
|-
|14
|
|
|-
|-
|15
|Synology
|
|https://harmony.lan.nurd.space:5001/
|nurds
|Used for backups and storage
|Has a different password due to pwd requirements. Ask in the bofh channel.
|-
|-
|16
|IPAM ip+dns
|https://ipam.nurd.space/
|ldap
|IP and DNS registration
|
|
|-
|-
|17
|LibreNMS
|http://librenms.vm.nurd.space/
|nurds
|Network device metrics
|
|
|-
|-
|18
|Weathermap
|http://weathermap.vm.nurd.space
|
|
|Network traffic map
|-
|-
|19
|Smokeping
|http://smokeping.vm.nurd.space
|
|
|Network latency measurements
|-
|-
|20
|Icinga2
|
|https://monitor.vm.nurd.space/
|-
|admin
|21
|Monitoring service
|
|-
|22
|
|-
|23
|
|}
|}


= New network =
== Virtual machine ==
Due to the complexity of our current network, I propose a redesign. Goal of this redesign is to simplify the network, by migrating all subnets into a single large subnet of sufficient size. By doing this, we can remove the dependency on the gateway for intra-vlan traffic.
We support hosting multiple virtual machines, using both the KVM and the LXC model. These are deployed using proxmox. We have introduced the 'managed vm', which is a vm which
 
adheres to nurdspace standards. For more information, see the [[Network/ManagedVM|ManagedVM]] and the [[Network/Ansible|Ansible]] pages.


== VPN tunnels ==
We support Roadwarrior and Site-to-Site VPN tunnels, using [[Wireguard]] and [[OpenVPN]]. Contact someone from the BOFH team to discuss the possibilities and get connected.


== Proposal ==
== Backups ==
We renumber everything into 10.208.42.0/23 (10.208.42.0 .. 10.208.43.255).
We do daily full backups of managed systems. More details can be found on the [[Network/Backup|Backup page]].


== How ==
== TLS ==
We pick a day, get a bunch of people together on-site, and we renumber everything. Starting from the gateway, and working our way through *all* systems.
All servers have a unique ECDSA certificate which can be used for both client and server authentication. Details about this setup can be found on the [[Network/TLS|TLS page]].


== Dependencies ==
== Network discovery ==
- VPN prefix lists and firewalls need to be changed.
In order to make devices available for discovery, a couple of protocols can be enabled. Note that this only applies to physical systems, not VM/LXCs.


{{Outdated}}
=== LLDP ===
= Space network =
The first one of these is lldp (Link-Layer Discovery Protocol). This protocol communicates device attributes to connected peers via ethernet frames. Lldp is enabled on all networking devices. Enabling these should only be done for systems that are physically connected to the network (eg, using an ethernet cable or wifi). Under debian, this is done as follows:
The ports for this network are 25-48 on [[nurds-sw-01]]??


== DHCP ==
apt install lldpd
Runs on [[NURDServices]]
systemctl enable --now lldpd
=== Settings ===
Router for the network is [[nurds-rtr-03]] its config you can find in [[librenms]]


=== Change requests ===
For changes in the network routing/nat for example:
* Portforwards
* Switchports


Please contact [[User:Zarya]]
=== SNMP ===
The second protocol to enable is snmp (Simple Network Management Protocol). This protocol allows a device to be queried for various network and host metrics, and allowing us to keep a precise count of per-device traffic rates. But above all, this gives us shiney graphs ^_^


First, install the required daemons and MIBs:
apt install snmp snmpd snmp-mibs-downloader
download-mibs


==== Static ====
Next, configure snmpd for use. Edit /etc/snmp/snmpd.conf and set the following two administrative fields:
Request a ip from https://ipam.nurd.space/
 
==== DHCP ====
* Range: 10.208.42.2-10.208.43.254
* Netmask: 255.255.252.0
* Gateway: 10.208.42.1
* Domain: dhcp.nurd.space
{| class="wikitable"
!Setting
!Value
|-
|DHCP range
|10.208.42.2-10.208.43.254
|-
|Static hostnames
|see [[Infra#Which_hosts_are_online.3F|pingscan]]
|-
|Router
|10.208.42.1
|-
|Netmask
|255.255.252.0
|-
|Domain
|dhcp.nurd.space
|-
|Network boot filename
|gpxelinux.0
|}


=== Settings to be old===
sysLocation    NURDspace,MODIFY_LOCATION_WITHIN_NURDSPACE
{| class="wikitable"
sysContact    Admins <bofh@nurdspace.nl>
!Setting
!Value
|-
|DHCP range
|192.168.1.31 - 192.168.1.200
|-
|Static hostnames
|see [[Infra#Which_hosts_are_online.3F|pingscan]]
|-
|Router
|192.168.1.1
|-
|Netmask
|255.255.255.0
|-
|Domain
|nurdspace.lan
|-
|Network boot filename
|gpxelinux.0
|}


== Wifi ==
Next, make sure that snmpd can listen on all ip addresses and can be queried using the default community
See [[Spacenet]].
#agentaddress  127.0.0.1,[::1] # ADD A HASH IN FRONT OF THIS LINE
rocommunity  public default
rocommunity6 public default


= Student network =
Finally, enable snmpd and perform a testrun to verify if it is working:
'''obsolete but might still be in some configs'''
systemctl enable --now snmpd
This network is separate from the space network. The DHCP runs on routerboard ([[nurds-rtr-03]]). The ports for this network are 1-24 on both the [[nurds-sw-01]] and [[nurds-sw-02]] switch.
root@erratic:~# snmpwalk -v2c -c public localhost
iso.3.6.1.2.1.1.1.0 = STRING: "Linux erratic.lan.nurd.space 5.15.30-2-pve #1 SMP PVE 5.15.30-3 (Fri, 22 Apr 2022 18:08:27 +0200) x86_64"
iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.8072.3.2.10
iso.3.6.1.2.1.1.3.0 = Timeticks: (8715381) 1 day, 0:12:33.81
iso.3.6.1.2.1.1.4.0 = STRING: "Admins <bofh@nurdspace.nl>"
iso.3.6.1.2.1.1.5.0 = STRING: "erratic.lan.nurd.space"
iso.3.6.1.2.1.1.6.0 = STRING: "NURDspace,Bar"
...

Revision as of 19:07, 6 April 2024

Layer 2 overview

Below you can find the structure of the network as of 28-07-2023. Fat lines are 2 x 1GE LACP trunks Layer 2 overview 28-07-2023.svg


download the file below to see the whole thing + to make changes in draw.io

File:Eis-T Hoe harkt de nurdspace .drawio.xml

Layer 3 overview

we have a single-vlan flat network. The following prefix is active on this network:

  • 10.208.0.0/22

Within this prefix, we have multiple ranges for multiple purposes:

  • 10.208.0.x Network devices
  • 10.208.1.x Servers
  • 10.208.2.x DHCP clients
  • 10.208.3.x DHCP clients

If you are unsure which range you should use, stick with DHCP. DHCP clients can set their hostname via dynamic DNS. Clients in statically managed networks must specify a hostname in IPAM. If something is to be part of the infrastructure fabric of the space, it should be in the Servers range. Be sure to contact BOFH if you want to place a system in this range.

The default gateway on this network is 10.208.0.1

DNS

search nurd.space lan.nurd.space vm.nurd.space vpn.nurd.space dhcp.nurd.space
nameserver 10.208.1.53

Rack info

       Voorkant        Achterkant
  1. Keyboard Keyboard
  2. Pachtpaneel
  3. Rangeerrack
  4. Switch
  5. Harmony Racklight
  6. Harmony
  7. Plank
  8. Gateway
  9. Gateway
  10. Gateway
  11. Gateway
  12. Gpubak
  13. Gpubak
  14. Gpubak
  15. Gpubak
  16. Plank
  17. Erratic
  18. Erratic
  19. Erratic
  20. Erratic
  21. Blind Aardlek switch

Management

The team

The NURDspace infrastructure is managed by the BOFH team.

Services

You can find a list of services we manage below:

Upcoming features and functionality

See our roadmap for a list of upcoming features and functionality. If you think something should be added, add this to either the backlog or ideas, depending on the feature. You are more then welcome to join the bofh team to implement features and functionality yourself!

Network management administrative interfaces

You can manage our devices using the URLs below:

Product URL User Used for Notes
Edgerouter Lite https://gateway.lan.nurd.space:8443/ ubnt Routing and NATting towards internet
Aruba core switch http://core-sw.lan.nurd.space admin Main switch in the space
Access points https://10.208.3.62:4343 admin Virtual controller for WIFI
Proxmox erratic https://erratic.lan.nurd.space:8006/ root Deploy LXC/KVM instances on our hypervisor
Erratic IPMI https://erratic-bmc.lan.nurd.space/ ADMIN Remote management of erratic
Synology https://harmony.lan.nurd.space:5001/ nurds Used for backups and storage Has a different password due to pwd requirements. Ask in the bofh channel.
IPAM ip+dns https://ipam.nurd.space/ ldap IP and DNS registration
LibreNMS http://librenms.vm.nurd.space/ nurds Network device metrics
Weathermap http://weathermap.vm.nurd.space Network traffic map
Smokeping http://smokeping.vm.nurd.space Network latency measurements
Icinga2 https://monitor.vm.nurd.space/ admin Monitoring service

Virtual machine

We support hosting multiple virtual machines, using both the KVM and the LXC model. These are deployed using proxmox. We have introduced the 'managed vm', which is a vm which adheres to nurdspace standards. For more information, see the ManagedVM and the Ansible pages.

VPN tunnels

We support Roadwarrior and Site-to-Site VPN tunnels, using Wireguard and OpenVPN. Contact someone from the BOFH team to discuss the possibilities and get connected.

Backups

We do daily full backups of managed systems. More details can be found on the Backup page.

TLS

All servers have a unique ECDSA certificate which can be used for both client and server authentication. Details about this setup can be found on the TLS page.

Network discovery

In order to make devices available for discovery, a couple of protocols can be enabled. Note that this only applies to physical systems, not VM/LXCs.

LLDP

The first one of these is lldp (Link-Layer Discovery Protocol). This protocol communicates device attributes to connected peers via ethernet frames. Lldp is enabled on all networking devices. Enabling these should only be done for systems that are physically connected to the network (eg, using an ethernet cable or wifi). Under debian, this is done as follows:

apt install lldpd
systemctl enable --now lldpd


SNMP

The second protocol to enable is snmp (Simple Network Management Protocol). This protocol allows a device to be queried for various network and host metrics, and allowing us to keep a precise count of per-device traffic rates. But above all, this gives us shiney graphs ^_^

First, install the required daemons and MIBs:

apt install snmp snmpd snmp-mibs-downloader
download-mibs

Next, configure snmpd for use. Edit /etc/snmp/snmpd.conf and set the following two administrative fields:

sysLocation    NURDspace,MODIFY_LOCATION_WITHIN_NURDSPACE
sysContact     Admins <bofh@nurdspace.nl>

Next, make sure that snmpd can listen on all ip addresses and can be queried using the default community

#agentaddress  127.0.0.1,[::1] # ADD A HASH IN FRONT OF THIS LINE
rocommunity  public default
rocommunity6 public default

Finally, enable snmpd and perform a testrun to verify if it is working:

systemctl enable --now snmpd
root@erratic:~# snmpwalk -v2c -c public localhost
iso.3.6.1.2.1.1.1.0 = STRING: "Linux erratic.lan.nurd.space 5.15.30-2-pve #1 SMP PVE 5.15.30-3 (Fri, 22 Apr 2022 18:08:27 +0200) x86_64"
iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.8072.3.2.10
iso.3.6.1.2.1.1.3.0 = Timeticks: (8715381) 1 day, 0:12:33.81
iso.3.6.1.2.1.1.4.0 = STRING: "Admins <bofh@nurdspace.nl>"
iso.3.6.1.2.1.1.5.0 = STRING: "erratic.lan.nurd.space"
iso.3.6.1.2.1.1.6.0 = STRING: "NURDspace,Bar"
...