ICMP redirect: как протестировать его с помощью icmpush

Я хочу увидеть, как изменяется таблица маршрутизации в системе Linux при получении перенаправления ICMP.
Для этого я использую

icmpush -v red -sp current-gateway -gw new-gateway -dest google.com -c host -prot tcp my-eth1-ip-address

(который возвращает успех), но результат

route -n 

остается неизменным.
Конечно, я проверил вывод

cat /proc/sys/net/ipv4/conf/eth1/accept_redirects

это 1.
Это Ubuntu 12 машина, с последней стабильной версии ядра, не установлен брандмауэр.

Итак, вопрос: что может пойти не так?

20
задан user192828
30.04.2023 13:05 Количество просмотров материала 2684
Распечатать страницу

2 ответа

по данным документация / networking / ip-sysctl.txt, по умолчанию редиректы принимаются только для тех шлюзов, которые уже перечислены в таблице маршрутизации.

secure_redirects - BOOLEAN
    Accept ICMP redirect messages only for gateways,
    listed in default gateway list.
    secure_redirects for the interface will be enabled if at least one of
    conf/{all,interface}/secure_redirects is set to TRUE,
    it will be disabled otherwise
    default TRUE
1
отвечен grawity 2023-05-01 20:53

предположение: вызов icmpush не использует внешний интерфейс eth1, а точнее localhost one lo Так что ядро не распознает, что это корректное перенаправление от шлюза. Кроме того, в очень старых версиях ядра Linux эти маршруты не отображаются в ответе route -n. Как я уже отметил, ответ route -nC может быть правильный способ включить также временный маршрут перенаправления.

@grawity, о принятии редиректов, которые были отправлено в ответ на другой пакет: вы где-то это читали? потому что меня бы это очень заинтересовало.

0
отвечен user192908 2023-05-01 23:10

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх