如何在 Windows 上啟用封包轉送?

如何在 Windows 上啟用封包轉送?

在Linux系統中,我們可以使用以下命令來啟用封包轉送:

~ # sysctl net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1

但是如何在Windows下實現同樣的功能呢?

我用Windows Server 2008 R2

答案1

嘗試轉到註冊表項HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters。如果尚不存在,請建立一個REG_DWORD名為 的新值IPEnableRouter。設定IPEnableRouter1並重新啟動。現在應該啟用資料包轉送。

若要新增靜態路由,請使用該route命令。

答案2

如果您想要為特定介面或所有介面啟用轉發,您可以透過 PowerShell 輕鬆完成,無需重新啟動。 (注意:如果要更改設置,請務必以管理員身份運行)

若要查看所有介面的轉送狀態,您可以執行下列命令:

Get-NetIPInterface | select ifIndex,InterfaceAlias,AddressFamily,ConnectionState,Forwarding | Sort-Object -Property IfIndex | Format-Table

這將提供一個很好的表格,顯示所有介面及其目前的轉送配置。

然後,如果您想在其中啟用轉發,您可以運行:

Set-NetIPInterface -ifindex <required interface index from table> -Forwarding Enabled

如果您想為所有介面啟用它,只需運行:

Set-NetIPInterface -Forwarding Enabled

然後,如果您想再次停用它,只需將“啟用”替換為“停用”即可。

並記住啟用路由和遠端存取服務(預設為停用)透過運行:

Set-Service RemoteAccess -StartupType Automatic; Start-Service RemoteAccess

相關內容