Задача «пустить 192.0.2.20» проверяется двумя запросами: от того, кого пустили, и от того, кого нет.
Разрешение для одного источника проверяют с двух сторон: разрешённый 192.0.2.20 получает страницу, а 192.0.2.30 по-прежнему ждёт до тайм-аута. Запросы одинаковые — меняется только --interface.
Оба получили страницу — разрешение вышло шире задачи или фильтр пропал целиком. Оба ждут — новый файл не загружен, порт в правиле не тот или разрешение стоит после drop. Тексту файла верить на слово нельзя: решает загруженный набор, его печатает nft list ruleset.
Удалить таблицу или выполнить nft flush ruleset — тоже «открыть .20», только вместе с ним открываются все.
Ты исправил разрешение для 192.0.2.20 и загрузил файл. После этого и 192.0.2.20, и 192.0.2.30 получают страницу. Что могло случиться?
Верных вариантов несколько.
-
Тогда до разрешения не дошёл бы никто:
counter dropотбросил бы и192.0.2.20, и192.0.2.30. -
Старые правила пускали
192.0.2.20только на8081, а8080отбрасывали для всех. Со старым набором оба клиента ждали бы до тайм-аута.
Страница у 192.0.2.30 значит, что разрешение стало шире или запрет пропал. Что загружено на самом деле, печатает sudo ip netns exec lab-server nft list ruleset.
Главное в шаге
- Разрешение для одного источника проверяют двумя запросами: разрешённый получает ответ, остальные — нет.
-
Решает загруженный набор правил: после правки файла его загружают и читают
nft list ruleset.