# Internet en netwerk

> Netwerkvereisten voor de Voltmasters EMS-controller: de uitgaande poorten, de domeinen die bereikbaar moeten blijven, DNS en hoe je het controleert.

Source: https://voltmasters.io/nl/docs/getting-started/ems-controller-installation/internet-and-network/

De controller stuurt je installatie aan (batterij, omvormer, enzovoort) en communiceert zowel met het Voltmasters-platform als met je toestellen ter plaatse. Het meeste verkeer is uitgaand: de controller belt zelf naar de cloud en naar je toestellen. Voor de normale werking hoef je geen enkele poort van buitenaf open te zetten. Ook support op afstand komt alleen over uitgaande verbindingen binnen (zie *Support op afstand*).

### Vereisten

-   Een bekabelde netwerkaansluiting (ethernet) op de plek waar de controller hangt.
-   Wij werken liefst met DHCP. Heb je een vast IP-adres nodig, dan stel je dat in vanaf het platform bij [Netwerkconfiguratie](https://voltmasters.io/nl/docs/voltmasters-platform/project-settings/ems-controller/network-configuration/).
-   Een stabiele internetverbinding.
-   Toegang tot hetzelfde lokale netwerk (LAN) als je energietoestellen (omvormer, batterijcontroller, meter, enzovoort).
-   Werkende DNS, en de domeinen van Voltmasters mogen niet geblokkeerd worden door DNS- of contentfiltering (zie DNS en contentfiltering).
-   Een juist lopende klok: tijdsynchronisatie via NTP moet toegelaten zijn (uitgaand UDP 123). Dat is nodig, anders mislukken de TLS-verbindingen.
-   Geen proxy die TLS openbreekt (man in the middle) op het verkeer van de controller.

### Uitgaande poorten

Laat de volgende uitgaande verbindingen van de controller naar het internet toe:

| Poort | Protocol | Bestemming |
| --- | --- | --- |
| 4505 | TCP | salt.voltmasters.libaro.io |
| 4506 | TCP | salt.voltmasters.libaro.io |
| 8883 | TCP | AWS IoT (\*-ats.iot.eu-west-1.amazonaws.com) |
| 2984 | TCP | tmate.voltmasters.libaro.io |
| 443 | TCP | \*.voltmasters.be |
| 8086 | TCP | \*.timestream-influxdb.eu-west-1.on.aws |
| 80 | TCP | archive.ubuntu.com, security.ubuntu.com |
| 53 | UDP/TCP | alle |
| 123 | UDP | alle (NTP) |
| 41641 | UDP | alle (Tailscale WireGuard, rechtstreekse verbindingen) |
| 3478 | UDP | alle (Tailscale STUN, NAT-traversal) |

Is uitgaand UDP volledig geblokkeerd, dan valt support op afstand via Tailscale terug op relays over TCP 443. Dat werkt nog steeds, maar het is trager. Laat uitgaand UDP 41641 en 3478 toe voor een vlotte verbinding voor support op afstand. Inkomende regels zijn niet nodig.

### Domeinen die bereikbaar moeten zijn

Gebruikt de site DNS-filtering, een web- of URL-filter of een next-gen firewall (FortiGate/FortiGuard, Cisco Umbrella, Palo Alto, Zscaler, ...), zet deze domeinen dan uitdrukkelijk op de toelatingslijst.

-   salt.voltmasters.libaro.io
-   platform.voltmasters.be (productie) / voltmasters-beta.libaro.io (devtoestellen)
-   tmate.voltmasters.libaro.io
-   tempo.voltmasters.libaro.io
-   \*.amazonaws.com en \*.on.aws (AWS IoT, containerregister/ECR, InfluxDB)
-   archive.ubuntu.com, security.ubuntu.com
-   \*.tailscale.com  
    

### Hoe je het controleert

Voer deze controles uit vanaf een laptop op hetzelfde netwerk of VLAN als de controller:

```powershell
# 1. DNS moet ons echte server-IP teruggeven, geen gefilterd of sinkhole-adres

Resolve-DnsName tmate.voltmasters.libaro.io

Resolve-DnsName salt.voltmasters.libaro.io

# -> beide horen uit te komen op een IP van Voltmasters of AWS (bijvoorbeeld 52.17.81.98),

# NIET op een IP van je firewallleverancier (Fortinet, Cisco, enzovoort)

# 2. De poorten moeten bereikbaar zijn

Test-NetConnection salt.voltmasters.libaro.io -Port 4505

Test-NetConnection tmate.voltmasters.libaro.io -Port 2984

# -> TcpTestSucceeded : True
```

> **Let op**
>
> Geeft `Resolve-DnsName` een IP terug dat van je firewall of je securityleverancier is, dan wordt het domein gesinkholed. Zet het domein op de toelatingslijst van de firewall.

### Koppelen aan een EMS-account

Op de controller staat een code gedrukt. Vul die code in als Controller ID wanneer je [**een nieuw project**](https://platform.voltmasters.be/projects) aanmaakt.
