Ein NAT Gate­way mit der PowerS­hell

Im letz­ten Blog­ein­trag haben wir uns ange­se­hen, man den route Befehl aus der CMD Shell mit der PowerS­hell ablö­sen kann, um Netz­werk Rou­ting Tabel­len aus­zu­le­sen oder hin­zu­zu­fü­gen.

In die­sem Blog­ein­trag schauen wir uns an, wie man unter Win­dows 10 ein NAT Gate­way mit der PowerS­hell erstel­len kann.

NAT ist die Kurz­form von Network Address Trans­la­tion und dient dem Umschrei­ben der IP Adresse in IP Pake­ten. Mit dem Win­dows NAT (genauer ein Source NAT) wird die Adresse des ver­bin­dungs­auf­bau­en­den Com­pu­ters umge­schrie­ben.

Dadurch ist es mit Win­dows 10 und Hyper-​​V mög­lich, dass alle vir­tu­elle Maschi­nen über das gerade aktive Cli­ent Netz­werk­in­ter­face das Inter­net errei­chen. Dies ist eine deut­li­che Erleich­te­rung, wenn man unter Hyper-​​V eine vir­tu­elle Test­um­ge­bung mit einem eige­nen Netz­werk­s­eg­ment ein­rich­ten möchte. Jede vir­tu­elle Instanz erreicht das Inter­net (der Win­dows 10 Cli­ent mit Hyper-​​V schreibt die IP Adresse auf seine eigene um = NAT) und kann so z.B. Micro­soft Updates her­un­ter­la­den oder eine Hybrid­stel­lung zu Office 365 eta­blie­ren.

Mit pas­sen­den Fritz­Box Port­wei­ter­lei­tun­gen konnte ich dadurch auf mei­nem Note­book eine funk­ti­ons­tüch­tige Exch­ange Hybrid Test­um­ge­bung ein­rich­ten.

Für die „mich inter­es­sie­ren nur die nack­ten PowerS­hell Befehle“ zuerst alle Befehle in Kurz­form – wer es genauer ver­ste­hen will, kann dann den rest­li­chen Arti­kel lesen.

Alles noch ein­mal detail­liert:

Zuerst sucht man sich ein freies, pri­va­tes Netz­werk­s­eg­ment für die VMs aus. Da Rou­ter gerne die 192.168.0.0/24 bzw. 192.168.178.0/24 nut­zen habe ich mich für das Seg­ment 192.168.222.0/24 ent­schie­den. Als Gate­way für die VMs nehme ich die 192.168.222.254.

Danach legt man einen neuen, inter­nen vir­tu­el­len Hyper-​​V Switch mit pas­sen­den Namen an. Ich nenne mei­nen TestLab_​222

New-​​VMSwitch –Switch­Name Testlab_​222 –Switch­Type Inter­nal

Um schon beste­hende VMs auf die­sen Switch umzu­stel­len, nutze ich fol­gen­den PowerS­hell Befehl:

Get-​​VM | Get-​​VMNetworkAdapter | Connect-​​VMNetworkAdapter –Switch­Name „Testlab_​222

Die ein­zel­nen VMs benö­ti­gen jetzt jeweils eine freie Adresse auf dem 192.188.222.0/24 Bereich. Als Name­ser­ver nutzte ich die IPs von den Test­lab Domain Con­trol­lern. Als Gate­way wird die 192.168.222.254 ein­ge­tra­gen.

Mit der PowerS­hell kann man schnell über­prü­fen, ob alles rich­tig kon­fi­gu­riert ist:

Get-​​VM | Where {$_.state –eq „Run­ning“} | Get-​​VMNetworkAdapter | FT VMName,SwitchName,IPAddresses –a

Als nächs­tes bekommt die vir­tu­elle Netz­werk­karte von mei­nem Switch TestLab_​222 die Gate­way Adresse 192.168.222.254.

Dafür muss ich die Inter­face Num­mer her­aus­fin­den:

Get-​​NetAdapter | where {$_.name –like „*Testlab_​222*“}

O.K. das Inter­face hat den Index 41.

Jetzt füge ich die­sem Inter­face die Gate­wa­yAdresse 192.168.222.254 hinzu.

New-​​NetIPAddress –IPAd­dress 192.168.222.254 –Pre­fix­Length 24 –Inter­face­In­dex 41

Als letz­tes wird das NAT auf dem Cli­ent ein­ge­rich­tet, damit die Daten­pa­kete, die die vir­tu­el­len Instan­zen aus dem 192.168.220.0/24 Netz an das Gate­way schi­cken, auf die Client-​​IP umge­schrie­ben und dann wei­ter­ge­lei­tet wer­den.

New-​​NetNat –Name Net­Nat –Inter­na­lI­PIn­ter­faceAd­dressPre­fix 192.168.222.0/24

Als Test öffne ich auf einer VM eine externe Web­seite:

Eh voilà – es funk­tio­niert wie es soll …

Im nächs­ten Blog­ein­trag beschäf­ti­gen wir uns damit, wie man anstatt mit dem CMD Befehl more bzw. den bash Befehl less sich Text­da­teien oder die Hilfe sei­ten­weise anzei­gen lässt.

Was den­ken Sie?