Erstellt vor 6 Jahren

Zuletzt geändert vor 2 Jahren

#1605 new defect

iptables/nat/conntrack & kernel 2.6.28/2.6.32

Erstellt von: M66B Verantwortlicher:
Priorität: low Meilenstein: freetz-future
Komponente: packages Version: devel
Stichworte: Beobachter:
Product Id: Firmware Version:

Beschreibung

FREETZ_MODULE_iptable_nat

is missing

select FREETZ_MODULE_nf_nat if ... || FREETZ_KERNEL_VERSION_2_6_32

Additionally I have restored all bool strings. Was there a reason why these were commented out?

Anhänge (2)

iptables_2_6_32_fix.patch (1.9 KB) - hinzugefügt von M66B vor 6 Jahren.
Config.ur8.7270_05.51.patch (4.1 KB) - hinzugefügt von JohnDoe42 vor 4 Jahren.
NAT-Patch für eine 7270v3, 74.05.51

Alle Anhänge herunterladen als: .zip

Änderungshistorie (24)

Geändert vor 6 Jahren durch M66B

comment:1 Geändert vor 6 Jahren durch oliver

From Config.ur8-16mb.7270_05.05:

# CONFIG_NF_CONNTRACK is not set

So why should we enable nat and conntrack modules in menuconfig?

comment:2 Geändert vor 6 Jahren durch M66B

So why should we enable nat and conntrack modules in menuconfig?

Not, it is just that FREETZ_MODULE_iptable_nat should select FREETZ_MODULE_nf_nat when FREETZ_KERNEL_VERSION_2_6_32. Before (previous kernel I guess) it was probably FREETZ_MODULE_ip_nat.

config FREETZ_MODULE_iptable_nat
	bool "iptable_nat.ko"
	depends on FREETZ_KERNEL_VERSION_2_6_13_1 || FREETZ_KERNEL_VERSION_2_6_19_2 || \
		FREETZ_KERNEL_VERSION_2_6_28 || \
		FREETZ_KERNEL_VERSION_2_6_32
	select FREETZ_MODULE_ip_conntrack if FREETZ_KERNEL_VERSION_2_6_13_1 || FREETZ_KERNEL_VERSION_2_6_19_2
	select FREETZ_MODULE_ip_tables
	select FREETZ_MODULE_ip_nat if FREETZ_KERNEL_VERSION_2_6_19_2
	select FREETZ_MODULE_nf_nat if FREETZ_KERNEL_VERSION_2_6_28 || FREETZ_KERNEL_VERSION_2_6_32
	default n

comment:3 Geändert vor 6 Jahren durch oliver

  • Meilenstein von freetz-1.2.1 nach freetz-1.3 geändert

Did you try to load iptables modules? The labor versions by AVM do have the generic conntrack option enabled. So there will be even more problems coming up…

comment:4 Geändert vor 6 Jahren durch M66B

root@fritz:/# lsmod | grep '^ip_\|^xt_\|^ipt_\|^x_\|^iptable_'
xt_iprange              1269  0 
xt_length                912  0 
xt_limit                1412  0 
xt_pkttype               776  0 
xt_tcpudp               2083  0 
xt_multiport            2226  0 
xt_MARK                  687  0 
xt_mark                  687  0 
xt_mac                   764  0 
ipt_REJECT              2095  0 
ipt_LOG                 6284  0 
iptable_filter          1286  1 
ip_tables              11430  1 iptable_filter
x_tables               14590 12 xt_iprange,xt_length,xt_limit,xt_pkttype,xt_tcpudp,xt_multiport,xt_MARK,xt_mark,xt_mac,ipt_REJECT,ipt_LOG,ip_tables

The nat modules are not in /lib/modules/2.6.32.21/modules.dep

comment:5 Geändert vor 6 Jahren durch oliver

Why should they be there if they are not in the firmware?

comment:6 Geändert vor 6 Jahren durch M66B

It could be that I simply don't understand this, but:

