Guide MikroTik
Ce que vous recevez de nous
Remplacez ces repères par les données reçues lors de votre commande chez FixedIP.be.
PRIVATE_KEY | la clé privée de vos tunnels (à garder secrète) |
PORT | le port UDP de nos serveurs de tunnel |
ENDPOINT_1 | l'adresse de notre serveur de tunnel à Anvers |
SERVER_PUBLIC_KEY_1 | la clé publique de notre serveur de tunnel à Anvers |
TUNNEL_IP_1 | l'adresse de tunnel de votre routeur vers Anvers |
SERVER_TUNNEL_IP_1 | l'adresse de tunnel de notre côté à Anvers (passerelle) |
ENDPOINT_2 | l'adresse de notre serveur de tunnel à Zaventem |
SERVER_PUBLIC_KEY_2 | la clé publique de notre serveur de tunnel à Zaventem |
TUNNEL_IP_2 | l'adresse de tunnel de votre routeur vers Zaventem |
SERVER_TUNNEL_IP_2 | l'adresse de tunnel de notre côté à Zaventem (passerelle) |
FIXED_IP | votre adresse IPv4 fixe |
FIXED_SUBNET | votre sous-réseau IPv4, par exemple /29 |
FIRST_USABLE | la première adresse utilisable de votre sous-réseau |
PREFIX_LENGTH | la longueur de votre sous-réseau, par exemple 29 |
IPV6_PREFIX | votre sous-réseau IPv6 |
IPV6_LAN | un /64 de votre sous-réseau IPv6 pour votre réseau |
TUNNEL_IP6_1 | l'adresse de tunnel IPv6 de votre routeur vers Anvers |
SERVER_TUNNEL_IP6_1 | l'adresse de tunnel IPv6 de notre côté à Anvers |
TUNNEL_IP6_2 | l'adresse de tunnel IPv6 de votre routeur vers Zaventem |
SERVER_TUNNEL_IP6_2 | l'adresse de tunnel IPv6 de notre côté à Zaventem |
LAN_HOST | l'adresse interne de votre serveur ou NAS, par exemple 192.168.1.10 |
Ce guide vous permet de configurer votre IP fixe sur un routeur MikroTik sous RouterOS 7. Votre routeur établit deux tunnels, un vers chaque PoP, et bascule automatiquement si l'un d'eux tombe. Seul le trafic de votre IP fixe passe par les tunnels ; tout le reste du trafic continue de passer directement par votre propre connexion Internet.
Vous recevez l'IP fixe sur le routeur et la redirigez vers un appareil de votre réseau (par exemple un NAS ou un serveur sur LAN_HOST). Vous avez plusieurs adresses (un sous-réseau) ? Lisez alors aussi la section Plusieurs adresses en bas de page.
Collez toutes les commandes dans le Terminal (WinBox ou WebFig → New Terminal). Chaque ligne reçoit l'étiquette
fixedip.be, ce qui vous permet de tout retrouver ou supprimer en une fois par la suite.
1. Deux tunnels WireGuard
Un tunnel vers chaque PoP, avec la même clé :
/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 signifie uniquement que les tunnels peuvent transporter du trafic vers n'importe quelle adresse. RouterOS ne crée lui-même aucune route pour cela : votre trafic Internet habituel reste donc là où il était.
Ne placez pas les tunnels dans la liste d'interfaces
WAN. Sinon, la règle masquerade par défaut s'appliquera aussi aux tunnels.
2. Votre IP fixe sur le routeur
L'IP fixe est placée sur un bridge distinct et vide. Ainsi, elle n'est liée à aucun des deux tunnels et reste présente, quel que soit le tunnel actif.
/interface/bridge/add name=lo-fixedip comment="fixedip.be"
/ip/address/add address=FIXED_IP/32 interface=lo-fixedip comment="fixedip.be"
3. Routage avec basculement automatique
Trois tables de routage :
fixedip: pour le trafic qui part de votre IP fixe. Préférence pour le PoP 1 ; si celui-ci tombe (le routeur pingue l'adresse du tunnel de notre côté), le PoP 2 prend le relais.fixedip-1etfixedip-2: les réponses repartent toujours par le tunnel par lequel la connexion est entrée.
/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"
Marquez les connexions qui entrent par un tunnel et renvoyez leurs réponses par ce même tunnel :
/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"
Enfin, les règles qui déterminent quelle table est utilisée. L'ordre compte : d'abord les marquages, ensuite votre IP fixe.
/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 contourne les règles mangle. Excluez donc les connexions marquées de FastTrack :
/ip/firewall/filter/set [find action=fasttrack-connection] connection-mark=no-mark
4. Redirection vers votre serveur
Redirigez un seul port (ici 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"
Ou redirigez tous les ports vers le même appareil (1 pour 1) :
/ip/firewall/nat/add chain=dstnat dst-address=FIXED_IP action=dst-nat to-addresses=LAN_HOST comment="fixedip.be"
Ne laissez passer par le routeur que le trafic des tunnels que vous avez vous-même redirigé, et placez ces règles tout en haut :
/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
Les règles input par défaut de RouterOS n'autorisent rien depuis l'extérieur du LAN ; le routeur lui-même n'est donc pas joignable via votre IP fixe.
5. Sortir aussi avec votre IP fixe (facultatif)
Vous souhaitez que votre serveur sorte aussi vers l'extérieur avec votre IP fixe (par exemple pour une liste blanche chez un fournisseur) ?
/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"
Tout le trafic Internet de LAN_HOST passe alors par votre IP fixe et bascule avec elle si le PoP 1 tombe. Les autres appareils de votre réseau ne remarquent rien.
6. IPv6
Votre sous-réseau IPv6 est routé vers les deux tunnels. Attribuez aux tunnels leur adresse de tunnel IPv6, placez un /64 sur votre bridge LAN (IPV6_LAN) et faites passer le trafic de votre sous-réseau par les tunnels, avec le même basculement :
/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"
Le pare-feu IPv6 par défaut n'autorise aucun trafic entrant vers votre LAN. Ouvrez, par appareil, ce que vous souhaitez rendre joignable, par exemple :
/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
Plusieurs adresses
Vous avez reçu un sous-réseau (FIXED_SUBNET) ? Vous pouvez alors l'utiliser de deux manières :
- Via votre routeur (toutes les adresses utilisables) : placez chaque adresse en
/32surlo-fixedipcomme à l'étape 2, et redirigez chaque adresse vers un autre appareil avec sa propre règle dst-nat, comme à l'étape 4. Ajoutez la règle de l'étape 3 pour l'ensemble du sous-réseau (src-address=FIXED_SUBNET). - Directement sur votre réseau : placez le sous-réseau sur un bridge ou un VLAN distinct, afin que vos appareils publics soient séparés de votre réseau domestique. La première adresse utilisable va au routeur ; les adresses de réseau et de broadcast sont perdues.
/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"
Avec la seconde méthode, vous n'avez pas besoin de NAT : les appareils utilisent directement leur adresse publique. Protégez-les avec vos propres règles forward.
Vérification
/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
Les deux peers doivent afficher un last-handshake récent, et dans la table fixedip, la route via le PoP 1 est active. Testez ensuite depuis l'extérieur, par exemple avec votre smartphone en données mobiles : https://FIXED_IP doit aboutir sur votre serveur.
Tester le basculement : désactivez un instant wg-fixedip-1 (/interface/wireguard/disable wg-fixedip-1). En moins d'une demi-minute, la route via le PoP 2 prend le relais et votre IP fixe reste joignable. Réactivez ensuite le tunnel.
Annulation
/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"]
Remettez ensuite FastTrack dans son état initial : /ip/firewall/filter/set [find action=fasttrack-connection] !connection-mark.
Des problèmes ?
- Pas de handshake : vérifiez
ENDPOINT_1/ENDPOINT_2,PORTet les clés. Autorisez le trafic UDP sortant versPORTsi vous avez un pare-feu supplémentaire devant votre routeur. - Les deux routes dans
fixedipinjoignables : le routeur ne reçoit aucune réponse à son ping versSERVER_TUNNEL_IP_1etSERVER_TUNNEL_IP_2. Vérifiez qu'il y a un handshake et que la partienetwork=des adresses de tunnel est correcte. - Handshake OK, mais les pages ne se chargent pas ou restent bloquées : abaissez le MTU à 1360 sur les deux tunnels. Sur la 4G/5G et certaines connexions fibre ou Starlink, 1420 est trop élevé.
- Rien n'est joignable depuis l'extérieur : vérifiez que la règle FastTrack comporte
connection-mark=no-market que la règle dst-nat compte des paquets (/ip/firewall/nat/print stats).
Vous n'y arrivez pas ? Écrivez-nous à info@fixedip.be
Prêt pour votre IP fixe ?
Commencez dès aujourd'hui et soyez joignable partout.