Термин IP Forwarding описывает отправку сетевого пакета с одного сетевого интерфейса на другой на том же устройстве. Его следует включить, если вы хотите, чтобы ваша система работала как маршрутизатор, который передает IP-пакеты из одной сети в другую.
В системе Linux ядро Linux имеет переменную с именем ip_forward, которая сохраняет это значение. Доступ к нему можно получить из файла '/ proc / sys / net / ipv4 / ip_forward'. Значение по умолчанию - 0, что означает отсутствие переадресации IP, поскольку обычному пользователю, работающему на одном компьютере без дополнительных компонентов, это обычно не требуется. Напротив, для маршрутизаторов, шлюзов и серверов VPN это очень важная функция.
Далее мы объясним вам, как включить переадресацию IP временно и постоянно.
Переадресация IP как временное решение
Чтобы включить этот параметр ядра на лету, у вас есть два варианта. Вариант 1 просто сохраняет значение 1 в переменной сверху следующим образом:
# эхо 1> / proc / sys / net / ipv4 / ip_forwardВариант 2 использует команду 'sysctl', которая также позволяет настраивать различные параметры ядра во время выполнения [2]. От имени администратора выполните следующую команду:
# sysctl -w net.ipv4.ip_forward = 1Имейте в виду, что этот параметр меняется мгновенно. Также результат не сохранится после перезагрузки системы.
Вы можете запросить сохраненное значение следующим образом:
# кошка / proc / sys / net / ipv4 / ip_forwardЭта команда возвращает значение 0, если переадресация IP отключена, и значение 1, если переадресация IP включена. В качестве альтернативы использование sysctl также показывает текущий статус:
# sysctl net.ipv4.ip_forwardсеть.ipv4.ip_forward = 0
#
Включение переадресации IP на постоянной основе
Для этого необходимо сделать еще несколько шагов. Сначала отредактируйте файл '/ etc / sysctl.conf '. Найдите строку, содержащую запись «#net.ipv4.ip_forward = 1 ”и удалите # в начале строки.
Затем сохраните файл и запустите команду sysctl, чтобы активировать измененные настройки:
# sysctl -p / etc / sysctl.confПараметр '-p' является сокращением от '-load' и требует имени файла конфигурации, за которым следует следовать.
Затем перезапустите файловую систему proc, которая предоставляет информацию о состоянии ядра Linux, используя следующую команду:
# / etc / init.d / procps перезапускПримерно в 2015 году имя файла было сокращено с 'procps.sh 'в' procps '. Итак, в старых системах Debian скрипт, который вы должны вызвать, называется 'procps.ш ', вместо этого.
Работа с Systemd
Следующее препятствие возникло с выпуском Systemd версии 221. IP-переадресация отключена по умолчанию, и для ее включения требуется наличие дополнительного файла. Если его еще нет, просто добавьте его. Имя файла состоит из имени сетевого интерфейса, за которым следует суффикс '.сеть ', например' eth0.network 'для сетевого интерфейса' / dev / eth0 '. Как указано в документации [4], другие расширения игнорируются.
В следующем фрагменте кода показана настройка сетевого интерфейса / dev / tun0. Он состоит из двух разделов - «Матч» и «Сеть». В разделе Match укажите имя сетевого интерфейса, а в разделе сети включите IP Forwarding.
# кот / и т.д. / systemd / сеть / tun0.сеть[Матч]
Имя = tun0
[Сеть]
IPForward = ipv4
Заключение
Активация переадресации IP для IPv4 - не тайна. Всего несколько шагов, и ты там. Удачного взлома!
Ссылки и ссылки
* [1] Настройка Systemd-Networkd, Debian Wiki
* [2] Юрген Хаас: Изучите команду Linux sysctl
* [3] Systemd News для версии 221
* [4] Документация для Systemd