Eu crio um dispositivo tun usando ip tuntap add dev tun0 mode tun
e quero definir marca para todos os pacotes provenientes de tun0 usando iptables -t mangle -A OUTPUT -o tun0 -j MARK --set-mark 1
. Mas quando verifico as regras correspondentes usando iptables -t mangle -nvL
, nenhum pacote foi correspondido. Alguém pode me ajudar com isso?
Na verdade, tentei outros filtros e não consegui nada. Isso tem algo a ver com a configuração do tun0?
Responder1
-o tun0
é umsaídafiltro de dispositivo, para que sua regra mangle corresponda aos pacotes que saem do sistema via tun0
. Para marcar pacotes que chegam de tun0
, use -i tun0
, e provavelmente é melhor fazê-lo na PREROUTING
cadeia.
Observe também que as marcas de pacote não se aplicam automaticamente aos pacotes de resposta; esta regra marcará apenas pacotes de um fluxo unidirecional (uma conexão bidirecional possui dois fluxos). Para marcar pacotes de resposta use ummarca de conexãomódulo. Se você precisar de marcas de pacote, por exemplo, para roteamento de política, você pode copiar a marca de conexão para uma marca de pacote, existe uma ação específica para isso.