Показать записи исключения маршрутизации ядра (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 не указаны исключения маршрутизации, и маршрут по умолчанию говорит иначе – где хранится этот бит информации?

One Solution collect form web for “Показать записи исключения маршрутизации ядра (FIB)”

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

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

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

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

  • Используйте два сетевых адаптера для разных подсетей
  • Невозможно выполнить ssh через WiFi без подключения Ethernet
  • Ядро Linux IPv6 поиск маршрута - как он работает?
  • OpenWrt Force DNS
  • PPTP-сервер с псевдонимами NIC
  • Ящик NAT с несколькими внутренними и внешними интерфейсами
  • SSH jumphost без учетных записей пользователей на jumphost
  • Статические маршруты сохраняются после перезагрузки
  • NetworkManager изменяет политику маршрутизации по умолчанию
  • Переадресация портов с помощью iptables и PIA VPN для одного пользователя
  • Справка по подключению OpenVPN. Несколько туннелей
  • Linux и Unix - лучшая ОС в мире.