./source/kernel/ref-ur8-16mb-7270_05.05/linux-2.6.32/include/net/netfilter/nf_nat_core.h
./source/kernel/ref-ur8-16mb-7270_05.05/linux-2.6.32/include/net/netfilter/nf_nat_helper.h
./source/kernel/ref-ur8-16mb-7270_05.05/linux-2.6.32/include/net/netfilter/nf_nat.h
./source/kernel/ref-ur8-16mb-7270_05.05/linux-2.6.32/include/net/netfilter/nf_nat_protocol.h
./source/kernel/ref-ur8-16mb-7270_05.05/linux-2.6.32/include/net/netfilter/nf_nat_rule.h
./source/kernel/ref-ur8-16mb-7270_05.05/linux-2.6.32/drivers/net/ag7240/include/athrs_nf_nat.h
./source/kernel/ref-ur8-16mb-7270_05.05/linux-2.6.32/drivers/net/ag7240/athrs_nf_nat.c
./source/kernel/ref-ur8-16mb-7270_05.05/linux-2.6.32/net/ipv4/netfilter/nf_nat_rtsp.c
./source/kernel/ref-ur8-16mb-7270_05.05/linux-2.6.32/net/ipv4/netfilter/nf_nat_proto_unknown.c
./source/kernel/ref-ur8-16mb-7270_05.05/linux-2.6.32/net/ipv4/netfilter/nf_nat_sip.c
./source/kernel/ref-ur8-16mb-7270_05.05/linux-2.6.32/net/ipv4/netfilter/nf_nat_rule.c
./source/kernel/ref-ur8-16mb-7270_05.05/linux-2.6.32/net/ipv4/netfilter/nf_nat_standalone.c
./source/kernel/ref-ur8-16mb-7270_05.05/linux-2.6.32/net/ipv4/netfilter/nf_nat_amanda.c
./source/kernel/ref-ur8-16mb-7270_05.05/linux-2.6.32/net/ipv4/netfilter/nf_nat_proto_udplite.c
./source/kernel/ref-ur8-16mb-7270_05.05/linux-2.6.32/net/ipv4/netfilter/nf_nat_irc.c
./source/kernel/ref-ur8-16mb-7270_05.05/linux-2.6.32/net/ipv4/netfilter/nf_nat_proto_sctp.c
./source/kernel/ref-ur8-16mb-7270_05.05/linux-2.6.32/net/ipv4/netfilter/nf_nat_proto_icmp.c
./source/kernel/ref-ur8-16mb-7270_05.05/linux-2.6.32/net/ipv4/netfilter/nf_nat_proto_common.c
./source/kernel/ref-ur8-16mb-7270_05.05/linux-2.6.32/net/ipv4/netfilter/nf_nat_core.c
./source/kernel/ref-ur8-16mb-7270_05.05/linux-2.6.32/net/ipv4/netfilter/nf_nat_proto_dccp.c
./source/kernel/ref-ur8-16mb-7270_05.05/linux-2.6.32/net/ipv4/netfilter/nf_nat_proto_udp.c
./source/kernel/ref-ur8-16mb-7270_05.05/linux-2.6.32/net/ipv4/netfilter/nf_nat_snmp_basic.c
./source/kernel/ref-ur8-16mb-7270_05.05/linux-2.6.32/net/ipv4/netfilter/nf_nat_proto_gre.c
./source/kernel/ref-ur8-16mb-7270_05.05/linux-2.6.32/net/ipv4/netfilter/nf_nat_h323.c
./source/kernel/ref-ur8-16mb-7270_05.05/linux-2.6.32/net/ipv4/netfilter/nf_nat_helper.c
./source/kernel/ref-ur8-16mb-7270_05.05/linux-2.6.32/net/ipv4/netfilter/nf_nat_proto_tcp.c
./source/kernel/ref-ur8-16mb-7270_05.05/linux-2.6.32/net/ipv4/netfilter/nf_nat_pptp.c
./source/kernel/ref-ur8-16mb-7270_05.05/linux-2.6.32/net/ipv4/netfilter/nf_nat_ftp.c
./source/kernel/ref-ur8-16mb-7270_05.05/linux-2.6.32/net/ipv4/netfilter/nf_nat_tftp.c
./source/target-mipsel_uClibc-0.9.31.1/iptables-1.4.11.1/include/net/netfilter/nf_nat.h

And it is actually needed to do address translation. Which is done by for example a proxy:

/usr/sbin/iptables -t nat -A PREROUTING -i lan -p tcp --dport 80 -j REDIRECT --to-port $TINYPROXY_PORT

comment:7 Geändert vor 6 Jahren durch M66B

If this is going to change with a new AVM version, then I think it is better to close this ticket and solve it later.

comment:8 Geändert vor 6 Jahren durch cuma

It could be that I simply don't understand this, but:

1) you have to enable them by "make kernel-menuconfig"
2) there have to be enable (maybe non-existing) options in "make menuconfig"

Zuletzt geändert vor 6 Jahren von cuma (vorher) (Diff)

comment:9 Geändert vor 6 Jahren durch cuma

  • Zusammenfassung von Bugfix iptables menuconfig nach iptables/nat/conntrack & kernel 2.6.28/2.6.32 geändert

comment:10 Geändert vor 5 Jahren durch por

# modprobe xt_state
modprobe: module xt_state not found in modules.dep

This happens on a 7270_v2 (freetz-devel-9137M).
menuconfig does not offer to select FREETZ_MODULE_xt_state and when selected with make kernel-menuconfig, the module is build, but not installed. In order to have the module available in the ROM image, FREETZ_MODULE_xt_state must be manually added to the .config file

The make/iptables/Config.in (i.e. standard-modules.in) restricts the selection of FREETZ_MODULE_xt_state to FREETZ_KERNEL_VERSION_2_6_19.
When FREETZ_KERNEL_VERSION_2_6_19 is true also selects FREETZ_MODULE_ip_conntrack, but with FREETZ_KERNEL_VERSION_2_6_28 and above conntracking is implemented in nf_conntrack and not in ip_conntrack anymore.
Also, why would FREETZ_MODULE_xt_state automatically enable conntracking?

Zuletzt geändert vor 5 Jahren von por (vorher) (Diff)

