added VLAN for UPC
[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 | UPC      | 168 | n   | <dynamically assigned>             | UPC DOCSIS Internet                  |
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 - The DNS zone for a given network is `NET.realraum.at`, with the exception of
44   `pub` (which uses `realraum.at`) and VLANs which have no `realraum.at` zone.
45 - When a network uses RFC 1918 IP space, it is 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 -- Room 1
76
77 r1w2 has two fiber connections: one to the main room, and one to the radio room.
78 (We use fiber to avoid creating a ground loop between the locations.)
79
80 In r1w2, we have a rack hosting a number of devices:
81
82 - the patch panel and core switch (`sw1.mgmt.realraum.at`) for W2;
83 - the `alfred` virtualization server;
84 - miscelaneous devices:
85   - RIPE ATLAS probe;
86   - some Raspberry Pi belonging to members;
87   - ...
88
89 **Note:** members setting up devices that only need power and network access
90           should do so in this rack (or even better, run a VM or a container
91           on `alfred`).
92
93
94 ### W2 -- realfunk
95
96 realfunk receives the VLANs trunked on a single fiber; the switch there, `sw2`,
97 provides untagged ports on guests, `0xFF`, and HAMNET, which are labelled on the
98 device. Moreover, a single port (5) has the untagged guests LAN, along with
99 tagged HAMNET packets, used by the desktop computer there.
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.