Как включить/выключить IP Forwarding в Linux

  • 04.11.2016
  • 38 730
  • 0
  • 18.03.2019
  • 72
  • 69
  • 3
Как включить/выключить IP Forwarding в Linux

Почти во всех распространенных дистрибутивах IP Forwarding выключен по-умолчанию и это имеет смысл, так как далеко не каждый его использует. Но в том случае, если вы планируете поднять собственный маршрутизатор на ОС Linux, настроить VPN сервер и так далее, вам необходимо включить форвардинг пакетов (маршрутизацию транзитных IP-пакетов, т.е. тех пакетов, которые не предназначены именно для вашего компьютера) в вашей ОС. В данной мини-инструкции я расскажу как это можно сделать:

Проверяем включен или нет IP Forwarding в данный момент

Для проверки в каком состоянии в данный момент находится форвардинг пакетов (включен или выключен), мы должны сделать запрос к ядру через команду sysctl. Делается это так:

sysctl net.ipv4.ip_forward

В ответ мы получим текущий статус (1 - включен, 0 - выключен)

net.ipv4.ip_forward = 0

Временно включаем/отключаем IP Forwarding

Чтобы включить форвардинг пакетов "на лету" и не перезагружать систему, нам достаточно выполнить следующую команду:

sudo sysctl -w net.ipv4.ip_forward=1

Чтобы выключить форвардинг пакетов "на лету" и не перезагружать систему, нам достаточно выполнить следующую команду:

sudo sysctl -w net.ipv4.ip_forward=0
Но важно помнить, что после перезагрузки ОС - действие этих команд прекращается.

Постоянно включаем/отключаем IP Forwarding в системе

В том случае, если нам необходимо перманентно включить или отключить форвардинг пакетов в системе, нам необходимо внести правки в конфигурационный файл /etc/sysctl.conf

Для перманентного включения IP Forwarding, в конец данного файла добавляем следующую строчку:

net.ipv4.ip_forward = 1

Для перманентного отключения IP Forwarding, в конец данного файла добавляем следующую строчку:

net.ipv4.ip_forward = 0

...И сохраняем отредактированный файл.

Если в конфигурационном файле /etc/sysctl.conf уже есть настройка net.ipv4.ip_forward и она не закомментирована, то можно в ней выставить нужное значение и добавлять в конец файла эту настройку еще раз - нет необходимости

Далее, чтобы применить новую настройку, которую мы добавили, нам необходимо выполнить следующую команду:

sudo sysctl -p

Все, теперь в зависимости от значения в /etc/sysctl.conf, после перезагрузки ОС, форвардинг пакетов будет либо включен (net.ipv4.ip_forward = 1), либо выключен (net.ipv4.ip_forward = 0).

Была ли эта статья Вам полезна?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Напоминаем Вам, что Ваше сообщение будет опубликовано только после проверки администратором сайта. Обычно это занимает 1-2 рабочих дня.