Ip forwarding что это
Перейти к содержимому

Ip forwarding что это

  • автор:

Ip forwarding что это

Маршрутизация транзитных IP-пакетов (не предназначенных для этого компьютера), или IP-форвардинг, является опциональной возможностью IP-стека Linux. По умолчанию функция форвардинга не активируется, и система не пересылает транзитные пакеты через свои интерфейсы, а только обрабатывает адресованные ей пакеты. Включение форвардинга IP-пакетов производится через параметр net.ipv4.ip_forward интерфейса sysctl . Если значение этого параметра равно 0, то форвардинг отключен, если же значение параметра не равно 0, форвардинг включен:

$ sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 0

Кроме того, возможно разрешать или запрещать участие в форвардинге для каждого интерфейса индивидуально:

$ sysctl -a | grep forward | grep v4 net.ipv4.conf.vmnet1.mc_forwarding = 0 net.ipv4.conf.vmnet1.forwarding = 0 net.ipv4.conf.eth0.mc_forwarding = 0 net.ipv4.conf.eth0.forwarding = 0 net.ipv4.conf.lo.mc_forwarding = 0 net.ipv4.conf.lo.forwarding = 0 net.ipv4.conf.default.mc_forwarding = 0 net.ipv4.conf.default.forwarding = 0 net.ipv4.conf.all.mc_forwarding = 0 net.ipv4.conf.all.forwarding = 0 net.ipv4.ip_forward = 0

По умолчанию форвардинг включается и выключается для всех интерфейсов одновременно, но для отдельных интерфейсов возможно сменить флаг участия в форвардинге. Изменять параметры форвардинга может только системный администратор или пользователь, который имеет право записи в необходимые файлы интерфейса sysctl . Следующий листинг демонстрирует включение форвардинга через все интерфейсы путем вызова программы sysctl :

# sysctl -w net.ipv4.ip_forward=1 net.ipv4.ip_forward = 1 # sysctl -a | grep forward | sort net.ipv4.conf.all.forwarding = 1 net.ipv4.conf.all.mc_forwarding = 0 net.ipv4.conf.default.forwarding = 1 net.ipv4.conf.default.mc_forwarding = 0 net.ipv4.conf.eth0.forwarding = 1 net.ipv4.conf.eth0.mc_forwarding = 0 net.ipv4.conf.lo.forwarding = 1 net.ipv4.conf.lo.mc_forwarding = 0 net.ipv4.conf.vmnet1.forwarding = 1 net.ipv4.conf.vmnet1.mc_forwarding = 0 net.ipv4.ip_forward = 1

В процессе маршрутизации для выбора интерфейса и следующего узла для доставки пакета (next hop) ядро использует таблицу маршрутизации. Эта таблица представляет список критериев, в соответствии с которыми выбирается следующий узел. В частности, в таблице маршрутизации фигурируют следующие условия: адрес сети получателя пакета, маска подсети получателя пакета, IP-адрес следующего узла, метрика маршрута и служебные поля (например, тип и возраст записи). Таблица маршрутизации используется не только в IP-форвардинге, но и даже при простой отсылке IP-пакета для выбора интерфейса, через который будет производиться отсылка пакета.

Запись о сети с адресом 0.0.0.0 и маской подсети 0.0.0.0 называют маршрутом по умолчанию, или default route. Узел, чей адрес указан в поле gateway для маршрута по умолчанию, называют маршрутизатором по умолчанию, или default gateway или default router. В системе может быть произвольное количество маршрутов по умолчанию, но они должны быть как минимум с разными метриками. Для просмотра таблицы маршрутизации можно воспользоваться командой route. Эта команда позволяет оперировать с таблицей маршрутов, добавляя и удаляя из нее записи.

# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.80.1.113 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo 0.0.0.0 10.80.1.113 0.0.0.0 UG 0 0 0 ppp0 # route del default # route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.80.1.113 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo # route add default dev ppp0

