A cadeia Coustom funciona bem, mas não é mostrada com `iptables -L`

A cadeia Coustom funciona bem, mas não é mostrada com `iptables -L`

Para fazer alguns trabalhos de encaminhamento, uso um script para adicionar uma cadeia personalizada. Parte do código está aqui (executado como root):

iptables -t nat -N v2ray_forwarder
iptables -t nat -I OUTPUT -j v2ray_forwarder
iptables -t nat -A v2ray_forwarder -p tcp -m set --match-set srv_ip dst -j RETURN
iptables -t nat -A v2ray_forwarder -d 0.0.0.0/8 -j RETURN
iptables -t nat -A v2ray_forwarder -d 10.0.0.0/8 -j RETURN
iptables -t nat -A v2ray_forwarder -d 127.0.0.0/8 -j RETURN
iptables -t nat -A v2ray_forwarder -d 192.168.0.0/16 -j RETURN
iptables -t nat -A v2ray_forwarder -p tcp -m set --match-set gfw_ip dst -j REDIRECT --to-port 1081
iptables -t nat -A v2ray_forwarder -p tcp -m set ! --match-set chn_ip dst -j REDIRECT --to-port 1081

O código funciona bem e tenho certeza de que os pacotes foram retransmitidos corretamente. Mas, depois que eu toco sudo iptables -L, sai:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 

No meu roteador (OpenWRT), iptables -Lsempre mostra que todas as cadeias existem, mas não funciona no meu laptop. Alguém poderia me dizer por quê?

Obrigado!

Responder1

As cadeias personalizadas estão vinculadas a uma tabela. Isso significa que você não pode usar uma cadeia, que foi criada na mangletabela, nas regras das filtertabelas nat.

O iptables -Lcomando mostra apenas as filtercadeias de tabelas. Verifique a saída de iptables -t nat -L. Mas é melhor usar o iptables-save -ccomando para listar o conjunto completo de regras com contadores.

informação relacionada