Een dynamisch IP-adres vernieuwen op MikroTik met RouterOS
De WAN DHCP-lease correct vrijgeven, wachten op herverbinding, het ontvangen adres controleren en de bewerking automatiseren zonder vernieuwing en anonimiteit te verwarren.
Een zogenaamd « dynamisch » IPv4-adres kan wekenlang hetzelfde blijven. Dit is niet noodzakelijk een storing : de DHCP-server van de provider herkent vaak dezelfde client en wijst hem de vorige lease opnieuw toe zolang deze beschikbaar blijft. RouterOS biedt echter de mogelijkheid om de WAN-lease vrij te geven en de DHCP-client te herstarten zonder de hele router te herstarten.
De bewerking is snel, maar veroorzaakt een korte internetonderbreking en garandeert nooit een ander adres. De uiteindelijke keuze behoort toe aan de server van de provider. Deze gids toont dus hoe u de procedure correct uitvoert, het resultaat controleert, deze voorzichtig automatiseert en vermijdt om er veiligheidsvoordelen aan toe te schrijven die het niet biedt.
Wat release en renew werkelijk doen
In de IPv4 DHCP-client van RouterOS hebben de twee commando's niet hetzelfde doel :
| Commando | Actie | Verwacht resultaat |
|---|---|---|
renew | Vraagt de vernieuwing van de huidige leases aan. Bij een mislukking probeert de client een reset. | Dezelfde lease wordt normaal behouden. |
release | Geeft de huidige lease vrij en herstart vervolgens de DHCP-client. | De router vraagt opnieuw een lease aan, identiek of verschillend afhankelijk van de provider. |
Om een nieuwe toewijzing aan te vragen, is release dus voldoende : RouterOS herstart zelf de client. Eerst renew uitvoeren en dan release, voegt een onnodige aanvraag toe en maakt de adreswijziging niet waarschijnlijker.
Controleren of de WAN effectief DHCP gebruikt
De procedure is enkel van toepassing op een IPv4 DHCP-client. Ze is niet geschikt voor een PPPoE-verbinding, een statisch adres geconfigureerd in /ip address, een LTE-modem dat de sessie zelf beheert of een router die achter een andere box staat.
/ip dhcp-client print detail
Zoek de invoer waarvan de interface overeenkomt met de WAN. In de volgende voorbeelden heet deze ether1. Pas deze naam systematisch aan uw configuratie aan : het kan gaan om wan, vlan-internet of een andere Ethernet-interface.
Voordat u verdergaat, moet de invoer actief zijn en status=bound weergeven. Noteer ook de waarden address, gateway en expires-after.
/ip dhcp-client print detail where interface=ether1
Een handmatige test uitvoeren
Activeer de Safe Mode met Ctrl+X in de terminal, en start dan de vrijgave op de geïdentificeerde client. De filter op de interface vermijdt dat u afhankelijk bent van het volgnummer dat in de lijst wordt weergegeven.
/ip dhcp-client release [find where interface=ether1 and disabled=no]
De status gaat kort door searching of requesting, en moet dan terugkeren naar bound. Afhankelijk van het modem en de provider kan de onderbreking enkele seconden of langer duren.
/ip dhcp-client print detail where interface=ether1
/ip route print where dst-address="0.0.0.0/0"
Vergelijk de nieuwe waarde address met de waarde die u vóór de bewerking heeft genoteerd. Als deze identiek is, heeft het commando waarschijnlijk gewerkt : de DHCP-server heeft gewoon gekozen om dezelfde lease terug te geven.
release herstart de DHCP-client. Een nieuw adres blijft een mogelijkheid, nooit een garantie.Een gecontroleerd RouterOS-script aanmaken
Een betrouwbare automatisering moet meer doen dan een commando verzenden. Ze controleert het bestaan van de client, weigert te werken als de lease niet actief is, onthoudt het oude adres, wacht op de terugkeer naar de status bound met een maximale vertraging en logt het resultaat.
In System → Scripts maakt u een script aan met de naam refresh-wan-dhcp met het beleid read, write en test, en plakt u vervolgens de volgende inhoud :
:local wanInterface "ether1"
:local wanClient [/ip dhcp-client find where interface=$wanInterface and disabled=no]
:if ([:len $wanClient] = 0) do={
:error ("Geen actieve DHCP-client op " . $wanInterface)
}
:local oldStatus [/ip dhcp-client get $wanClient status]
:if ($oldStatus != "bound") do={
:error ("Client DHCP non lie, statut: " . $oldStatus)
}
:local oldAddress [/ip dhcp-client get $wanClient address]
:log info ("DHCP WAN: vrijgeven van " . $oldAddress)
/ip dhcp-client release $wanClient
:local secondsLeft 60
:while (([/ip dhcp-client get $wanClient status] != "bound") && ($secondsLeft > 0)) do={
:delay 1s
:set secondsLeft ($secondsLeft - 1)
}
:if ($secondsLeft = 0) do={
:log warning "DHCP WAN: geen lease na 60 seconden"
:error "Expiration de l'attente DHCP"
}
:local newAddress [/ip dhcp-client get $wanClient address]
:if ($newAddress = $oldAddress) do={
:log info ("DHCP WAN: lease vernieuwd, adres ongewijzigd " . $newAddress)
} else={
:log info ("DHCP WAN: nieuw adres " . $newAddress)
}
De tekst van de logs is opzettelijk zonder accenten geschreven om verrassingen te vermijden bij kopiëren en plakken tussen terminals. Vervang ether1 slechts één keer aan het begin van het script.
Testen voordat u plant
Voer het script eerst handmatig uit en bekijk de log. Maak geen enkele planning zolang de herverbinding niet is gevalideerd vanuit het LAN.
/system script run refresh-wan-dhcp
/log print where message~"DHCP WAN"
/ip dhcp-client print detail where interface=ether1
Controleer daarna de DNS-resolutie, de internettoegang, de VPN-tunnels en de gepubliceerde diensten. Een nieuw IP maakt bestaande TCP-verbindingen onbruikbaar ; ze moeten opnieuw worden opgezet.
De uitvoering plannen met Scheduler
Als een periodieke vernieuwing voldoet aan een echte behoefte, kies dan een onderhoudsvenster. Het volgende voorbeeld voert het script elke dag uit om 04:30. Het wordt gegeven om de syntaxis te tonen, niet als een universele frequentie.
/system scheduler add \
name=refresh-wan-dhcp-daily \
start-time=04:30:00 interval=1d \
on-event="/system script run refresh-wan-dhcp" \
policy=read,write,test \
comment="Onderhoud DHCP WAN-lease"
De planner heeft hetzelfde beleid als het script en roept het expliciet aan. Controleer na de eerste deadline de velden last-started en run-count, evenals de logberichten.
/system scheduler print detail where name=refresh-wan-dhcp-daily
/system script print detail where name=refresh-wan-dhcp
Een dagelijkse uitvoering is vaak overdreven. Ze vermenigvuldigt de onderbrekingen, kan antifraudebeschermingen activeren, autorisatielijsten ongeldig maken en de loganalyse bemoeilijken. Een handmatige actie of wekelijks onderhoud is over het algemeen voldoende.
De dynamische DNS bijwerken
Als diensten van buitenaf toegankelijk blijven, moet hun DNS-naam het openbare adres volgen. De IP/Cloud-dienst van RouterOS controleert periodiek de wijziging en werkt zijn DDNS-record bij. Om dit bewust te activeren :
/ip cloud set ddns-enabled=yes
/ip cloud force-update
/ip cloud print
Het veld dns-name geeft de toegewezen naam aan en status=updated bevestigt de update. De TTL van de dienst is kort, maar reeds geopende verbindingen migreren niet naar het nieuwe adres.
Activeer IP/Cloud niet als u deze dienst niet wenst te gebruiken. Een externe DDNS-provider kan worden bijgewerkt door zijn eigen client. Plaats nooit een API-geheim rechtstreeks in een artikel, een publieke export of een log.
Waarom een ander IP geen schild voor de privacy is
Van adres veranderen kan een tijdelijke blokkering die uitsluitend op het IP is gebaseerd onderbreken, of de continuïteit van een zeer oppervlakkige observatie verminderen. Dit maakt het surfen niet anoniem en beveiligt op zichzelf geen netwerk.
- de verbonden accounts, cookies en applicatie-identificaties blijven dezelfde ;
- de browser en het apparaat behouden tal van fingerprinting-elementen ;
- het IPv6-adres kan stabiel blijven terwijl de IPv4 verandert ;
- de provider behoudt zijn eigen zichtbaarheid op de verbinding ;
- een blootgestelde dienst blijft kwetsbaar als er patches of een correcte firewall ontbreken.
Om de veiligheid daadwerkelijk te versterken, werkt u RouterOS bij, beperkt u het beheer tot het LAN of een VPN, schakelt u onnodige diensten uit en controleert u de regels input. Voor de privacy kiest u tools die zijn aangepast aan het dreigingsmodel in plaats van te rekenen op de rotatie van een DHCP-lease.
Waarom het adres niet verandert
- De server behoudt de oude lease : dit is het meest voorkomende gedrag en er is niets te corrigeren op de router.
- De router staat achter een modem : de openbare lease behoort toe aan het modem, terwijl de MikroTik slechts een privéadres ontvangt.
- De toegang gebruikt PPPoE : er bestaat geen relevante invoer in
/ip dhcp-client. - De client is duurzaam geïdentificeerd : de provider kan dezelfde lease opnieuw toewijzen volgens zijn beleid en de status van zijn pool.
- De lijn gebruikt een CGNAT : het openbare adres wordt gedeeld en upstream beheerd.
- De standaardroute keert niet terug : controleer
add-default-route, de status van de link, de VLAN van de provider en de DHCP-logs.
Het MAC-adres of de Client ID wijzigen met als enig doel om een andere lease te verkrijgen, is geen neutrale oplossing : dit kan de voorwaarden van de toegang schenden, een beperking activeren of de authenticatie verhinderen. Vraag liever een optie voor dynamisch, statisch of openbaar IP die bij de provider past.
De automatisering uitschakelen
Om de taak op te schorten zonder deze te verwijderen, schakelt u enkel de Scheduler-invoer uit. De DHCP-client zal zijn lease normaal blijven vernieuwen volgens de time-outs van het protocol.
/system scheduler disable [find where name=refresh-wan-dhcp-daily]
Na een observatieperiode verwijdert u de taak en vervolgens het script als u ze niet meer gebruikt.
/system scheduler remove [find where name=refresh-wan-dhcp-daily]
/system script remove [find where name=refresh-wan-dhcp]
Conclusie
Op een WAN die effectief als DHCP is geconfigureerd, bestaat de juiste methode erin de client te identificeren, het adres te onthouden, release uit te voeren, te wachten op de terugkeer naar bound en de ontvangen lease te vergelijken. Het gepresenteerde script voegt de controles en de maximale vertraging toe die nodig zijn zodat deze bewerking observeerbaar en voorspelbaar is.
Het essentiële punt blijft buiten de MikroTik : de DHCP-server beslist over het adres. Een automatisering kan een nieuwe lease aanvragen, maar geen nieuwe publieke identiteit opleggen. Ze moet dus een specifieke operationele behoefte dienen, worden gepland tijdens een aanvaardbaar venster en vergezeld blijven van een betrouwbare DDNS wanneer diensten afhankelijk zijn van het adres.
Discussie
Reacties
Nog geen reacties. U kunt de discussie openen met een vraag of uw eigen ervaring.