killtec
Goto Top

DHCP Reservierung per Powershell ändern

Hallo,
ich habe einen Win2016 Server mit DHCP laufen.
Ich möchte für 3 DHCP Reservierungen gerne die Option 3 (Router) zeitgesteuert ändern und wollte das per Powershell automatisch erledigen.
Ich habe schon die Funktion gefunden.
Set-DhcpServerv4Reservation
finde aber nicht das passende damit in der Doku.
Ich könnte mir auch denken, dass man die Reservierung auch erst löscht und dann neu anlegt.

Gruß

Content-Key: 1336366348

Url: https://administrator.de/contentid/1336366348

Printed on: April 19, 2024 at 12:04 o'clock

Member: cykes
cykes Oct 02, 2021 updated at 15:08:20 (UTC)
Goto Top
Moin,

schau doch mal in die Doku sämtlicher Set-DhcpServerv4... Kommandos: https://docs.microsoft.com/en-us/powershell/module/dhcpserver/?view=wind ...

Mit
Set-DhcpServerv4OptionValue
dürfte Dir schon geholfen sein.
Das ändert das allerdings global. Ich kann mir nicht vorstellen, dass man für einzelne Reservierungen die Options ändern kann. Das gilt für den kompletten DHCP-Server.

Darf man noch den Hintergrund der Frage erfahren, mir will so gar kein Anwendungsfall einfallen face-wink

Gruß

cykes
Mitglied: 149569
149569 Oct 02, 2021 updated at 15:45:00 (UTC)
Goto Top
Zitat von @cykes:


Das ändert das allerdings global. Ich kann mir nicht vorstellen, dass man für einzelne Reservierungen die Options ändern kann.
Jepp, das geht über die Reservierungen nicht.
Darf man noch den Hintergrund der Frage erfahren, mir will so gar kein Anwendungsfall einfallen face-wink
Ich schätze mal sowas wie PolicyRouting.
Sowas fackelt man dann aber in der Regel über den selben Router mittels PolicyRouting ab indem man mit Routing-Tags bzw. MangleRules im Router selbst das Routing ändert so das die Pakete der jeweiligen Client's dann über das andere GW fließen.
Sowas bietet inzwischen jeder halbwegs vernünftige Router auch zeitgesteuert an. pFSense, Mikrotik, Cisco, ... die können das alle schon per Default.
Member: MirkoKR
MirkoKR Oct 02, 2021 updated at 17:40:55 (UTC)
Goto Top
Das ändert das allerdings global. Ich kann mir nicht vorstellen, dass man für einzelne Reservierungen die Options ändern kann. Das gilt für den kompletten DHCP-Server.


Hmm, mein Gedankengang gerade dazu ... - dann könnte man unterschiedliche Bereichsoptionen für eine Gruppe Clients doch sicher mit dem Unterteilen des Gesamtbereiches in unterschiedliche Teilbereiche erreichen .. ?
Member: MirkoKR
MirkoKR Oct 02, 2021 updated at 17:46:47 (UTC)
Goto Top
Ich möchte für 3 DHCP Reservierungen gerne die Option 3 (Router) zeitgesteuert ändern und wollte das per Powershell automatisch erledigen. <

... Was ja auch beim Client, der gerade online ist, getriggert werden muss, sich den neuen Wert abzuholen...

Da ist die Router-Lösung sicherer und besser, schätze ich...
Member: killtec
killtec Oct 03, 2021 at 06:40:16 (UTC)
Goto Top
HI,
also in der Reservierung kann man zumindest in der GUI auch einzelne Optionen angeben.
Werde mir die Dokus mal durchschauen ob man da was bauen kann.
Hintergrund ist einfach nur, dass bestimmte Geräte zu einer bestimmten Zeit nicht über das normale Gateway gehen sollen. Mir ist klar das das nicht während der Laufzeit geht.

