Handleiding MikroTik
Wat je van ons krijgt
Vervang deze plaatsaanduidingen door de gegevens die je bij je bestelling van FixedIP.be kreeg.
PRIVATE_KEY | de private key van je tunnels (geheim houden) |
PORT | de UDP-poort van onze tunnelservers |
ENDPOINT_1 | het adres van onze tunnelserver in Antwerpen |
SERVER_PUBLIC_KEY_1 | de public key van onze tunnelserver in Antwerpen |
TUNNEL_IP_1 | het tunneladres van je router naar Antwerpen |
SERVER_TUNNEL_IP_1 | het tunneladres aan onze kant in Antwerpen (gateway) |
ENDPOINT_2 | het adres van onze tunnelserver in Zaventem |
SERVER_PUBLIC_KEY_2 | de public key van onze tunnelserver in Zaventem |
TUNNEL_IP_2 | het tunneladres van je router naar Zaventem |
SERVER_TUNNEL_IP_2 | het tunneladres aan onze kant in Zaventem (gateway) |
FIXED_IP | je vaste IPv4-adres |
FIXED_SUBNET | je IPv4-subnet, bijvoorbeeld /29 |
FIRST_USABLE | het eerste bruikbare adres van je subnet |
PREFIX_LENGTH | de lengte van je subnet, bijvoorbeeld 29 |
IPV6_PREFIX | je IPv6-subnet |
IPV6_LAN | een /64 uit je IPv6-subnet voor je netwerk |
TUNNEL_IP6_1 | het IPv6-tunneladres van je router naar Antwerpen |
SERVER_TUNNEL_IP6_1 | het IPv6-tunneladres aan onze kant in Antwerpen |
TUNNEL_IP6_2 | het IPv6-tunneladres van je router naar Zaventem |
SERVER_TUNNEL_IP6_2 | het IPv6-tunneladres aan onze kant in Zaventem |
LAN_HOST | het interne adres van je server of NAS, bijvoorbeeld 192.168.1.10 |
Met deze handleiding zet je je vaste IP op een MikroTik-router met RouterOS 7. Je router bouwt twee tunnels op, één naar elke PoP, en schakelt automatisch over als er één wegvalt. Enkel het verkeer van je vaste IP loopt door de tunnels; al het andere verkeer blijft rechtstreeks via je eigen internetverbinding gaan.
Je krijgt het vaste IP binnen op de router en stuurt het door naar een toestel in je netwerk (bijvoorbeeld een NAS of server op LAN_HOST). Heb je meerdere adressen (een subnet)? Lees dan ook het stuk Meerdere adressen onderaan.
Alle commando's plak je in Terminal (WinBox of WebFig → New Terminal). Elke regel krijgt het label
fixedip.be, zodat je alles later in één keer kan terugvinden of verwijderen.
1. Twee WireGuard-tunnels
Eén tunnel naar elke PoP, met dezelfde sleutel:
/interface/wireguard/add name=wg-fixedip-1 listen-port=13241 mtu=1420 private-key="PRIVATE_KEY" comment="fixedip.be"
/interface/wireguard/add name=wg-fixedip-2 listen-port=13242 mtu=1420 private-key="PRIVATE_KEY" comment="fixedip.be"
/interface/wireguard/peers/add interface=wg-fixedip-1 public-key="SERVER_PUBLIC_KEY_1" \
endpoint-address=ENDPOINT_1 endpoint-port=PORT allowed-address=0.0.0.0/0,::/0 \
persistent-keepalive=25s comment="fixedip.be"
/interface/wireguard/peers/add interface=wg-fixedip-2 public-key="SERVER_PUBLIC_KEY_2" \
endpoint-address=ENDPOINT_2 endpoint-port=PORT allowed-address=0.0.0.0/0,::/0 \
persistent-keepalive=25s comment="fixedip.be"
/ip/address/add address=TUNNEL_IP_1/32 network=SERVER_TUNNEL_IP_1 interface=wg-fixedip-1 comment="fixedip.be"
/ip/address/add address=TUNNEL_IP_2/32 network=SERVER_TUNNEL_IP_2 interface=wg-fixedip-2 comment="fixedip.be"
allowed-address=0.0.0.0/0 betekent enkel dat de tunnels verkeer naar elk adres mogen dragen. RouterOS legt daar zelf geen route voor aan: je gewone internetverkeer blijft dus waar het was.
Zet de tunnels niet in de interfacelijst
WAN. Anders gaat de standaard masquerade-regel ook op de tunnels werken.
2. Je vaste IP op de router
Het vaste IP komt op een aparte, lege bridge. Zo hangt het aan geen van beide tunnels vast en blijft het bestaan, welke tunnel er ook actief is.
/interface/bridge/add name=lo-fixedip comment="fixedip.be"
/ip/address/add address=FIXED_IP/32 interface=lo-fixedip comment="fixedip.be"
3. Routering met automatische failover
Drie routeringstabellen:
fixedip: voor verkeer dat vertrekt vanaf je vaste IP. Voorkeur voor PoP 1; valt die weg (de router pingt het tunneladres aan onze kant), dan PoP 2.fixedip-1enfixedip-2: antwoorden gaan altijd terug via de tunnel waarlangs de verbinding binnenkwam.
/routing/table/add name=fixedip fib comment="fixedip.be"
/routing/table/add name=fixedip-1 fib comment="fixedip.be"
/routing/table/add name=fixedip-2 fib comment="fixedip.be"
/ip/route/add dst-address=0.0.0.0/0 gateway=SERVER_TUNNEL_IP_1 routing-table=fixedip distance=1 \
check-gateway=ping comment="fixedip.be"
/ip/route/add dst-address=0.0.0.0/0 gateway=SERVER_TUNNEL_IP_2 routing-table=fixedip distance=2 \
check-gateway=ping comment="fixedip.be"
/ip/route/add dst-address=0.0.0.0/0 gateway=wg-fixedip-1 routing-table=fixedip-1 comment="fixedip.be"
/ip/route/add dst-address=0.0.0.0/0 gateway=wg-fixedip-2 routing-table=fixedip-2 comment="fixedip.be"
Markeer de verbindingen die via een tunnel binnenkomen, en stuur hun antwoorden via diezelfde tunnel terug:
/ip/firewall/mangle/add chain=prerouting in-interface=wg-fixedip-1 connection-state=new \
action=mark-connection new-connection-mark=fixedip-1 passthrough=yes comment="fixedip.be"
/ip/firewall/mangle/add chain=prerouting in-interface=wg-fixedip-2 connection-state=new \
action=mark-connection new-connection-mark=fixedip-2 passthrough=yes comment="fixedip.be"
/ip/firewall/mangle/add chain=prerouting in-interface-list=LAN connection-mark=fixedip-1 \
action=mark-routing new-routing-mark=fixedip-1 passthrough=no comment="fixedip.be"
/ip/firewall/mangle/add chain=prerouting in-interface-list=LAN connection-mark=fixedip-2 \
action=mark-routing new-routing-mark=fixedip-2 passthrough=no comment="fixedip.be"
/ip/firewall/mangle/add chain=output connection-mark=fixedip-1 \
action=mark-routing new-routing-mark=fixedip-1 passthrough=no comment="fixedip.be"
/ip/firewall/mangle/add chain=output connection-mark=fixedip-2 \
action=mark-routing new-routing-mark=fixedip-2 passthrough=no comment="fixedip.be"
Tot slot de regels die bepalen welke tabel gebruikt wordt. De volgorde telt: eerst de markeringen, dan je vaste IP.
/routing/rule/add routing-mark=fixedip-1 action=lookup-only-in-table table=fixedip-1 comment="fixedip.be"
/routing/rule/add routing-mark=fixedip-2 action=lookup-only-in-table table=fixedip-2 comment="fixedip.be"
/routing/rule/add src-address=FIXED_IP/32 action=lookup-only-in-table table=fixedip comment="fixedip.be"
FastTrack slaat de mangle-regels over. Sluit de gemarkeerde verbindingen daarom uit van FastTrack:
/ip/firewall/filter/set [find action=fasttrack-connection] connection-mark=no-mark
4. Doorsturen naar je server
Stuur één poort door (hier HTTPS):
/ip/firewall/nat/add chain=dstnat dst-address=FIXED_IP protocol=tcp dst-port=443 \
action=dst-nat to-addresses=LAN_HOST comment="fixedip.be"
Of stuur álle poorten door naar hetzelfde toestel (1-op-1):
/ip/firewall/nat/add chain=dstnat dst-address=FIXED_IP action=dst-nat to-addresses=LAN_HOST comment="fixedip.be"
Laat de router alleen verkeer uit de tunnels door dat je zelf hebt doorgestuurd, en zet die regels bovenaan:
/ip/firewall/filter/add chain=forward in-interface=wg-fixedip-1 connection-nat-state=!dstnat \
action=drop comment="fixedip.be" place-before=0
/ip/firewall/filter/add chain=forward in-interface=wg-fixedip-2 connection-nat-state=!dstnat \
action=drop comment="fixedip.be" place-before=0
De standaard input-regels van RouterOS laten niets van buiten het LAN toe, dus de router zelf is niet bereikbaar via je vaste IP.
5. Ook uitgaand met je vaste IP (optioneel)
Wil je dat je server ook naar buiten gaat met je vaste IP (bijvoorbeeld voor whitelisting bij een leverancier)?
/routing/rule/add src-address=LAN_HOST/32 action=lookup-only-in-table table=fixedip comment="fixedip.be"
/ip/firewall/nat/add chain=srcnat src-address=LAN_HOST out-interface=wg-fixedip-1 \
action=src-nat to-addresses=FIXED_IP comment="fixedip.be"
/ip/firewall/nat/add chain=srcnat src-address=LAN_HOST out-interface=wg-fixedip-2 \
action=src-nat to-addresses=FIXED_IP comment="fixedip.be"
Al het internetverkeer van LAN_HOST loopt dan via je vaste IP, en schakelt mee over als PoP 1 wegvalt. De andere toestellen in je netwerk merken niets.
6. IPv6
Je IPv6-subnet wordt naar beide tunnels gerouteerd. Geef de tunnels hun IPv6-tunneladres, zet een /64 op je LAN-bridge (IPV6_LAN) en stuur het verkeer vanuit je subnet door de tunnels, met dezelfde failover:
/ipv6/address/add address=TUNNEL_IP6_1/128 interface=wg-fixedip-1 advertise=no comment="fixedip.be"
/ipv6/address/add address=TUNNEL_IP6_2/128 interface=wg-fixedip-2 advertise=no comment="fixedip.be"
/ipv6/address/add address=IPV6_LAN::1/64 interface=bridge advertise=yes comment="fixedip.be"
/ipv6/route/add dst-address=::/0 gateway=SERVER_TUNNEL_IP6_1%wg-fixedip-1 routing-table=fixedip \
distance=1 check-gateway=ping comment="fixedip.be"
/ipv6/route/add dst-address=::/0 gateway=SERVER_TUNNEL_IP6_2%wg-fixedip-2 routing-table=fixedip \
distance=2 check-gateway=ping comment="fixedip.be"
/routing/rule/add src-address=IPV6_PREFIX action=lookup-only-in-table table=fixedip comment="fixedip.be"
De standaard IPv6-firewall laat geen inkomend verkeer naar je LAN toe. Open per toestel wat je wil bereiken, bijvoorbeeld:
/ipv6/firewall/filter/add chain=forward in-interface=wg-fixedip-1 dst-address=IPV6_LAN::10/128 \
protocol=tcp dst-port=443 action=accept comment="fixedip.be" place-before=0
/ipv6/firewall/filter/add chain=forward in-interface=wg-fixedip-2 dst-address=IPV6_LAN::10/128 \
protocol=tcp dst-port=443 action=accept comment="fixedip.be" place-before=0
Meerdere adressen
Heb je een subnet (FIXED_SUBNET) gekregen? Dan kan je het op twee manieren gebruiken:
- Via je router (alle adressen bruikbaar): zet elk adres als
/32oplo-fixedipzoals in stap 2, en stuur elk adres met een eigen dst-nat-regel door naar een ander toestel, zoals in stap 4. Voeg de regel uit stap 3 toe voor het hele subnet (src-address=FIXED_SUBNET). - Rechtstreeks op je netwerk: zet het subnet op een eigen bridge of VLAN, zodat je publieke toestellen los staan van je thuisnetwerk. Het eerste bruikbare adres gaat naar de router; netwerk- en broadcastadres vallen weg.
/ip/address/add address=FIRST_USABLE/PREFIX_LENGTH interface=bridge-public comment="fixedip.be"
/routing/rule/add src-address=FIXED_SUBNET action=lookup-only-in-table table=fixedip comment="fixedip.be"
Bij de tweede manier heb je geen NAT nodig: de toestellen gebruiken hun publieke adres rechtstreeks. Bescherm ze met eigen forward-regels.
Controleren
/interface/wireguard/peers/print detail where comment="fixedip.be"
/ip/route/print where routing-table=fixedip
/ping 9.9.9.9 src-address=FIXED_IP count=3
Bij beide peers moet een recente last-handshake staan, en in de tabel fixedip is de route via PoP 1 actief. Test daarna van buitenaf, bijvoorbeeld met je gsm op mobiele data: https://FIXED_IP moet op je server uitkomen.
Failover testen: zet wg-fixedip-1 even uit (/interface/wireguard/disable wg-fixedip-1). Binnen een halve minuut neemt de route via PoP 2 het over en blijft je vaste IP bereikbaar. Zet de tunnel daarna weer aan.
Terugdraaien
/ip/firewall/filter/remove [find comment="fixedip.be"]
/ip/firewall/nat/remove [find comment="fixedip.be"]
/ip/firewall/mangle/remove [find comment="fixedip.be"]
/ipv6/firewall/filter/remove [find comment="fixedip.be"]
/routing/rule/remove [find comment="fixedip.be"]
/ip/route/remove [find comment="fixedip.be"]
/ipv6/route/remove [find comment="fixedip.be"]
/routing/table/remove [find comment="fixedip.be"]
/ip/address/remove [find comment="fixedip.be"]
/ipv6/address/remove [find comment="fixedip.be"]
/interface/wireguard/peers/remove [find comment="fixedip.be"]
/interface/wireguard/remove [find comment="fixedip.be"]
/interface/bridge/remove [find comment="fixedip.be"]
Zet FastTrack daarna terug zoals het was: /ip/firewall/filter/set [find action=fasttrack-connection] !connection-mark.
Problemen?
- Geen handshake: controleer
ENDPOINT_1/ENDPOINT_2,PORTen de sleutels. Laat uitgaand UDP-verkeer naarPORTtoe als je een extra firewall voor je router hebt. - Beide routes in
fixediponbereikbaar: de router krijgt geen antwoord op zijn ping naarSERVER_TUNNEL_IP_1enSERVER_TUNNEL_IP_2. Kijk of er een handshake is en of hetnetwork=-deel bij de tunneladressen klopt. - Handshake ok, maar pagina's laden niet of blijven hangen: verlaag de MTU naar 1360 op beide tunnels. Op 4G/5G en sommige glasvezel- of Starlink-verbindingen is 1420 te veel.
- Van buitenaf niets bereikbaar: kijk of de FastTrack-regel
connection-mark=no-markheeft en of de dst-nat-regel pakketten telt (/ip/firewall/nat/print stats).
Kom je er niet uit? Mail ons op info@fixedip.be
Klaar voor je vaste IP?
Start vandaag nog en wees overal bereikbaar.