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