Фильтрация трафика по MAC-адресу - nftables

Фильтрация трафика по MAC-адресу - nftables

TL:DR: Я создаю сетевой ответвитель с помощью Raspberry Pi, который должен оставатьсяскрытность. У меня есть мост (br0) между интерфейсом коммутатора (eth0) и рабочая станция (eth1).

Вот как я это строю (открыт для любых предложений):

# Create a bridge with the name br0
ip link add "$BRIDGE_INT" type bridge 
# Add the eth0 interface to the bridge
ip link set "$WORKSTATION_INT" master "$BRIDGE_INT" 
# Add the eth1 interface to the bridge
ip link set "$SWITCH_INT" master "$BRIDGE_INT" 

После завершения этого процесса я подключаю сетевые кабели и вижу, что мойeth0раскрывает свой MAC-адрес по нескольким протоколам.

Что я тестировал:

nft add table inet filter
nft add chain inet filter output { type filter hook output priority 0 \; }
nft add rule inet filter output ether saddr "$SWITCH_MAC" drop

Который все еще утекает на eth0 DHCP -> ARP -> MDNS.

Затем я решил поставить статический адрес DHCP. После нескольких попыток я нашел правильную конфигурацию для этого (Открыт для любых предложений):

/etc/network/interfaces
auto eth0
    iface eth0 inet manual
    address 192.168.0.10
    netmask 255.255.255.0
    gateway 192.168.0.254

/etc/dhcpcd.conf
interface eth0
    static ip_address=192.168.0.10/24
    static routers=192.168.0.1
    static domain_name_servers=192.168.0.1 8.8.8.8

Эта конфигурация не будет запрашивать сеть для dhcp. Но ARP -> MDNS все еще утекает.

Поскольку этот проект нацелен на то, чтобы быть адаптивным, я думаю, что лучшим решением будет отказаться от всего, что имеет SWITCH_MAC. Но это не остановит поток трафика.

Я заметил, что мое правило корректно отбрасывает пакеты с SWITCH_MAC, которые я отправляю намеренно, но не отбрасывает те, которые отправляет ОС.

ЗАКЛЮЧЕНИЕ ОС пропускает нежелательный трафик, хотя тестовый трафик отбрасывается. Я подозреваю, что моя проблема похожа на эту:Фильтрация трафика по MAC-адресу с помощью nftables Это очень хорошо объяснено, но решение пока не найдено.

Связанный контент