В данном выводе таблица упорядочена по маске подсети, что соответствует порядку ее просмотра ядром. Столбцы Destination и Genmask содержат адрес и маску сети получателя пакета, столбец Metric фактически указывает приоритет маршрута (маршрут с меньшей метрикой более приоритетен), поле Gateway указывает IP-адрес следующего узла для передачи пакета. Некоторые типы интерфейсов (в частности, интерфейсы типа точка-точка, или point-to-point) подразумевают, что на принимающем конце линии связи всегда находится не более одного узла, и поэтому в этой ситуации IP-адрес следующего узла можно не указывать. В данном случае мы видим, что в приведенном примере некоторые узлы доступны через интерфейс ppp0 типа точка-точка. В частности, именно из-за этого свойства приведенная выше таблица оказывается эквивалентна следующей ниже. Жирным шрифтом помечена измененная строка, демонстрирующая “точечную” природу PPP-соединения:

# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.80.1.113 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo 0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0

Специфика использования протокола PPP (обычно используемого при модемых соединениях) такова, что любой PPP-интерфейс является интерфейсом типа точка-точка, более того – PPP и расшифровывается как Point-to-Point Protocol. Также интерфейсами точка-точка являются интерфейсы SLIP (Serial Line IP) и практически все разновидности туннельных интерфейсов.

При деактивизации интерфейса из таблицы маршрутизации автоматически исключаются все маршруты, для которых в поле Iface был указан отключившийся интерфейс. Для некоторых типов интерфейсов при активизации в таблице маршрутизации также создаются служебные записи о маршрутах, которые нельзя удалить.

В большинстве случаев таблица маршрутизации имеет не слишком большой размер, но в некоторых ситуациях (в частности, на шлюзовых машинах в больших сетях) таблица может иметь весьма значительный размер и изменяется не “вручную” с помощью команды route, а специальными программами – демонами поддержки протоколов динамической маршрутизации. С некоторыми упрощениями алгоритм работы этих демонов можно описать следующим образом: демон “слушает” приходящие пакеты для обслуживаемых протоколов динамической маршрутизации, и по получении (или неполучении) такого пакета отдает ядру команду на изменение таблицы маршрутизации.

Следует также заметить, что команда route в режиме вывода таблицы маршрутизации фактически просто фильтрует и форматирует данные, содержащиеся в специальном файле, называемом /proc/net/route, используемом для доступа к таблице маршрутизации, ведущейся ядром.

В начало → Linux не для идиотов → Маршрутизация IP и форвардинг

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

Хотите превратить ваш компьютер в маршрутизатор или интернет-шлюз? Первым делом, вы должны включить пересылку IP-пакетов (IP Forwarding).

Если вы хотите превратить ваш компьютер в маршрутизатор или интернет-шлюз (а может быть даже и в VPN-сервер!), вам необходимо включить IP forwarding, который позволит перенаправлять IP-пакеты с одного сетевого интерфейса на другой.

По умолчанию, в большинстве дистрибутивов Linux, IP forwarding отключен.

Перед тем, как его включать, необходимо убедиться в его текущем состоянии — включен он или выключен?.

Откроем Терминал и выполним в командной строке следующую команду:

sudo cat /proc/sys/net/ipv4/ip_forward

Если результатом ее выполнения явилась цифра 1, появившаяся на экране, это означает, что IP forwarding у вас включен и вам ничего предпринимать не нужно.

Если на экране появилась цифра 0, то это означает, что IP forwarding отключен в вашей системе. Приступим к его включению.

Включение IP forwarding.

Для того, чтобы включить пересылку IP-пакетов (IP forwarding) необходимо перейти в режим суперпользователя root (выполнив в консоли команду sudo bash и введя верный пароль). Далее необходимо выполнить любую из представленных ниже команд:

sudo sysctl -w net.ipv4.ip_forward=1 или echo 1 > /proc/sys/net/ipv4/ip_forward

