
Eu tenho um firewall que possui 3 aliases de IP em 1 interface física. Os pacotes são descartados entre essas três interfaces (ICMP, HTTP ou qualquer outra). Rastreamos esses pacotes sendo marcados como INVÁLIDOS na regra FORWARD e descartados devido a esta regra:
chain FORWARD {
policy DROP;
# connection tracking
mod state state INVALID LOG log-prefix 'INVALID FORWARD DROP: ';
mod state state INVALID DROP;
mod state state (ESTABLISHED RELATED) ACCEPT;
}
(Ou seja, vemos os INVALID FORWARD DROP
logs dmesg
)
O que poderia estar causando isso?
Responder1
Use macvlan no modo bridge em vez de aliases de IP e mantenha a interface física no modo promisc.
por exemplo
- eno1 é a interface que você deseja usar.
- Em seguida, crie macvlan1@eno1, macvlan2@eno1 e macvlan3@eno1.
- Mantenha eno1 no modo promisc.
Consulte a sequência abaixo para criar uma interface macvlan.
# /sbin/ip link add link eno1 macvlan1 type macvlan mode bridge
# /sbin/ip addr add 192.168.1.1/24 dev macvlan1
# /sbin/ip link set macvlan1 address aa:bb:bb:dd:ee:ff up
Consulte o comando abaixo para ativar o modo promisc para eno2
# /sbin/ip link set eno1 promisc on
Responder2
O INVALID
estado significa que o pacote não está associado a uma conexão conhecida (e também não está iniciando uma nova conexão). As únicas razões pelas quais consigo pensar é que algo está limpando a tabela de rastreamento de conexão, a tabela está transbordando ou o tempo limite das entradas está expirando muito rapidamente. Você pode verificar o tamanho da tabela de rastreamento de conexão sudo conntrack -L | wc -l
e o número máximo de entradas com cat /proc/sys/net/netfilter/nf_conntrack_max
.