geoblock: match_original_dport (conntrack --ctorigdstport) fuer Dienste hinter DNAT
Bei Portweiterleitung/DNAT schreibt der Kernel den Zielport in PREROUTING um, BEVOR der Filter laeuft -- eine Regel auf den oeffentlichen Port (z.B. 1194) matcht dann nie, weil im Filter der interne Port (z.B. 6666/6667) ankommt. Genau der Fall auf Endian-Appliances (public 1194 -> intern 6666-6667, 443 -> 30443). Neue Option 'match_original_dport = true': matcht per 'conntrack --ctorigdstport' den urspruenglichen Zielport (vor DNAT). Dann in 'ports' die OEFFENTLICHEN Ports eintragen -- immun gegen den internen Remap. - build_rule_variants: bei orig-dport eine Regel pro (proto, port), da conntrack --ctorigdstport einwertig ist (kein multiport). _variant_port_args nutzt dann conntrack statt multiport. - load_config: match_original_dport (bool, default false). - show_status zeigt den Match-Modus an. - Doku: geoblock.ini.example + README-Abschnitt "Dienst hinter Portweiterleitung/DNAT". Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
af2a75c443
commit
161d90de45
@@ -46,6 +46,16 @@
|
||||
; oder "tcp,udp" fuer beides. Fuer die meisten Web-/App-Ports
|
||||
; reicht "tcp".
|
||||
;
|
||||
; match_original_dport:
|
||||
; optional, true/false (Default false). Nur relevant wenn "ports"
|
||||
; gesetzt ist. Fuer Dienste hinter einer Portweiterleitung/DNAT
|
||||
; (z.B. Endian: public 1194/udp -> intern 6666): iptables sieht im
|
||||
; Filter sonst den UMGESCHRIEBENEN Port, nicht den, den der Client
|
||||
; gewaehlt hat -- die Regel greift dann nicht. Mit true wird per
|
||||
; conntrack der ORIGINAL-Zielport (vor DNAT) gematcht. Dann in "ports"
|
||||
; die OEFFENTLICHEN Ports eintragen (z.B. 1194, 443), nicht die
|
||||
; internen -- immun gegen den Remap. Meist zusammen mit chain=FORWARD.
|
||||
;
|
||||
; proxy: optional, HTTP(S)-Proxy-URL, ueber den das Script ipdeny.com
|
||||
; erreicht -- fuer Hosts, die zwar aus dem Internet erreichbar
|
||||
; sind (z.B. hinter Reverse-Proxy/Firewall), selbst aber KEINE
|
||||
|
||||
Reference in New Issue
Block a user