Como isolar dois contêineres conectados à mesma ponte?

1

Eu tenho vários contêineres LXD que estão vinculados para uma única ponte (o padrão lxdbr0 ou outro, não importa). O host em si tem outras duas interfaces, uma conectando-a à Internet e outra ao qual um WiFi é conectado.

Os fluxos de dados são orquestrados por Shorewall (que cria as regras iptable apropriadas).

As restrições que coloco em funcionamento funcionam bem para o tráfego entre os contêineres para a Internet ou para a rede AP (e entre a rede AP e a Internet). O problema que tenho é que o tráfego entre contêineres não parece ser afetado pelas regras iptable . Mesmo com uma política REJECT simples para o IP do contêiner, ainda consigo executar o ping no IP de outro contêiner (e nada mais, incluindo seu próprio gateway - o que é esperado).

Meu entendimento é que a ponte em si funciona na camada 2 do ISO / OSI. Nesse caso, o firewall não afetaria o tráfego.

Ao mesmo tempo, ele tem um IP, que é o gateway dos contêineres (todos os contêineres têm um endereço da mesma rede 10.20.30.0/24 , 10.20.30.254 sendo o IP da ponte). Como essa é a comunicação da camada 3, o tráfego não deve ir embora iptables ?

    
por WoJ 21.04.2016 / 16:22

1 resposta

0

Não é uma resposta ideal se você tem muitos contêineres, mas é possível usar o arquivo repositórios shorewall com uma entrada para cada host, ou seja, com uma rede / 32 como esta:

/ etc / shorewall / interfaces:

#ZONE  INTERFACE   OPTIONS
...
lxc    lxc-br0     ...,routeback,bridge

/ etc / shorewall / zones:

#ZONE       TYPE       OPTIONS         IN          OUT
fw          firewall
lxc         ipv4
lxc12:lxc   ipv4

/ etc / shorewall / hosts:

#ZONE     HOSTS                              OPTIONS
lxc12     lxc-br0:192.168.0.12/32

/ etc / shorewall / rules:

######################################################################################################################################################################################################
#ACTION         SOURCE          DEST            PROTO   DEST    SOURCE          ORIGINAL        RATE            USER/   MARK    CONNLIMIT       TIME            HEADERS         SWITCH          HELPER
#                                                       PORT    PORT(S)         DEST            LIMIT           GROUP
#Allow host web server to proxy requests to the container
Web(ACCEPT)     $FW     lxc12
    
por 21.09.2016 / 14:17