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