Im Linux-System können wir den folgenden Befehl verwenden, um die Paketweiterleitung zu aktivieren:
~ # sysctl net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1
aber wie kann ich die gleiche Funktion in Windows realisieren?
Ich benutze Windows Server 2008 R2
.
Antwort1
Versuchen Sie, zum Registrierungsschlüssel zu gelangen HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
. Wenn dieser nicht bereits vorhanden ist, erstellen Sie einen neuen REG_DWORD
Wert mit dem Namen IPEnableRouter
. Stellen Sie ihn IPEnableRouter
auf ein 1
und starten Sie neu. Die Paketweiterleitung sollte jetzt aktiviert sein.
Verwenden Sie den Befehl, um statische Routen hinzuzufügen route
.
Antwort2
Wenn Sie die Weiterleitung für eine bestimmte Schnittstelle oder alle Schnittstellen aktivieren möchten, können Sie dies ganz einfach über PowerShell tun, ein Neustart ist nicht erforderlich. (HINWEIS: Führen Sie die Aktion unbedingt als Administrator aus, wenn Sie die Einstellung ändern möchten.)
Um den Status der Weiterleitung für alle Schnittstellen anzuzeigen, können Sie Folgendes ausführen:
Get-NetIPInterface | select ifIndex,InterfaceAlias,AddressFamily,ConnectionState,Forwarding | Sort-Object -Property IfIndex | Format-Table
Dadurch wird eine übersichtliche Tabelle mit allen Schnittstellen und ihrer aktuellen Weiterleitungskonfiguration bereitgestellt.
Wenn Sie die Weiterleitung anschließend auf einem dieser Server aktivieren möchten, können Sie Folgendes ausführen:
Set-NetIPInterface -ifindex <required interface index from table> -Forwarding Enabled
Wenn Sie es für alle Schnittstellen aktivieren möchten, führen Sie einfach Folgendes aus:
Set-NetIPInterface -Forwarding Enabled
Wenn Sie es dann wieder deaktivieren möchten, ersetzen Sie einfach „Aktiviert“ durch „Deaktiviert“.
Und denken Sie daran, zu aktivierenRouting- und RAS-Dienst(Standardmäßig deaktiviert) durch Ausführen von:
Set-Service RemoteAccess -StartupType Automatic; Start-Service RemoteAccess