Gruß
Mitglied: 149569
149569 Oct 03, 2021 updated at 08:17:02 (UTC)
Goto Top
Das ist der falsche Weg.
Hintergrund ist einfach nur, dass bestimmte Geräte zu einer bestimmten Zeit nicht über das normale Gateway gehen sollen. Mir ist klar das das nicht während der Laufzeit geht.
Genau sowas regelt man eben in der Regel mittels Policy-Routing auf dem existierenden Gateway, indem man dort per Routing-Tag die Pakete der gewünschten Clients auf das zweite Gateway umleitet und das geht auch zeitgesteuert wenn man will und das wirkt eben sofort und nicht erst wenn der Client meint sich mal dazu zu bemühen.

Welchen primären Router setzt ihr ein? Dann könnte man ja dazu eine bessere Lösung für dein Problem geben.

Wenn du warum auch immer dabei bleiben willst nimm halt NETSH zum Ändern der Optionen für eine bestimmte Reservierung

Dieses Beispiel ändert im Scope 192.168.50.0 für die Reservierte IP 192.168.50.102 die Option Router(003) auf 192.168.50.2:
netsh dhcp server v4 scope 192.168.50.0 set reservedoptionvalue 192.168.50.102 003 IPADDRESS 192.168.50.2

Schönen Sonntag/Feiertag
Member: colinardo
Solution colinardo Oct 03, 2021 updated at 08:54:52 (UTC)
Goto Top
Servus @killtec ,
ich würde auch bevorzugt den Policy-Routing Weg gehen den @149569 schon angesprochen hat, das ist damit in der Regel schmerzloser und zuverlässiger.

Um einen Mikrotik-Router mal als Beispiel zu nehmen sieht das im einfachsten Fall für einen Client 192.168.50.102 so aus um dessen Traffic von Samstag 00:00 Uhr bis Sonntag 00:00 Uhr über das Gateway 192.168.50.2 umzuleiten.
/ip route add gateway=192.168.50.2 routing-mark=GW2
/ip firewall mangle add chain=prerouting action=mark-routing new-routing-mark=GW2 passthrough=yes src-address=192.168.50.102 time=0s-1d,sun,sat
Das richtet man einmalig ein und braucht dann auch keinen Task der regelmäßig laufen müsste.

Um aber trotzdem noch eine Antwort auf die eigentliche Frage des Threads zu geben:

Zitat von @cykes:
Mit
Set-DhcpServerv4OptionValue
dürfte Dir schon geholfen sein.
Das ändert das allerdings global. Ich kann mir nicht vorstellen, dass man für einzelne Reservierungen die Options ändern kann. Das gilt für den kompletten DHCP-Server.
@cykes : Doch das Ändern von Optionen ist auch für Reservierungen einzeln möglich man muss nur den Parameter -ReservedIP dazu nutzen anstatt eine ScopeID anzugeben.

Das Ändern der Optionen für eine bestimmte Reservierung via Powershell geht dann so
Set-DhcpServerv4OptionValue -ReservedIP 192.168.50.102 -Router 192.168.50.2
Um eine bestimmte Option (in dem Fall die Option 003 (Router)) wieder zu löschen bemüht man dann
Remove-DhcpServerv4OptionValue -ReservedIP 192.168.50.102 -OptionId 3
Die andere Variante via netsh hat @149569 ja oben auch schon gepostet, ich führe sie hier nur nochmal als Referenz zusammen mit der Powershell Variante auf
netsh dhcp server v4 scope 192.168.50.0 set reservedoptionvalue 192.168.50.102 003 IPADDRESS 192.168.50.2

Grüße Uwe
Member: killtec
killtec Oct 04, 2021 at 11:44:28 (UTC)
Goto Top
Hi @colinardo,
das ist genau das was ich gesucht habe face-smile Besten dank.

Die Variante per Router wäre eine endian Community Firewall (ist nen Linux im Unterbau).
Für meinen Zweck reicht das auf dem Server erstmal voll und ganz aus.

Danke.
Member: colinardo
colinardo Oct 04, 2021 updated at 12:20:25 (UTC)
Goto Top
Immer gerne.
Zitat von @killtec:
Die Variante per Router wäre eine endian Community Firewall (ist nen Linux im Unterbau).
Damit ist das auch problemlos machbar:
https://help.endian.com/hc/en-us/articles/218144228-Policy-Routes-Basic- ...
Der alternative Uplink ist dann halt nur dein anderes Gateway.