Проблема с цепочкой сброса Nftables по умолчанию

если вы используете yast, ищите по клавиатуре. Там вы можете изменить раскладку с Великобритании на США.

2
30.01.2021, 16:17
1 ответ

IPv4 через Ethernet полагается на ARP для разрешения MAC-адреса Ethernet однорангового узла с целью отправки ему более поздних одноадресных пакетов.

Поскольку вы фильтруете любой запрос ARP, поскольку для него нет исключений, эти запросы не могут быть выполнены успешно, и после типичного тайм-аута в 3 секунды вы получите стандартное сообщение «Нет маршрута к хосту». Пакет IPv4 не будет отправлен с 192.168.1.10 на 192.168.1.1 или с 192.168.1.1 на 192.168.1.10, так как предыдущий шаг не удался.

Так что пока добавьте это правило, а позже посмотрите, как его -настроить, если вам действительно нужно:

nft add rule bridge vmbrfilter forward ether type arp accept

Если мост осведомлен о VLAN(vlan_filtering=1)или, возможно, даже если нет (, то есть :мост манипулирует кадрами и на самом деле не знает о них больше, что, вероятно, нехорошо, если два кадра из двух разных VLAN имеют тот же MAC-адрес ), то вот правило, разрешающее пакеты ARP в кадрах с тегами VLAN:

nft add rule bridge vmbrfilter forward ether type vlan vlan type arp accept

Но в любом случае, IP будет иметь те же проблемы без адаптации. Для этого требуется дополнительная информация о настройке VLAN.

Вот набор правил, позволяющий использовать как тегированные, так и нетегированные кадры, требуя дублирования правил. ARP не имеет дополнительных выражений для фильтрации, поэтому автоматически -выбирает протокол/тип, требуется явное vlan type arp.

table bridge vmbrfilter        # for idempotency
delete table bridge vmbrfilter # for idempotency

table bridge vmbrfilter {
    chain forward {
        type filter hook forward priority -100; policy drop;
        ip saddr 192.168.1.10 ip daddr 192.168.1.1 accept
        ip saddr 192.168.1.1 ip daddr 192.168.1.10 accept
        ether type arp accept

        ether type vlan ip saddr 192.168.1.10 ip daddr 192.168.1.1 accept
        ether type vlan ip saddr 192.168.1.1 ip daddr 192.168.1.10 accept
        ether type vlan vlan type arp accept
    }
}

Также более старые версии nftables(например, :OP 0.9.0 )могут опускать обязательные выражения фильтра в выходных данных, когда они не имеют дополнительных фильтров (, например, но не присутствуют в этот ответ:ether type vlan arp htype 1(отображает усеченный )по сравнению с vlan id 10 arp htype 1), поэтому их вывод не следует повторно использовать в качестве ввода в файлах конфигурации.Можно по-прежнему заметить разницу и узнать, что имеется дополнительное выражение фильтра, используя nft -a --debug=netlink list ruleset.

Насколько я знаю, пока нет поддержки произвольной инкапсуляции/декапсуляции протоколов в nftables , поэтому дублирование правил кажется неизбежным (просто посмотрите на байт-код, чтобы увидеть, как просматриваются одни и те же поля. для случаев VLAN и не -VLAN :разное смещение ).

0
18.03.2021, 22:33

Теги

Похожие вопросы