Сбой добавления маршрута по умолчанию в той же подсети
Я использую Fedora 22 (Kernel 4.0.4) и пытаюсь добавить маршрут по умолчанию для пользовательской таблицы маршрутизации SERVINT, используемой vlan30 на интерфейсе Ethernet, enp3s0.
VLAN имеет два связанных IP-адреса:
192.168.129.66 и 192.168.129.67, / 29 подсеть.
Интерфейс vlan в разведке маршрутизации (межсетевой экран ZyXel 110):
192.168.129.65 (в той же подсети, что и адреса NIC)
После перезагрузки сервера я очищаю все маршруты и правила, используя:
ip route flush cache
IP-маршрут очистить все
флеш правила ip
Все правила и маршруты удалены.
Затем я добавляю маршрут:
ip route add 192.168.129.64/29 dev vlan30 Прото статическая область видимости глобальный src 192.168.129.67 таблица SERVINT
Пока все хорошо. Когда я иду, чтобы добавить маршрут по умолчанию к 192.168.129.65, я получаю "ответы RTNETLINK: сеть недоступна", но маршрут по умолчанию находится в подсети маршрута, определенного ранее.
Единственный способ получить маршрут по умолчанию, который будет принят, - это определить его как IP-адрес на сетевой карте, тогда, конечно, он не будет взаимодействовать с интеллектом маршрутизации для дальнейшей маршрутизации.... так что это тоже сбой,
У кого-нибудь есть идеи относительно того, что может быть не так?
ТЕСТ ОБНОВЛЕНИЕ_25062015
Если я сделаю вышеупомянутое с VLAN, маршрутизируемым в "основной" таблице (таблица № 254), все будет работать правильно, но когда это будет сделано в пользовательской таблице (таблица № 200), ошибка будет последовательной, как описано выше.
Конфигурация KERNEL имеет CONFIG_IP_MULTIPLE_TABLES=y, поэтому необходимо включить несколько таблиц и функции маршрутизации политики. Пользовательская таблица определена в файле /etc/iproute2/rt_tables.
Есть ли что-нибудь еще, что остановит использование пользовательских таблиц маршрутизации?
Ура, GM
1 ответ
Наконец-то я нашел причину этой конкретной проблемы - в стандартной установке Fedora 22 Server НЕ устанавливаются некоторые необходимые файлы для поддержки таблиц с несколькими маршрутами.
Пакеты с отсутствующими файлами: "kernel-headers", "kernel-devel" и "libnl3-devel". Без этих пакетов модуль fib_rules не будет работать.