Iif и iifname nftables: переименование и пересоздание интерфейса дают разные результаты
Фотография конкретного исполнения не приложена.
Для VPN и виртуальных сетей интерфейсы могут исчезать и появляться заново. В правиле нужно выбрать, что именно должно оставаться привязкой: существующий объект интерфейса либо его имя. В nftables это разные способы сопоставления с разным жизненным циклом.
Iif и oif используют индекс интерфейса. Даже если при добавлении указано имя, объект должен существовать, а внутри применяется индекс. По справочнику такое правило продолжит совпадать после переименования того же интерфейса. Это не текстовая проверка актуальной строки имени при каждом пакете.
Iifname и oifname сравнивают имя. Его можно указать до появления интерфейса; правило перестанет совпадать при переименовании и сможет снова совпасть с новым объектом того же имени после пересоздания. Удобство для динамического туннеля поэтому сопровождается другим условием доверия: название должно принадлежать предусмотренному владельцу.
В приёмке проверяют холодный старт, появление туннеля, переименование и его пересоздание выбранным сетевым менеджером. Сверяют реальную точку совпадения и нежелательные случаи. Успешная загрузка правила при уже поднятом VPN не подтверждает сохранение той же политики после обновления, остановки или изменения способа создания сетевого устройства.
Основание — Official nft(8) HTML snapshot; exact release1.1.7 archive not obtained, разделы META EXPRESSIONS; iif/oif; iifname/oifname. Сохранён текст публичной справочной публикации; конкретная реализация может поддерживать только часть возможностей. Основание — сохранённый HTML-справочник nft(8); это снимок изменяемой страницы, а не руководство из архива 1.1.7. Фактические версии nft, ядра и рабочие правила не проверялись; команды фильтрации не выполнялись.