Назад | Перейти на главную страницу

Как реализовать брандмауэр в локальной сети (вне пользовательских ОС), как это сделали EC2?

В aws ec2 пользователи могут настроить группы безопасности который работает как брандмауэр, обычно брандмауэр работает за шлюзом / nat-сервером, однако я обнаружил, что брандмауэр в EC2 работает и в локальной сети.

Например, у пользователей тоже есть экземпляры, A: 10.108.33.13/26, B: 10.108.33.18/26, согласно ip и netmask, они находятся в одной локальной сети, однако, если я помещу эти экземпляры в разные группы безопасности(а правила блокируют посещение с разных sgs), на них работает firewall.

У меня вопросы, я думаю, что брандмауэр работает только в Layer3 / 4, на котором ip и порт были. В локальной сети трафик между хостами проходит через уровень 2 (по MAC-адресу). Как можно было реализовать такой межсетевой экран в локальной сети?

P.S. Я проверил iptables на каждом хосте и уверен, что он остановлен.

Недавно я читал о реализации OpenStack nova.

Затем я обнаружил, что если libvirt использовались, указанный выше брандмауэр можно легко реализовать с помощью nwfilter механизм libvirt реализовал.

Подробную информацию можно найти на сайте http://libvirt.org/firewall.html, в нем объясняется, как это было реализовано, и, как упоминалось в @ syneticon-dj, использовалась комбинация ebtables, iptables и ip6tables.

Поддержка целого ряда более продвинутых коммутаторов L3 ACL по которому каждый пакет / кадр будет проверяться при входе - независимо от того, шел ли он к механизму маршрутизации коммутатора. Таким образом, ограничения для хостов в одном и том же широковещательном домене могут быть реализованы довольно легко, хотя следует отметить, что обработка списков ACL обычно не такая сложная, как вы ожидали бы от фильтра пакетов с отслеживанием состояния (в основном потому, что логика обработки реализована в схемотехника вместо ПО).

При этом говорится, как Amazon виртуализирует Xen поэтому они будут довольно активно использовать виртуальную коммутацию / мост Linux и, вероятно, реализовали бы свою фильтрацию на программном уровне - ebtables который может выполнять фильтрацию IP-адресов на мостовых интерфейсах, будет хорошим кандидатом для внутренней обработки.