Enquanto brincava com um convidado do qemu descobri algo muito peculiar. Se eu configurar o firewall do sistema para rejeitar todo o tráfego para meu gateway ( 10.0.2.2
), o firewall somente rejeitará o tráfego destinado diretamente ao gateway. O tráfego não destinado a 10.0.2.2
aparentemente continua a ser roteado e flui pelo gateway como se a regra não estivesse lá.
Pelo que entendi do ponto de vista do hóspede ( 10.0.2.15
):
Packet{dest==10.0.2.0/24} 10.0.2.15 -x-> 10.0.2.2 (Rejected)
Packet{dest!=10.0.2.0/24} 10.0.2.15 <--> 10.0.2.2 <-> !=10.0.2.0/24 (Okay)
Isso é completamente contrário ao que eu esperava. Eu suponho que há algo que estou perdendo, mas não sei o quê.
Aqui está minha configuração:
- Regra de firewall:
ufw reject out to 10.0.2.0/24
- Saída de
ip route
:default via 10.0.2.2 dev ens3 proto dhcp metric 100 10.0.2.0/24 dev ens3 proto kernel scope link src 10.0.2.15 metric 100
- A parte relevante da saída de
iptables -S
parece ser:-A ufw-user-output -d 10.0.2.0/24 -j REJECT --reject-with icmp-port-unreachable