comment:11 Geändert vor 5 Jahren durch cuma

  • Priorität von normal nach low geändert

Da vermutlich ohne AVM's Hilfe nicht zu ändern

comment:12 Geändert vor 5 Jahren durch por

@cuma
Kannen Sie erklären warum ohne AVM's Hilfe dieses Problem nicht zu reparieren ist?

comment:13 Geändert vor 5 Jahren durch cuma

Nochmal neu, Ticket verwechselt.
AVM hat neuerdings den Packat Accelerator der wohl was ähnliches wie conntrach macht oder zumindest stört. Was da genau abläuft ist dank closed-source nicht bekannt.
Jedenfalls gibt es mit dem normalen conntrack zusammen mit dem PA Probleme. Am besten selbst ausprobieren

Zuletzt geändert vor 5 Jahren von cuma (vorher) (Diff)

comment:14 Geändert vor 5 Jahren durch cuma

  • Meilenstein von freetz-1.3 nach freetz-future geändert

comment:15 Antwort: Geändert vor 4 Jahren durch parasonic

Nur zum Verständnis, heisst das man bekommt NF / CONNTRACK / NAT / MASQ generell doch zum Laufen? Oder heisst das es gibt keinen Weg? Auf einer 7272v2 / 7390 (mit 2.6.28)? Gibt es einen removal patch für den packet accelerator? Gibt es überhaupt irgend einen Workaround um iptables generell (und NAT/MASQ/REDIRECT im speziellen) auf einer 7390 zum Laufen zu bringen? Klappt es evtl. noch mit ur-alt AVM Firmware?

comment:16 als Antwort auf: ↑ 15 Geändert vor 4 Jahren durch bluebird

Replying to cuma:

[…] Packat Accelerator […] closed-source […]

GPL :-)

Replying to parasonic:
Wenn du das Conntrack-Modul lädst wird nach einigen Sekunden das Netzwerk der Box aufhören zu funktionieren, kein Ping mehr, kein gar nichts mehr.
Grund dafür ist vermutlich dass AVM bei dem Packet Accelerator Interface dieselben Funktions/Variablen/Typen-Namen verwendet hat wie Netfilter-Conntrack und die beim Laden dann überschrieben werden.
Man müsste also eins von beiden patchen, sprich jede einzelne Überschneidung suchen und auflösen. Da Netfilter riesig ist würde ich eher dazu tendieren das AVM-Ding zu patchen, das hat nur 6k Zeilen.

Alternativ kannst du auch einen ältere Firmware nehmen, in der avm_pa noch nicht drin ist, da sollte Conntrack problemlos funktionieren.

comment:17 Geändert vor 4 Jahren durch cuma

Ich nutze tatsächlich eine alte 04.8x Firmware für conntrack

das AVM-Ding patchen

Kling gut. Schon auisprobiert? Es könnte Probleme geben, wenn es irgendwelche closed-source Sachen gibt die diese Funktionen aufrufen

Geändert vor 4 Jahren durch JohnDoe42

NAT-Patch für eine 7270v3, 74.05.51

comment:18 Geändert vor 4 Jahren durch JohnDoe42

Analog zu http://freetz.org/ticket/2224 noch ein Patch für eine 7270v3.

comment:19 Geändert vor 4 Jahren durch cuma

Kann man CONFIG_NF_CONNTRACK=y und CONFIG_NF_CT_PROTO_ESP=y nicht als "m"odul auswählen? Wie sieht das eigentlich mit dem Freetz-menuconfig aus. Kann man die Module sort auswählen, oder muss das noch erweitert werden?

comment:20 Geändert vor 4 Jahren durch JohnDoe42

Natürlich kann man CONFIG_NF_CONNTRACK=m wählen. Da ich CONFIG_NF_CT_PROTO_ESP nicht bewußt nutze (d.h. nicht weiß, was ein Modul/diese Kernel-Option tut), kann ich hierzu nicht sagen.

Was iptables im menuconfig betrifft: ipt_MASQUERADE müßte für den Kernel enabled werden (depends on FREETZ_KERNEL_VERSION_2_6_19_MAX && \ (FREETZ_KERNEL_VERSION_2_6_19
FREETZ_REPLACE_KERNEL)), ipt_REDIRECT sollte laufen. xt_state sollte auch laufen.

comment:21 Geändert vor 2 Jahren durch er13

In 13201:

NF_CONNTRACK:

  • disable NF_CONNTRACK in config-vr9-7360_05.51 (i.e. revert r11573) a) for consistency reasons (NF_CONNTRACK is disabled in all other VR9 .config's) and b) NF_CONNTRACK changes the size and the layout of sk_buff struct (note we have a patch trying to address the issue, it keeps the layout identical to the AVM kernel, but it can't do anything about the size)
  • refs #2224, #2464, #1605

comment:22 Geändert vor 2 Jahren durch er13

In 13202:

NF_CONNTRACK:

  • disable NF_CONNTRACK in all AR9 .config's
  • refs #1605, refs #2464
Hinweis: Hilfe zur Verwendung von Tickets finden Sie in TracTickets.