После выполнения одной из этих команд, IP forwarding в вашей системе будет включен и IP-пакеты будут пересылаться с одного сетевого интерфейса на другой.

Для того, чтобы после запуска системы, IP forwarding включался автоматически, откройте в своем любимом текстовом редакторе файл /etc/sysctl.conf, отыщите там строку, начинающуюся с net.ipv4.ip_forward и придайте ей вид:

Выйдите из редактора с сохранением файла, затем выполните в командной строке команду: sudo sysctl -p /etc/sysctl.conf (это позволит применить сделанные нами изменения без перезапуска системы).

Все! При включенном IP forwarding, IP-пакеты должны у вас активно «бегать», а пользователи радоваться появившемуся у них Интернету.

Остались вопросы?

Если у Вас что-то не получилось или остались вопросы по данной проблеме — обратитесь к автору и он Вам поможет.

Станьте одним из экспертов!

Мы будем рады видеть в своих рядах людей, которые могут поделиться своим опытом с другими!

Linux (любые дистрибутивы), MS Windows, Cisco, Python и многое другое.

Более чем 20-летний опыт в IT позволяет мне давать Вам мудрые советы.

Форвардинг

В операционной системе Linux пересылка трафика между интерфейсами включается командой:

echo 1 > /proc/sys/net/ipv4/ip_forward

Или при помощи команды sysctl:

sysctl net.ipv4.ip_forward=1

Чтобы настройка сохранилась после перезагрузки, необходимо указать в /etc/sysctl.conf строку:

net.ipv4.ip_forward = 1

[править] В FreeBSD

В операционной системе FreeBSD пересылка трафика между интерфейсами, как и в Linux, включается изменением значения переменной sysctl:

sysctl net.inet.ip.forwarding=1

Для того чтобы настройка сохранилась после перезагрузки, необходимо указать в /etc/rc.conf строку

gateway_enable="YES"

Сетевой уровень

Основные понятия
Сетевой интерфейс | IP | IP-адрес | Маска подсети | Широковещательный адрес | Маршрут | IPv6
Маршрутизация | Форвардинг | Таблица маршрутизации | Шлюз по умолчанию
Маршрутизация в Linux | Маршрутизация в FreeBSD | Маршрутизация в Cisco

Ip forwarding что это

Вопрос: Что такое Port Forwarding и как его настраивать на интернет-маршрутизаторах серии DIR-XXX Ответ:

Port Forwarding — это технология, которая позволяет обращаться из Интернет к компьютеру во внутренней сети за маршрутизатором, использующим NAT (NAPT). Доступ осуществляется при помощи перенаправления трафика определенных портов с внешнего адреса маршрутизатора на адрес выбранного компьютера в локальной сети.

Такое перенаправление нужно если вы, к примеру, используете пиринговые сети, или хотите развернуть на локальном компьютере сервер с доступом из Интернет. Также перенаправление иногда требуется для многопользовательских игр.

Подключаете устройство к компьютеру проводом, поставляющимся в комплекте. Открываете Internet Explorer и набираете в строке адреса 192.168.0.1 . Подключение по беспроводной связи к устройству или попытка открытия настроек через любой другой Интернет-браузер не всегда могут быть успешными.
Login: admin
Password: (оставьте поле пустым)
На вкладке ADVANCED, выбираете вкладку Port Forwarding.

Продукты и решения
О компании

  • Сервисное обслуживание
  • Предоставление оборудования на тест
  • Загрузки
  • Технический форум
  • F.A.Q
  • Эмуляторы
  • Обзоры
  • Семинары / Дистанционное обучение
  • Программы учебных курсов D-Link
  • Авторизованные учебные центры D-Link
  • Получение сертификата D‑Link
  • Плакаты

Где купить

  • Дистрибьюторы
  • Проектные партнеры
  • Авторизированные партнеры

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

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