Benutzerdefinierte Kette funktioniert gut, wird aber mit „iptables -L“ nicht angezeigt

Benutzerdefinierte Kette funktioniert gut, wird aber mit „iptables -L“ nicht angezeigt

Für einige Weiterleitungsaufgaben verwende ich ein Skript, um eine benutzerdefinierte Kette hinzuzufügen. Ein Teil des Codes ist hier (als Root ausführen):

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

Der Code funktioniert einwandfrei und ich bin sicher, dass die Pakete korrekt weitergeleitet wurden. Aber nachdem ich auf tippe sudo iptables -L, kommt Folgendes:

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 

Auf meinem Router (OpenWRT) iptables -Lwird immer angezeigt, dass alle Ketten vorhanden sind, aber auf meinem Laptop funktioniert es nicht. Kann mir jemand sagen, warum?

Danke schön!

Antwort1

Die benutzerdefinierten Ketten sind an eine Tabelle gebunden. Das bedeutet, dass Sie eine in der Tabelle erstellte Kette nicht manglein Regeln der filteroder der natTabellen verwenden können.

Der iptables -LBefehl zeigt nur die filterTabellenketten an. Überprüfen Sie die Ausgabe von iptables -t nat -L. Verwenden Sie den Befehl jedoch besser, iptables-save -cum den vollständigen Regelsatz mit Zählern aufzulisten.

verwandte Informationen