4

Я встретил эти две строки в скрипте:

echo "1" > /proc/sys/net/ipv4/ip_forward/
echo "0" > /proc/sys/net/ipv4/conf/eth0/send_redirects

Первая строка включает переадресацию ip, что заставляет мою машину работать как маршрутизатор.

Я хотел бы точно понять, что делает вторая строка. Он отключает send_redirects на интерфейсе eth0 но что это значит? Что такое send_redirect в этом контексте?

2 ответа2

4

Перенаправления происходят, когда у вас есть несколько маршрутизаторов в одной локальной сети. Например, у нас есть сеть с одним хостом и двумя маршрутизаторами. Хост может отправить пакет на маршрутизатор A, а маршрутизатору A может понадобиться отправить этот пакет через ту же локальную сеть на маршрутизатор B, потому что это указано в таблице маршрутизации. Маршрутизатор A может затем отправить сообщение перенаправления на хост, чтобы проинформировать его о том, что было бы более эффективно, если бы он отправил пакет для этого конкретного пункта назначения непосредственно на маршрутизатор B.

Когда вы отключите send_redirect ваш маршрутизатор не будет отправлять такие сообщения о перенаправлении.

3

«ip_forward» - включить пересылку пакетов для IPv4.

Функция «Отправить перенаправления» активна, только если узел действует как маршрутизатор. То есть хост не должен отправлять сообщение ICMP Redirect. Он используется маршрутизаторами для уведомления хоста о лучшем пути маршрутизации, доступном для определенного пункта назначения. После этого хост обновляет запись кэша маршрутов и пересылает последующие пакеты непосредственно по оптимальному пути / маршруту, предложенному через сообщение перенаправления ICMP.

Однако этот механизм обновления информации о маршрутизации является рискованным и представляет собой проблему для сообщества безопасности, поскольку перенаправления ICMP могут быть подделаны / подделаны вредоносным программным обеспечением / злоумышленником для перенаправления на желаемый путь.

Обратитесь к RFC 1122(раздел 3.3.1 и добавление A) для получения более подробной информации и предложений, таких как «Сообщение о перенаправлении ДОЛЖНО быть отброшено без предупреждения, если указанный адрес нового шлюза не находится в той же подключенной (подсетевой) сети, через которую осуществляется перенаправление. прибыл или если источник Redirect не является текущим шлюзом первого перехода для указанного пункта назначения '

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .