Como solicitado por @pQd, aqui está um exemplo prático de isolamento de portas com VMs (aqui: com base em Proxmox VE ) quando o host é o uplink e todas as VMs devem ser isoladas umas das outras. Eu uso isso para uma rede de serviço interno (DNS, atualizações, etc). A ponte é vmbr1
, os dispositivos Ethernet virtuais são vethNNN.1
(onde NNN
é o VID). Se você quer apenas isolamento, isso deve ser suficiente:
ebtables --append FORWARD --logical-in vmbr1 --jump DROP
Se várias pontes forem configuradas e outras VMs também devem ser Uplinks (aqui: veth100.1
e veth102.1
), algo como isto é mais apropriado (não testado):
for br in $(seq 0 1); do
br=vmbr$br
ebtables --new-chain $br
ebtables --policy $br DROP
ebtables --append FORWARD --logical-in $br --jump $br
done
for if in 100.1 102.1; do
br=vmbr$(echo $if | cut -d. -f2)
if=veth$if
ebtables --append $br --in-if $if
ebtables --append $br --out-if $if
done
Se o host não deve ser um uplink, isso deve funcionar (eu não tentei também):
ebtables --append INPUT --logical-in vmbr1 --jump vmbr1
ebtables --append OUTPUT --logical-out vmbr1 --jump vmbr1