[NEU] schnelles iptables / ip6tables interface für die 7270 (v.0.8.3a) + 7390 etc...

Hallo,

Ja, der "log deamon" ist eigentlich ein Konstrukt aus:

cat /dev/debug > / var/tmp/system.log &

und einem weiteren Script, das ebenfalls im Hintergrund läuft und alle 15 Sekunden die system.log verarbeitet und wieder leert.

z.Zt. sind 2 Filter drin: der eine filtert alle iptables Logs in eine separate Datei (z.B. auf dem Stick) und der andere nimmt den Rest (nachdem er alles was DECT und DCT heißt wegschmeißt) und schreibt es in die system.log im gleichen Verzeichnis, wie der Firewall log, ausserdem setzt sie die Zeitstempel ins Log.

Damit entgeht einem keine Systemmeldung mehr.

Natürlich haben die Scripte noch ein paar Sicherungen eingebaut, damit sie nicht mehrfach gestartet werden können und damit die RAM-Disk nicht vollläuft.

Ist auf der 7270 sehr praktisch, zumal die Loganzeige ausschliesslich die FW Einträge enthält und im UI verwaltet werden kann (Löschen, Archivieren...)

Insofern ist der AVM_PRINTK hier sogar von Vorteil.

Zum Aussperren, da sind so viele Sicherungen drin, es ist eher unwahrscheinlich, dass es jemand über das UI schafft, sich dauerhaft auszusperren.
  • man kann nicht gleichzeitig Regeln ändern und das Regelwerk speichern.
  • wenn man den Speichern Knopf drückt, hat man eine funktionierende Verbindung und die sollte man nach dem Reboot genauso wieder haben, da sich an den Regeln ja nichts ändert.
  • es gibt den boot-delay (mit und ohne dsld wegen Sicherheit)
  • es gibt die Option mit den Regeln auf dem Stick (abziehen und booten)
  • Es gibt die safe admin Funktion, die automatisch für Regeln zum Admin-PC in allen Ketten bei jeder Regeländerung sorgt
  • Es gibt zusätzlich die Option mit dem Auto-Run von scripten vom Stick (mit einem Rescue-Script, dass diie Firewall abschaltet.
Ich denke mal, nicht einmal profi Firewalls haben so viele Sicherungen drin

Wenn das nicht reicht, kann man ja auch noch einen cron-job laufen lassen, der alle 5 Minuten schaut, ob auf dem USB-Stick eine bestimmte datei ist und dann die Firewall herunterfährt.

Wenn man wüsste, wie die Knöpfe funktionieren, könnte man ja auch noch die abfragen, und wenn sie länger als 30 Sekunden gedrückt werden, die Firewall abschalten oder irgend so was.
P.S. Ich wollte es ja eigentlich nicht erzählen, aber ich hab mich auch schon mal ausgesperrt. (Ich habe die NAT Funktion aufgerufen und habe, ohne eine Regel einzugeben, alle default Policies für NAT auf DROP gesetzt. Ich kam nicht mehr an die Box, weil nat:prerouting und Postrouting und Output ja in Serie zu filter:Input & Output sind. Ich kam nicht mehr zum Speichern der Regeln, da das Interface sofort blockiert war. Ein Reboot hat geholfen, denn die Regeln sind erst nach dem Speichern von Dauer.​
 
Zuletzt bearbeitet:
Ich bin auch dafür, das Paket komplett in Freetz zu integrieren. Der Aufruf von iptables kann ja als Pseudo-Dienst (ohne Daemon) zu einem frühen Zeitpunkt erfolgen. Die von cando eingebauten Sicherheitsmechanismen dürften die Gefahr des Aussperrens erträglich machen (wer sich unbedingt aussperren will, wird das ohnehin schaffen). debug.cfg und rc.custom braucht man nicht mehr, wenn es eine rc.nhipt gibt, die das Web-GUI startet, die Rules aus einer eigenen Datei (z.B. analog zu php.ini, wäre dann auch im Freetz-GUI manuell editierbar) ausliest und entsprechend setzt.
 
Manuell editierbare Regeln-Datei würde ich ganz bewußt vermeiden. Das ist die Aussperrquelle Nr.1

Für Pfarrestöchter, wie uns ist es ja kein Problem die Datei zu finden und zu editieren, aber einem unerfahrenen User die aufs Tablett zu servieren wäre fahrlässig.
 
ip6tables Erweiterung für nhipt.cgi

Hallo,

Ich wollte mal nachfragen, ob Bedarf an ein Interface für ip6tables besteht, und wie Eure Meinung ist bezüglich der Integration in die Oberfläche.

Sollte das ein komplett eigenes Modul werden (eigenes UI), oder wäre es besser es in die CGI mit einzubauen (wie nat, mangle, raw - Eigene Section ipv6 mit filter, mangle, raw).

Die Syntax ist ja weitestgehend gleich, es müssen nur andere Module geladen werden und andere Tabellen abgefragt.
 
Wenn dann denke ich extra, sonst wird das zu unübersichtlich auf einer "Seite". Vor allem, weil ipv6 kaum genutzt wird. Ich würde da allerhöchstens ein "Nichts darf" einstellen, und gut ist.
 
Wenn nichts, dann sowieso unsichtbar,

genau wie jetzt schon nat, mangle und raw. Wenn die Module nicht ausgewählt werden, werden die Tabellen nicht geladen und somit auch nicht angezeigt.

Insofern wäre das kein Problem für diejenigen, die es nicht brauchen.

Die Liste kann schon ziemlich lang werden, insbesondere wenn man auch noch excessiv custom tabels nutzt, um z.B. Security Zones zu simulieren, oder VPN Tunnel mit source und destination nat baut etc.

Andererseits ist es vom Handling her einfacher, die Regeln zu speichern und zu laden, ist halt alles mit einem Klick erledigt, und man hat alles auf einem Blick.
 
ip6tables in freetz

Hallo,

Ich hab mal die Unterstützung für ip6tables im CGI probeweise eingebaut (v.0.8.2g)

Ich kann aber leider nicht alle Module, die man über make menuconfig auswählen kann, auch mit modprobe laden.

Das sind die, die funktionieren:


Code:
ip6table_raw            1456  0 
ip6table_mangle         2090  0 
ip6t_hl                 1502  0 
ip6t_hbh                2180  0 
ip6t_frag               1730  0 
ip6t_eui64              1598  0 
ip6t_ah                 1656  0 
ip6t_rt                 2813  0 
ip6t_owner              1632  0 
ip6t_ipv6header         2269  0 
ip6t_LOG                7632  0 
ip6table_filter         1961  0 
ip6_tables             12752  9 ip6table_raw,ip6table_mangle,ip6t_hbh,ip6t_frag,ip6t_ah,ip6t_rt,ip6t_ipv6header,ip6t_LOG,ip6table_filter
ipv6                  253348  9 ip6table_mangle
folgende lassen sich nicht initialisieren:

ip6_queue
ip6t_MARK
ip6t_dst
ip6t_esp
ip6t_length
ip6t_limit
ip6t_mac
ip6t_mark
ip6t_multiport
ip6t_owner


hat jemand eine Idee, wieso die nicht in der Firmware enthalten sind, obwohl angeblich gebaut?

in der Freetz System Info sind sie aufgeführt, aber nicht auf der box zu finden:

Code:
[B]Module:[/B][B]Libraries:[/B] AUTOMOUNT
 > EXT2
 > EXT3
 > NTFS
 DSL_EXPERT
 SIGNED
 USBSTORAGE
AUTHORIZED-KEYS
 AVM-FIREWALL
 > UTILS
 CPMACCFG
 DNSMASQ
 DROPBEAR
 > DISABLE_HOST_LOOKUP
 FSTYP
 HASERL
 IPTABLES
 > KERNEL_MODULES
 > SHARED_LIBS
 LDD
 LSOF
 LTRACE
 MC
 > INTERNAL_EDITOR
 > ONLINE_HELP
 MODCGI
 NANO
 > BROWSER
 > COLOR_SYNTAX
 > HELP
 > JUSTIFY
 > NANORC
 > OPERATINGDIR
 > SHELL
 > TABCOMP
 > WRAPPING
 NMBD
 NTFS
 RRDSTATS
 RRDTOOL
 SAMBA
 STRACE
ext2
 ext3
 fuse
 ip6_queue
 ip6_tables
 ip6t_LOG
 ip6t_MARK
 ip6t_ah
 ip6t_dst
 ip6t_esp
 ip6t_eui64
 ip6t_frag
 ip6t_hbh
 ip6t_hl
 ip6t_ipv6header
 ip6t_length
 ip6t_limit
 ip6t_mac
 ip6t_mark
 ip6t_multiport
 ip6t_owner
 ip6t_rt
 ip6table_filter
 ip6table_mangle
 ip6table_raw
 ip_conntrack
 ip_conntrack_ftp
 ip_conntrack_h323
 ip_conntrack_irc
 ip_conntrack_pptp
 ip_conntrack_tftp
 ip_nat
 ip_nat_ftp
 ip_nat_h323
 ip_nat_irc
 ip_nat_pptp
 ip_nat_tftp
 ip_tables
 ipt_LOG
 ipt_MASQUERADE
 ipt_REDIRECT
 ipt_REJECT
 ipt_TCPMSS
 ipt_TOS
 ipt_ipp2p
 ipt_iprange
 ipt_layer7
 ipt_tos
 ipt_ttl
 iptable_filter
 iptable_mangle
 iptable_nat
 iptable_raw
 ipv6
 jbd
 mbcache
 nls_cp437
 nls_iso8859_1
 x_tables
 xt_CLASSIFY
 xt_MARK
 xt_NFQUEUE
 xt_NOTRACK
 xt_comment
 xt_conntrack
 xt_esp
 xt_helper
 xt_length
 xt_limit
 xt_mac
 xt_mark
 xt_multiport
 xt_physdev
 xt_pkttype
 xt_quota
 xt_realm
 xt_state
 xt_statistic
 xt_string
 xt_tcpmss
 xt_tcpudp
ld_uClibc
 libart_lgpl_2
 libcrypt
 libdl
 libelf
 libfreetype
 libfreetz
 libgcc_s
 libglib_1
 libip6t_HL
 libip6t_LOG
 libip6t_REJECT
 libip6t_ah
 libip6t_dst
 libip6t_eui64
 libip6t_frag
 libip6t_hbh
 libip6t_hl
 libip6t_icmp6
 libip6t_ipv6header
 libip6t_mh
 libip6t_policy
 libip6t_rt
 libipt_CLUSTERIP
 libipt_DNAT
 libipt_ECN
 libipt_LOG
 libipt_MASQUERADE
 libipt_MIRROR
 libipt_NETMAP
 libipt_REDIRECT
 libipt_REJECT
 libipt_SAME
 libipt_SET
 libipt_SNAT
 libipt_TTL
 libipt_ULOG
 libipt_addrtype
 libipt_ah
 libipt_ecn
 libipt_icmp
 libipt_ipp2p
 libipt_policy
 libipt_realm
 libipt_set
 libipt_ttl
 libipt_unclean
 libm
 libncurses
 libnsl
 libpng12
 libpthread
 librt
 libuClibc
 libutil
 libxt_CLASSIFY
 libxt_CONNMARK
 libxt_CONNSECMARK
 libxt_DSCP
 libxt_MARK
 libxt_NFQUEUE
 libxt_NOTRACK
 libxt_RATEEST
 libxt_SECMARK
 libxt_TCPMSS
 libxt_TOS
 libxt_TRACE
 libxt_comment
 libxt_connbytes
 libxt_connmark
 libxt_conntrack
 libxt_dscp
 libxt_esp
 libxt_hashlimit
 libxt_helper
 libxt_iprange
 libxt_length
 libxt_limit
 libxt_mac
 libxt_mark
 libxt_multiport
 libxt_owner
 libxt_physdev
 libxt_pkttype
 libxt_quota
 libxt_rateest
 libxt_sctp
 libxt_standard
 libxt_state
 libxt_statistic
 libxt_string
 libxt_tcp
 libxt_tcpmss
 libxt_time
 libxt_tos
 libxt_u32
 libxt_udp
 libz
 xt_NFLOG
 
Zuletzt bearbeitet:
Sind die Module in der Firmware enthalten? Sind sie im Freetz-Build-Ordner unter kernel? Unter source/ref-8mb_26/.../linux-2.6.19.2?

MfG Oliver
 
Die Module werden nicht gebaut.

Ich hab mal im

make kernel-menuconfig

geschaut, da sind die überhaupt nicht enthalten. Ich nehme mal an, der Kernel kennt die noch gar nicht. Hat die schon mal jemand überhaupt in seiner Firmware drin gehabt, oder wurden die nur Prophylaktisch ins menuconfig aufgenommen?

(Ich hab replace-kernel an, meine config im Anhang...)
 

Anhänge

  • config.txt
    23.5 KB · Aufrufe: 3
Vielleicht muss ipv6 dafür aktiviert sein?
 
Fehlende ip6t_{MARK,mark,dst,esp,length,mac,multiport,owner ,queue,limit}

EDIT. Weiss jemand, wer die Module für ip6tabels in den Trunk integriert hat? Wäre mal interessant, ob es schon mal jemand geschafft hat, sie zu bauen.

Ich hab "replace kernel" und im kernel-menukonfig gibt"s die gar nicht. Ich kann mir nicht vorstellen, dass es sie jemals bei AVM im normalen Kernel gab, aber irgendwoher müssen die ja kommen...:rolleyes:

...
Ich hab ipv6 aktiviert, sonst könnte ich ja gar keine ip6tables kommandos absetzen.;)

(Siehe auch lsmod dump weiter oben)
 
Die müssen in der Kernel-Config zu finden sein:
Code:
-> Networking
  -> Networking support (NET [=y])
    -> Networking options
      -> Network packet filtering (replaces ipchains) (NETFILTER [=y])
        -> IPv6: Netfilter Configuration (EXPERIMENTAL)
 
Hallo RalfFriedl,

Bei mir ist da nichts dergleichen (Siehe Bild). Die anderen Module sind aber drin.
 

Anhänge

  • kernel-config-ipv6.jpg
    kernel-config-ipv6.jpg
    92.2 KB · Aufrufe: 15
Ich habe den älteren Kernel, 2.6.13.1, und nicht 2.6.19.2. Es kann sein, daß dort die Module anderswo sind, aber irgendwo müssen sie sein. Kennst Du die Suchfunktion von menuconfig? Gib ein "/match_mark", ohne Anführungszeichen, aber mit "/" am Anfang. Du solltest eine Liste aller Treffer bekommen, bei meiner Kernel-Version IP_NF_MATCH_MARK und IP6_NF_MATCH_MARK. Wenn nichts kommt, dann schau nach, wie die anderen Symbole heißen, die bei Dir angezeigt werden. In der Ergebnis-Liste siehst Du auch, wo die Symbole definiert werden, und welche anderen Optionen ggf. ausgewählt werden müssen, damit sie überhaupt angezeigt werden.
 
bei /match_mark bekomme ich im kernel-menuconfig:

Code:
Symbol: NETFILTER_XT_MATCH_MARK [=m]                                                              │  
  │ Prompt: "mark" match support                                                                      │  
  │   Defined at net/netfilter/Kconfig:338                                                            │  
  │   Depends on: NET && NETFILTER && NETFILTER_XTABLES                                               │  
  │   Location:                                                                                       │  
  │     -> Networking                                                                                 │  
  │       -> Networking support (NET [=y])                                                            │  
  │         -> Networking options                                                                     │  
  │           -> Network packet filtering (replaces ipchains) (NETFILTER [=y])                        │  
  │             -> Core Netfilter Configuration                                                       │  
  │               -> Netfilter Xtables support (required for ip_tables) (NETFILTER_XTABLES [=m])

die anderen beiden findet er nicht.

Ich glaube, ich hab den Fehler gefunden.

Ich hab ein svn up gemacht. In meinem Menuconfig ist die replace kernel option herausgeflogen (---).
Scheinbar geht mit der Firmware noch kein replace Kernel oder es fehlt noch was. Im AVM Kernel sind die Optionen nicht drin. Kann ich da irgend was tun, damit es wieder geht, mit dem replace kernel?
 
Zuletzt bearbeitet:
Dann sind die wohl in neueren Versionen zusammengefaßt.
So gibt es auch NETFILTER_XT_MATCH_ESP, NETFILTER_XT_MATCH_LENGTH, NETFILTER_XT_MATCH_MAC, NETFILTER_XT_MATCH_MULTIPORT, NETFILTER_XT_MATCH_LIMIT.
Andererseits aber IP6_NF_MATCH_OWNER mit getrennten Versionen für IPV4 und IPV6.

Fehlen Dir die Module komplett oder geht es Die darum welche Module geladen werden müssen, um eine konkrete Regel zu unterstützen? Im letzteren Fall würde ich den Kernel automatisch die benötigten Module laden lassen.
 
Also ich habe leider keine wirkliche Doku, welches Modul bei welcher Regel gebraucht wird.

Da habe ich mich mal janz dumm gestellt und alle module, die in freetz menuconfig drin sind "gebaut" und an Hand der liste versucht, diese zu laden.

Da ist mir aufgefallen, dass es die Hälfte davon gar nicht gibt (stehen aber brav in der Modulliste von freetz status).

Einige der Regeln gingen nicht, bei ipv4 z.B. das ah - modul, bei ipv6 diverse.

Ich dachte, es läge daran , dass die module nicht da wären. Ich habe natürlich nicht geprüft, ob die Pendants von IPv4 geladen sind. Werde ich aber mal nachholen.
 
cando: In den Labor-Firmwares geht es normalerweise nicht, den kernel zu ersetzen, deswegen ist das bei dir wohl deaktiviert.
Replace Kernel geht eigentlich erst nachdem AVM die neuen Sourcen released hat. Dieses passiert aber fast imemr erst nach mehrfrachen "zurufen" mit irgendwas an Drohung in Richtung GPL.
 
Wie kann man den den Kernel überreden, die Module automatisch zu laden?

Ich habe keine Labor-Firmware.

Boxtyp: 7270 AVM Firmwareversion: 04.76 Sprache: de
 
Dann kann allerhöchstens noch sein, dass "replace kernel" bei dir durch irgendein PAket aktiviert wurde, und du es deswegen nciht abwählen/wählen kannst.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.