Custom 체인은 잘 작동하지만 'iptables -L'에는 표시되지 않습니다.

Custom 체인은 잘 작동하지만 'iptables -L'에는 표시되지 않습니다.

일부 전달 작업을 수행하기 위해 스크립트를 사용하여 사용자 지정 체인을 추가합니다. 코드의 일부는 여기에 있습니다(루트로 실행).

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

코드는 제대로 작동하며 패키지가 올바르게 전달되었다고 확신합니다. 하지만 을 탭하면 sudo iptables -L다음과 같이 나옵니다.

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 

내 라우터(OpenWRT)에서는 iptables -L항상 모든 체인이 존재한다고 표시하지만 내 노트북에서는 작동하지 않습니다. 누군가 나에게 이유를 말해 줄 수 있습니까?

감사합니다!

답변1

사용자 정의 체인은 테이블에 바인딩됩니다. 이는 테이블에 생성된 체인을 또는 테이블 mangle의 규칙에 사용할 수 없음을 의미합니다 .filternat

iptables -L명령은 테이블 체인만 표시합니다 filter. 의 출력을 확인하십시오 iptables -t nat -L. 그러나 iptables-save -c카운터와 함께 전체 규칙 세트를 나열하려면 명령을 사용하는 것이 좋습니다.

관련 정보