Я пытаюсь применить фильтрацию трафика к контейнерам docker и LXC на основе iptables. Для меня важно фильтровать MAC-адреса. Это связано с тем, что устройства на базе так называемого «умного дома», например на ESP8266 не реализован SSH FAQ (для плохого процессора). Чтобы максимально повысить безопасность, я использую фильтрацию IP-адресов (которая работает), и я хотел бы расширить ее до фильтрации MAC-адресов. К сожалению, независимо от того, установлены ли iptables как приложение только в докере или как часть Ubuntu v 16, установленного в LXC, правило работает правильно, например. в Raspberry Pi не работает в контейнере. Об ошибке сообщается, как показано ниже (для контейнера LXC из Ubuntu):
root@Xenial# /sbin/iptables -A INPUT -p tcp --dport 8081 -i eth0 -m mac --mac-source 84:f3:eb:b7:45:42 -j DROP
iptables: No chain/target/match by that name.
Причина - отсутствие расширения MAC в реализованной версии iptables в системном ПО QNAP. Я пытался установить это расширение, но это невозможно в "родной" прошивке QNAP или в каком-либо контейнере. Ниже приводится сообщение об отсутствии соответствующего модуля в исходной прошивке:
root@Xenial:~# modprobe xt_mac
modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.14.24-qnap/modules.dep.bin'
modprobe: FATAL: Module xt_mac not found in directory /lib/modules/4.14.24-qnap
Вопрос в том, как обойти эту проблему и / или при необходимости установить необходимый модуль. И если да, то как и с какой версии Linux получить
Firmware version: 4.4.1.1216
Server model: QNAP TS-453A