Network: Difference between revisions

From NURDspace
 
(86 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]]
{|
|0
|
|-
|1
|
|-
|2
|To Edgerouter Lite keuken
|-
|3
|
|}


== Edgerouter Lite keuken ==
[[:File:Eis-T Hoe harkt de nurdspace .drawio.xml]]
 
{|
|'''Port'''
|'''Description'''
|-
|0
|To Aruba bar
|-
|1
|
|-
|2
|To Fritzbox gamershok
|}


= New network =
= Layer 3 overview =
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 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:


== Proposal ==
* 10.208.0.x Network devices
We renumber everything into 10.208.42.0/23 (10.208.42.0 .. 10.208.43.255).
* 10.208.1.x Servers
* 10.208.2.x DHCP clients
* 10.208.3.x DHCP clients


== How ==
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 FreeIPA. 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.
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.


== Dependencies ==
The default gateway on this network is 10.208.0.1
- VPN prefix lists and firewalls need to be changed.


{{Outdated}}
== DNS ==
= Space network =
search nurd.space lan.nurd.space vm.nurd.space vpn.nurd.space dhcp.nurd.space
The ports for this network are 25-48 on [[nurds-sw-01]]??
nameserver 10.208.1.53


== DHCP ==
==Rack info==
Runs on [[NURDServices]]
        Voorkant        Achterkant
=== Settings ===
#    Keyboard    Keyboard
Router for the network is [[nurds-rtr-03]] its config you can find in [[librenms]]
#                          Pachtpaneel   
#                          Rangeerrack
#                          Switch
#    Harmony      Racklight 
#    Harmony
#    Plank
#
#    Gateway
#    Gateway
#    Gateway
#    Gateway
#    Gpubak
#    Gpubak
#    Gpubak
#    Gpubak
#    Plank
#
#    Erratic
#    Erratic
#    Erratic
#    Erratic
#    Blind          Aardlek switch


=== Change requests ===
= Management =
For changes in the network routing/nat for example:
== The team ==
* Portforwards
The NURDspace infrastructure is managed by [[Network/BOFH|the BOFH team]].
* Switchports


Please contact [[User:Zarya]]
== Services ==
You can find a list of services we manage below:


* [[Network/Services/Wiki|The wiki]]
* [[Network/Services/DNS|Internal and external DNS]]
* [[Network/Services/Authentication|LDAP / Kerberos authentication]]
* [[Network/Services/Freifunk|Hosted AP for Freifunk Chemnitz]]
* [[Network/Services/Switches|Cisco-based switching infrastructure]]
* [[Network/Services/DoorLock|Front doorlock system]]
* [[Network/Services/Cryptpad|Online collaboration tools]]
* [[Network/Services/VPN|Wireguard VPN tunnel]]


==== Static ====
== Upcoming features and functionality ==
Request a ip from https://ipam.nurd.space/
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!


==== DHCP ====
== Network management administrative interfaces ==
* Range: 10.208.42.2-10.208.43.254
You can manage our devices using the URLs below:
* Netmask: 255.255.252.0
{|
* Gateway: 10.208.42.1
|'''Product'''
* Domain: dhcp.nurd.space
|'''URL'''
{| class="wikitable"
|'''User'''
!Setting
|'''Used for'''
!Value
|'''Notes'''
|-
|-
|DHCP range
|Edgerouter Lite
|10.208.42.2-10.208.43.254
|https://gateway.lan.nurd.space:8443/
|ubnt
|Routing and NATting towards internet
|
|-
|-
|Static hostnames
|Aruba core switch
|see [[Infra#Which_hosts_are_online.3F|pingscan]]
|http://core-sw.lan.nurd.space
|admin
|Main switch in the space
|
|-
|-
|Router
|Access points
|10.208.42.1
|https://10.208.3.62:4343
|admin
|Virtual controller for WIFI
|
|-
|-
|Netmask
|Proxmox erratic
|255.255.252.0
|https://erratic.lan.nurd.space:8006/
|root
|Deploy LXC/KVM instances on our hypervisor
|
|-
|-
|Domain
|Erratic IPMI
|dhcp.nurd.space
|https://erratic-bmc.lan.nurd.space/
|ADMIN
|Remote management of erratic
|
|-
|-
|Network boot filename
|Synology
|gpxelinux.0
|https://harmony.lan.nurd.space:5001/
|}
|nurds
 
|Used for backups and storage
=== Settings to be old===
|Has a different password due to pwd requirements. Ask in the bofh channel.
{| class="wikitable"
!Setting
!Value
|-
|-
|DHCP range
|DNS and identity management
|192.168.1.31 - 192.168.1.200
|https://ipa.nurd.space/
|ldap
|DNS / Identity
|
|-
|-
|Static hostnames
|LibreNMS
|see [[Infra#Which_hosts_are_online.3F|pingscan]]
|http://librenms.vm.nurd.space/
|nurds
|Network device metrics
|
|-
|-
|Router
|Weathermap
|192.168.1.1
|http://weathermap.vm.nurd.space
|
|Network traffic map
|-
|-
|Netmask
|Smokeping
|255.255.255.0
|http://smokeping.vm.nurd.space
|
|Network latency measurements
|-
|-
|Domain
|Icinga2
|nurdspace.lan
|https://monitor.vm.nurd.space/
|-
|admin
|Network boot filename
|Monitoring service
|gpxelinux.0
|}
|}


== Wifi ==
== Virtual machine ==
See [[Spacenet]].
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 [[Network/Services/VPN|Wireguard]]. 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 [[Network/Backup|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 [[Network/TLS|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


= 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"
...

Latest revision as of 21:03, 6 September 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 FreeIPA. 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.
DNS and identity management https://ipa.nurd.space/ ldap DNS / Identity
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. 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"
...