IPv4 Aansluiten Server

Achter mijn internet aansluiting draai ik een NextCloud server. Voor deze server is het nodig dat ik vanaf mijn Ziggo toegewezen IPv4 adres poorten doorgeleid naar mijn server adres 192.168.88.100. Bij mijn Hoster leid ik via mijn domein dit ip adres door. Via de DNS instellingen configureer ik het a-record met het ip adres van mijn Hoster. Gelukkig heeft Ziggo beleid dat er toe leidt dat je ip alleen veranderd wanneer je je MAC adres veranderd. Dit gebeurd alleen als je je router vervangt.

Een vast ip adres instellen

Om stabiel de server te kunnen bereiken vanaf de router is het nodig een statisch ip adres te configureren. Op een MikroTik router maak je een ip adres statisch door bij IP / DHCP Server / Leases je server op te zoeken en te openen. Een van de buttons geeft aan “Make Static” wat dan prompt gebeurd.

Vervolgens klik je dubbel op dit ip adres zodat je e.e.a. kan aanpassen. Stel het adres in wat je werkelijk voor je server wilt gebruiken, in mijn geval 192.168.88.100. Vervolgens vink je “Use Src. MAC Address” aan. Laat de “Server” staan zoals dat op dat moment is ingesteld. Klik op OK.

Vervolgens ontstaat er een extra “Lease” regel in de Leases tabel. Vanaf de DHCP server kan de lease niet vervangen worden, dat doet de client zelf. Afwachten dus tot de lease is afgelopen of het apparaat opnieuw opstarten. Geef het tijd, op zeker moment is de server via het ingestelde adres aangesloten. In configuratie tekst ziet het statisch maken van een een lease er zo uit:

/ip dhcp-server lease
add address=192.168.88.100 mac-address=xx:xx:xx:xx:xx:xx\
server=dhcp-prive use-src-mac=yes

Wisselende ip van Hoster

Bovenstaande video legt e.e.a. goed uit. MikroTik levert een Cloud DDNS oplossing om de wisselende IP van je internet Provider te omzeilen. Via een web-verwijzing is het dan mogelijk altijd gebruik te maken van een wisselende IP van je provider en die in de router te weten.

Kies IP / Cloud and klik “DDNS enable”, klik “Apply” en zie je huidige publieke adres en een DNS naam verschijnen, kopieer de “DNS Name” – zoiets als xxxx.xx.mynetname.net – zodat je het ergens anders kan plakken, dan klik “OK”.

Ga naar IP / Firewall / Adresslist and klik op + of Add. Er komt een nieuw raampje, voer daar in bij “Name” = WAN-IP, plak in de “DNS Name” (die je eerder hebt gekopieerd), en klik “OK”. Je zult opmerken dat er twee regels in “Address List”zijn komen te staan. Een van de regels is het huidige IP adres dat door de provider is verstrekt. Nu hebben we ons eigen provider ip naar de “Addresslist” WAN-IP die automatisch wordt bijgewerkt als de ip van je Hoster veranderd.

# De volgende code moet worden aangepast voor gebruik
/ip cloud set ddns-enabled=yes
/ip firewall address-list
add address=abcdefg.mynetname.net list=WAN-IP

Firewall / Nat instellen

Nu we een vaste referentie hebben gecreëerd, namelijk WAN-IP kunnen we dit relatieve adres gebruiken bij het doorgeleiden van twee poorten voor de server. Bij IPv4 hebben we te maken met een NAT, een Network Address Translation tabel en een Firewall. Het enkele ip adres wat we hebben gekregen van onze Hoster (ziggo in dit geval) wordt in het thuis netwerk gebruikt om de server aan te sluiten. Voor een webserver gebeurd dat via de poorten 80 voor http en 443 voor https.

Port Forwarding

Ga naar IP / Firewall / NAT en klik op + of Add en vul in voor poort 80:

  • Tab General/Chain = dstnat
  • Tab General/Protocol = tcp (wordt weergegeven als 6 (tcp))
  • Tab General/DST Port = 80
  • Tab Advanced/Dst. Address List = WAN-IP
  • Tab Action/Action = dst-nat
  • Tab Action/To Addresses = 192.168.88.100 (Je lokale machine)
  • Tab Action/To Ports = 80
  • Voeg een comment (http voor 80 en https voor 443) toe uit het keuze menu of onder aan de bladzijde.

Dit kan ook via terminal:

/ip firewall nat add action=dst-nat chain=dstnat comment=Http\
    dst-address-list=WAN-IP dst-port=80 protocol=tcp\
    to-addresses=192.168.88.100 to-ports=80

Voeg nog een regel toe voor poort 443 zoals hierboven.

/ip firewall nat add action=dst-nat chain=dstnat comment=Https\
    dst-address-list=WAN-IP dst-port=443 protocol=tcp\
    to-addresses=192.168.88.100 to-ports=443

Sleep de twee toegevoegde regels naar boven zodat ze de eerste regels worden van alle Firewall NAT regels. Van buiten af heb je nu toegang tot je webserver.

De HairPin rule

Helaas werkt de benadering van de server niet voor apparaten die op het zelfde LAN subnet zijn aangesloten, een verbinding is niet mogelijk. Dit is op te lossen door het verkeer vanuit de NAT buitenom te laten verlopen via wat genoemd wordt een HairPin.

Ga naar IP/Firewall/NAT en klik op + of Add en vul in:

  • Tab General/Chain = srcnat
  • Tab General/Src. Address = 192.168.88.0/24
  • Tab General/Dst. Address = 192.168.88.0/24
  • Tab Action/Action = masquerade
  • Voeg een comment “Hairpin NAT” toe uit het keuze menu of onder aan de bladzijde. en klik op “OK”.

Dit kan ook via terminal:

/ip firewall nat add action=masquerade chain=srcnat\
comment="Hairpin NAT" dst-address=192.168.88.0/24\
src-address=192.168.88.0/24

De zojuist toegevoegde regel staat onderaan in de lijst. Sleep de regel naar de bovenzijde van de lijst. Nu zal je merken dat toegang tot de server vanuit het lokale netwerk met een url goed werkt.

Daarmee is je server aan het internet gekoppeld en direct bereikbaar.

Laatst Bijgewerkt op 13 maart 2022.