Intereting Posts
Включая Linux Mint при продаже оборудования? Почему разрешение отклонено для запуска npm с использованием node-dev? Настройка глобальных разрешений для просмотра для подкаталогов (rx), но делает файлы недоступными для всех, кроме владельцев и членов группы Необходимо понимать cpio -d и -make-каталоги, пожалуйста, помогите с примером Как изменить рабочий каталог для сценария оболочки Solaris 11_3 Установка на LDom через «telnet localhost 5000» Держите экран GNU на устройстве Как иметь более длинные привязки клавиш для stty Как установить алгоритм пароля по умолчанию для sha512 на Linux? Изменен драйвер Nvidia xorg – теперь у меня меньше датчиков температуры? Возможно ли узнать, кто посетил мой домашний каталог? Найти файлы дубликатов файлов и заглавные буквы rm Как узнать значение параметров DHCP на debian / ubuntu и другом Linux Давать / var / www файлы доступа к www-данным и моему пользователю? Как работают службы в Debian и как я могу ими управлять?

Показать записи исключения маршрутизации ядра (FIB)

Linux 3.6 удалил кеш маршрутизации ipv4 ( commit ).
Список изменений :

Удалите кеш маршрутизации ipv4. Теперь поисковые запросы идут непосредственно в FIB trie и используют предварительно построенные маршруты, кэшированные там.

Согласно этому вопросу записи кэша маршрутизации теперь хранятся в структуре «исключение маршрутизации», которая является частью записи маршрутизации.

На моем стандартном ядре дистрибутива 3.16 (Debian Jessie) я не вижу никаких исключений, а ip route show cache ничего не возвращает. Таблица маршрутизации имеет только маршрут по умолчанию:

~ # ip route show
по умолчанию через 10.11.2.30 dev eth0
10.11.0.0/16 dev eth0 proto kernel scope link src 10.11.1.76

Q1: Как я могу перечислить все эти исключения маршрутизации, которые известны ядру?
Q2: Как я могу выборочно удалить такое исключение?
Q3: Почему ядро ​​не выбирает правильный шлюз по умолчанию при попытке выполнить ping для определенного хоста:

ping 10.30.104.23
PING 10.30.104.23 (10.30.104.23) 56 (84) байт данных.
От 10.11.1.11 icmp_seq = 1 Целевой протокол недоступен

Дополнение к Q3: Я подозреваю, что этот (теперь устаревший) маршрут, вероятно, был сохранен (где-то) из-за перенаправления ICMP. Но если в ip route show cache не указаны исключения маршрутизации, и маршрут по умолчанию говорит иначе – где хранится этот бит информации?

Хорошо, после долгих рытью я думаю, что у меня есть ответы:

A1: Начиная с версии 3.6, больше невозможно перечислить весь кеш маршрутизации. Вы можете увидеть кеш маршрутизации для определенных IP-адресов, используя ip route get to ABCD но не можете перечислить все из них.

A2: ip route flush cache to ABCD удаляет одну запись из кеша маршрута.

A3: Argh, мог бы знать следующее: поскольку он сначала консультируется с кешем маршрутизации aka FIB (транспортная база пересылки), после чего он просматривает таблицу маршрутизации.
См. Этот PDF-файл для подробной диаграммы.