如何在 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

然后,如果您想再次禁用它,只需将“Enabled”替换为“Disabled”即可。

记得启用路由和远程访问服务(默认情况下是禁用的)通过运行:

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

相关内容