doc/Network: Document the purpose of the various networks
[noc.git] / doc / Network.mdwn
1 # Network infrastructure
2
3 ## Networks
4
5 NOC operates a number of networks, available as tagged VLANs on the core
6 switches (one in each half of the hackerspace).  These networks are:
7
8 | name       | VLAN id | Extra subnets    | Comment                              |
9 |------------|---------|------------------|--------------------------------------|
10 | Management |      32 | --               | Management network                   |
11 | IoT        |      33 | --               | IoT devices, room infrastructure     |
12 | Services   |      34 | --               | Services LAN, see below              |
13 | Public     |      36 | 89.106.211.64/27 | Publicly-available services          |
14 | Guests     |     127 | --               | Exposed through the “realraum” SSIDs |
15 | Members    |     128 | 89.106.211.32/27 | Accessed with per-member credentials |
16 | `0xFF`     |     255 | --               | Funkfeuer VLAN                       |
17
18
19 ### `svc` -- Services LAN
20
21 This network is intended for services that aren't directly exposed to users
22 (be they humans or machines); this includes services exposed through a frontend
23 (like realraum web services) and services only meant to be consumed by another
24 service (like a database server).
25
26
27 ### `pub` -- Publicly-available services
28
29 This network is intended for services that can be consumed by non-NOC systems,
30 including our HTTP(S) frontend -- `entrance`, `mqtt`, ...
31
32 Services in this network can restrict availability, for instance by only
33 allowing clients connecting from our LANs, or by requiring authentication.
34
35 No RFC 1918 subnet is used on this network, only `89.106.211.64/27`.
36
37
38 ### Conventions
39
40 We use a number of conventions to make things more consistent:
41
42 - The DNS zone for a given network is `NET.realraum.at`, with the exception
43   of the public services network (which uses `realraum.at`) and of the Funkfeuer
44   VLAN (which has no `realraum.at` zone).
45 - Networks using RFC 1918 IP space use the 192.168.VID.0/24 subnet;
46   for instance, the IoT network has id 33 and uses the 192.168.33.0/24 subnet.
47 - The gateway for a network is on the last IP for the subnet.
48
49
50 ### Routing and firewall rules
51
52 This network diagram represents networks, and the connection flows between them:
53 an arrow from A to B means that a connection can be opened from network A to
54 network B.  In all cases, a subset of ICMP (ECHO, ...) is allowed.
55
56 Note that any given system might have interfaces in several of these networks.
57
58 [[!img Network/overview.svg alt="r³ network overview"]]
59
60
61 ## WiFi
62
63 Each location has a single AP, `ap{0,1}.mgmt.realraum.at`, which provides SSIDs
64 for the IoT network (`realstuff`) and the LAN (`realraum` and `realraum5`);
65 we use Ubiquity hardware running OpenWRT.
66
67
68 ## Physical locations
69
70 The switches have hostnames `sw{0,1}.mgmt.realraum.at`, and the WiFi access
71 points are similarly `ap{0,1}.mgmt.realraum.at`. `0` denotes the main room, and
72 `1` denotes the second appartment.
73
74
75 ### W2
76
77 #### Room 1
78
79 r1w2 has two fiber connections: one to the main room, and one to the radio room.
80 (We use fiber to avoid creating a ground loop between the locations.)
81
82 In r1w2, we have a rack hosting a number of devices:
83
84 - the patch panel and core switch (`sw1.mgmt.realraum.at`) for W2;
85 - the `alfred` virtualization server;
86 - miscelaneous devices:
87   - RIPE ATLAS probe;
88   - some Raspberry Pi belonging to members;
89   - ...
90
91 **Note:** members setting up devices that only need power and network access
92           should do so in this rack (or even better, run a VM or a container
93           on `alfred`).
94
95
96 #### realfunk
97
98 realfunk receives the `0xFF` and LAN VLANs trunked on a single fiber;
99 the switch there, `sw2.mgmt.realraum.at`, provides untagged ports on either VLAN.
100
101 Moreover, there is a Funkfeuer node there; it *does not* advertise the realraum
102 SSIDs.
103
104
105 ### Main room
106
107 The main room has its patch panel and core switch (`sw0.mgmt.realraum.at`) in
108 Cx. The patch panel has a fiber link to r2w1, and a copper link to an external
109 antenna for our link to Funkfeuer.
110
111 The network shelf in Cx also houses some important devices:
112
113 - `gw.realraum.at`;
114 - `smsgw.mgmt.realraum.at`, plus its mobile phone;
115 - the PoE injectors for `ap0.mgmt.realraum.at` and `sch24.r3.ffgraz.net`;
116 - `test.r3.ffgraz.net`, which is a test Funkfeuer node.