Как включить пересылку пакетов в 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. Установите IPEnableRouterи 1перезагрузите. Пересылка пакетов теперь должна быть включена.

Для добавления статических маршрутов используйте 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

Связанный контент