iptables unter Freetz/7270

Da scheint noch nicht alles im Lot zu sein.

Code:
modprobe: module ipt_state not found
modprobe: failed to load module ipt_state: No such file or directory
modprobe: module ipt_mac not found
modprobe: failed to load module ipt_mac: No such file or directory
modprobe: module ipt_multiport not found
modprobe: failed to load module ipt_multiport: No such file or directory
insmod: cannot insert '/lib/modules/2.6.19.2/kernel/net/ipv4/netfilter/iptable_nat.ko': unknown symbol in module

Die betreffenden Module gibts gar nicht, und lassen sich bei den Kernel-Modulen in menuconfig auch nicht auswählen....

Code:
iptable_nat: Unknown symbol ip_xfrm_me_harder

Da bin ich nun echt etwas überfordert....

EDIT: Hier habe ich ein Bugticket gefunden, wo steht
The file make/iptables/Config.in also has to be revised also. e.g ipt_state and ipt_mac modules don't exist for 2.6.19.2.

Heisst das, es lassen sich unter 2.6.19.2 keine Regeln aufstellen, die den State (ESTABLISHED etc.) berücksichtigen?
Ich kann mir nicht vorstellen, wie das ohne gehen soll!?

EDIT: Das Paket wurde zu xt_state unbenannt. iptables_cgi versucht nur das falsche zu laden (deswegen ist iptables-cgi ja auch disabled für 2.6.19.2)
Damit funktioniert es jetzt aber bestens!
 
Zuletzt bearbeitet:
Es gibt hier ein Problem in Verbindung mit den Änderungen von IPv6. Da muss ich mal nachfragen, weil ich kein Plan davon hab.

MfG Oliver

edit: Ist denn das iptable_nat.ko geladen? Wahrscheinlich nicht...
 
Zuletzt bearbeitet:
@Oli: Doch, das iptable_nat wurde von iptables-cgi geladen.
Das Problem ist für mich gelöst: xt_state funktioniert anstelle von ipt_state.

Das iptables-cgi brauche ich eh nicht. Man könnte mal, wenn man wollte, das rc-Script anpassen, sodass es auch mit 2.6.19.2 richtig läuft....

Für die anderen Module, die von iptables-cgi nicht geladen werden konnten, gibt es allesamt auch einen Ersatz in den xt_XXX Modulen. Also alles in Butter.

Ich konnte bislang auch die dokumentierten Reboots bei Verwendung von ip_conntrack nicht nachvollziehen. Aber vielleicht muss ich da noch etwas länger Geduld haben....
 
Kannst du das Modul iptable_nat.ko laden?

MfG Oliver
 
Sorry, nein, stimmt, unknown symbol ip_xfrm_me_harder...
 
Hallo Leute,

Ich habe mal eine Frage zu iptables.

Ich habe den aktuellen freetz-trunk übersetzt und versucht iptables einzubinden (FRITZ!Box Fon WLAN 7270 Firmware-Version 54.04.67).

Replace Kernel wird ja nicht angeboten im menuconfig.

Nun bekomme ich folgende Fehlermeldung und iptables werden nicht geladen:

Code:
/var/mod/root # iptables -L
iptables v1.4.1.1: can't initialize iptables table `filter': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.

Wie habt ihr die wegbekommen?

Hier mein lsmod, falls es hilft:

Code:
/var/mod/root # lsmod
Module                  Size  Used by    Tainted: P
rfcntl                 59915  0
avm_audio              33506  3 rfcntl
sch_sfq                 5619  4
sch_llq                 9102  1
sch_tbf                 5664  1
wlan_scan_ap            8788  1
wlan_acl                3347  1
wlan_wep                6034  0
wlan_tkip              12401  2
wlan_ccmp               7924  1
wlan_xauth              1182  0
ath_pci               141011  0
ath_rate_atheros       55443  1 ath_pci
wlan                  214661  9 wlan_scan_ap,wlan_acl,wlan_wep,wlan_tkip,wlan_ccmp,wlan_xauth,ath_pci,ath_rate_atheros
ath_dfs                23486  1 ath_pci
ath_hal               212696  4 ath_pci,ath_rate_atheros,ath_dfs
avm_ath_extensions     43195  5 rfcntl,ath_pci,ath_rate_atheros,wlan,ath_hal
ext3                  131149  0
jbd                    62144  1 ext3
ext2                   58569  0
mbcache                 7075  2 ext3,ext2
vfat                   11303  1
fat                    53460  1 vfat
nls_cp437               5368  1
nls_iso8859_1           3714  1
usb_storage            36333  1
sd_mod                 17441  2
scsi_mod               93945  2 usb_storage,sd_mod
kdsldmod              822328  2
musb_hdrc              37265  0
usbcore               125996  3 usb_storage,musb_hdrc
dect_io                21062  2
avm_dect              368213  1 dect_io
capi_codec            128983  0
isdn_fbox_fon5        741481  0
pcmlink               234591  3 avm_dect,capi_codec,isdn_fbox_fon5
rtc_avm                 6228  1 pcmlink
rtc_core                7083  1 rtc_avm
rtc_lib                 2712  2 rtc_avm,rtc_core
dsl_ur8               168711  0
loop                   13938  8
jffs2                 115345  1
Piglet_noemif          33056  0
led_modul_Fritz_Box_7270    57739  7 ath_hal
/var/mod/root #
 
Mit:
Code:
modprobe iptable_filter

Ich habe noch zusätzlich folgende Module geladen:
ip_tables, ip_conntrack, x_tables und xt_state.

Aber das hängt natürlich davon ab, was du genau brauchst...
 
Super, danke!

Jetzt noch eine Frage:

man kann ja noch ipt_LOG laden und LOG als Ziel für die Regel setzen, um theoretisch im syslog die pakete per Regel loggen zu lassen.

Es geht auch (teilweise). Allerdings nur auf TTY0 (erste Console). Im Syslog vom syslogd / klogd fehlt jede spur von iptables.

Außerdem finde ich nirgends die ominöse /etc/syslog.conf wo man normalerweise den syslog beim linux konfigurieren können soll.

Wie bekomme ich mein log auf Datei für eine spätere Auswertung?

Danke!
 
Theoretisch. Praktisch muss man sich momentan wegen AVMs Programmierkünsten zwischen Syslog oder DECT entscheiden: Ticket 254
 
Was heist das? Wie und wo kann ich diese Entscheidung denn treffen? Den DECT Log brauche ich nicht unbedingt, da DECT ja mittlerweile einigermaßen funktioniert.

Außerdem kommt IMHO der syslogd aus dem freetz trunk und bindet den klogd mehr oder weniger mit ein. Kann man da nicht beim build eine syslog.conf mit in das filesystem patchen bzw /etc/syslog.conf auf eine config im flash umleiten (dort wo die debug.conf und die ar7.conf liegen...).

Ich bin ja bescheiden, ich will doch gar nicht die verbogenen AVM logs lesen, sondern "nur" mit freetz mitteln die standard linux logs meiner zusätzlichen Komponenten in freetz (z.B. iptables,...) von denen AVM keinen Schimmer hat.

Ich denke, da hat ausnahmsweise mal AVM nichts damit zu tun;).

Viele Grüße

cando
 
Die Entscheidung ist Kernellogmessages oder DECT. DECT Telefone sind also tot, wenn du das aktivierst. Du kannst es aber gerne probieren.

Logging:
Code:
echo STD_PRINTK > /dev/debug

DECT:
Code:
echo AVM_PRINTK > /dev/debug

MfG Oliver
 
hallo olistudent,

vielen Dank für die Erleuchtung. :groesste:

Ich bin ein noob, was unix / linux betrifft und vielleicht mache ich jetzt den größten blödsinn...

Ich habe mal folgendes versucht:

Code:
/var/mod/root # [B]logger < /dev/debug[/B]

und siehe da, alles landet im syslog vom syslogd.

Ist das ein akzeptabler workaround oder handel ich mir da mehr probleme ein?

Man könnte das doch auch in der debug.conf einbauen und bekäme dann den syslog beschrieben.

:rolleyes:

EDIT: zu früh gefreut. Es landet nun jedes 2. Paket im Log / immer im Wechsel mit der Konsole. Wäre ja auch zu einfach gewesen.
 
Zuletzt bearbeitet:
Zunächst mal vielen Dank an alle, die mir durch ihre Beiträge geholfen haben!

Hier ein kurzes Update für die Leser dieses Threds.

Ich habe nun iptables zum Laufen gebracht (incl. conntrack) und bislang keine Abstürze der FB7270 (FW67 + akt. freetz trunk) zu verzeichnen.

Die Hürde für den Windows verwöhnten war, dass man jedes Modul im Linux händisch laden muss (bzw. persistent über die debug.cfg). Tut man es nicht, funktionieren viele Kommandos enfach nicht oder bringen komische Fehlermeldungen.

Hier meine debug.cfg für den interessierten Leser:

Code:
# # # FIREWALL STARTEN

modprobe ip_tables
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe iptable_filter
modprobe ipt_LOG
modprobe xt_state
modprobe x_tables

modprobe ip_nat
modprobe ip_nat_ftp
modprobe ipt_MASQUERADE
modprobe ipt_REDIRECT
modprobe ipt_REJECT
modprobe ipt_TCPMSS
modprobe ipt_iprange
modprobe ipt_layer7
modprobe ipt_tos
modprobe ipt_ttl
modprobe iptable_mangle
modprobe iptable_nat
modprobe iptable_raw
modprobe x_tables
modprobe xt_CLASSIFY
modprobe xt_MARK
modprobe xt_NFQUEUE
modprobe xt_NOTRACK
modprobe xt_comment
modprobe xt_conntrack
modprobe xt_esp
modprobe xt_helper
modprobe xt_length
modprobe xt_limit
modprobe xt_mac
modprobe xt_mark
modprobe xt_multiport
modprobe xt_pkttype
modprobe xt_quota
modprobe xt_realm
modprobe xt_state
modprobe xt_tcpmss
modprobe xt_tcpudp
modprobe ip_conntrack_h323
modprobe ip_nat_h323

# modprobe ip_conntrack_irc
# modprobe ip_conntrack_pptp
# modprobe ip_conntrack_tftp
# modprobe ip_nat_h323
# modprobe ip_nat_irc
# modprobe ip_nat_pptp
# modprobe ip_nat_tftp
# modprobe ipt_TOS
# modprobe xt_statistic
# modprobe xt_string


# # # FIREWALL RULES

iptables -N CANDO
iptables -A CANDO -p tcp  -s 192.168.0.0/24 -m multiport --dport 20,21,22,25,80,110,443,465,995,5060 -j ACCEPT
iptables -A CANDO -p udp  -s 192.168.0.0/24 -m multiport --dport 53,67,68,80,123,5060 -j ACCEPT
iptables -A CANDO -p icmp -s 192.168.0.0/24 -j ACCEPT
iptables -A CANDO -m state --state RELATED,ESTABLISHED -j ACCEPT
# ... Trusted HOSTS START
# ... Trusted HOSTS END
iptables -A CANDO -j LOG --log-prefix "DENY-LAN-ACCESS "
iptables -A CANDO -j DROP                                             # PARANOIA ROUTER


# # # Rules for Fritz Device

iptables -A INPUT -p udp -s 0.0.0.0 -d 255.255.255.255 --sport 68 --dport 67 -j ACCEPT
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT                 # LOCALHOST
iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT                         # LAN
iptables -A INPUT -s 169.254.1.1/24 -i lan -j ACCEPT                  # EMERGENCY LAN
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 5060 -j ACCEPT                       # VoIP
iptables -A INPUT -p udp --dport 5060 -j ACCEPT                       # VoIP
iptables -A INPUT -j LOG --log-prefix "DENY-FRITZ-ACCESS "
iptables -A INPUT -j DROP                                             # PARANOIA FB IN

iptables -A OUTPUT -d 192.168.0.0/24 -j ACCEPT
iptables -A OUTPUT -d 224.0.0.1/24 -j ACCEPT
iptables -A OUTPUT -d 239.255.255.250 -j ACCEPT
iptables -A OUTPUT -d 127.0.0.1 -j ACCEPT
iptables -A OUTPUT -p udp -m multiport --dport 53,123,5060 -j ACCEPT  # DNS, TIME, VoIP
iptables -A OUTPUT -p tcp -dport 5060 -j ACCEPT                       # VoIP
iptables -A OUTPUT -p tcp -dport 80 -d 63.208.196.0/24 -j ACCEPT      # DynDNS
# iptables -A OUTPUT -d ###.###.###.### -j ACCEPT                       # TRUSTED e-Mail OUT HOST
# iptables -A OUTPUT -d ###.###.###.### -j ACCEPT                       # TRUSTED LOG HOST
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -j LOG --log-prefix "WARNING-CALL-HOME "           
iptables -A OUTPUT -j DROP                                            # PARANOIA FB OUT

# # # Rules for FORWARD

iptables -A FORWARD -j CANDO
iptables -A FORWARD -j LOG --log-prefix "DENY-FWD-ACCESS "            # FALLS WAS DANEBEN GEHT

# # # COPY CONFIG

cat /var/flash/ar7.cfg > /var/tmp/ar7.cfg
cat /var/flash/debug.cfg > /var/tmp/debug.cfg

#

Ziel der Einstellungen sollte sein, nur ausgehenden Verkehr stateful zu erlauben (HTTP, HTTPS, SMTP, SSH, FTP, DNS, NTP, POP3, IMAP)
Zusätzlich habe ich DHCP offen + VoIP in der Config, aber noch nicht bis zum Ende durchdacht.

Eingehender Verkehr aus dem Internet wird bis auf VoIP geblockt.

LAN Zugriff auf die FB (192.168.0.0/24; 169.254.1.1/24) sowie LOCALHOST und Broadcast im LAN für UpnP und DHCP wird von und zur FB erlaubt.

Außerdem wird der FB erlaubt sich die Zeit per NTP zu holen, DNS Anfragen zu senden, sich bei DynDNS zu registrieren, SMTP Mails zum Mail Server zu versenden und VoIP Verbindungen aufzubauen. Alle anderen Aktivitäten sind geblockt und werden protokolliert.

Leider geht der Syslog nicht vernünftig, dafür lasse ich eine ssh Console laufen und mit putty die Ausgaben in eine Datei schreiben. Ich habe dann zwar keinen Zeitstempel der Ausgaben, kann aber trotzdem leicht nachvollziehen, welche Anfragen verworfen werden und entsprechend nachbessern.

Wenn man noch eine elegante Log-Möglichkeit finden könnte, dann wär die Sache Perfekt.

(Zusätzlich läuft bei mir noch die AVM-Firewall mit dem dsld mit einem passenden Regelwerk und loinput/highoutput default deny.)

Zum Ausprobieren neuer Regeln verwende ich die console, und editiere die /var/tmp/debug.cfg, die ich dann mit cat /var/tmp/debug.cfg > /var/flash/debug.cfg scharf stelle.

Was mir noch fehlt, sind noch ein paar Regeln gegen DoS Atacken etc. und eine DMZ / VPN Konfiguration, die ich als nächstes angehen werde.

Zur Erhöhung der Sicherheit müssten an der FB noch ein paar Modifikationen der Interfaces vorgenommen und die Regeln angepasst werden. (LAN Zugriff auf FB wird mal, wenn alles funktioniert, aus Sicherheitsgründen auf die Ports für HTTP (80+81+443), FTP (20+21), Telnet, SSH (22) und vielleicht noch SAMBA beschränkt. Die Interfaces lan:0 mit 169.254.1.1/16 und dsl mit 169.254.2.1/16 liegen im selben Segment 169.254.0.0/16, was einen ungerouteten Traffic untereinander ermöglicht, und die FB Firmware z.B. für DNS Lookup und NTP nutzt... Eigendlich sollte man lan:0 entfernen, eine route von lan nach dsl und umgekehrt schalten und den traffic über ein regelwerk steuern - ich weiss aber noch nicht, welche Probleme das mit der AVM Firmware/flash- und recovery tools etc. nach sich ziehen könnte).

Also noch mals Danke für die Hilfe!
 
Zuletzt bearbeitet:
Du scheinst nicht gerade haushälterisch mit deinem Speicher auf der Box umzugehen, oder wieso lädst du mal eben alle Module, auch die die du nicht brauchst. (Oder täusche ich mich da vielleicht?)
 
...Hat mehrere Gründe:

1. ich wollte mal sehen was die Box an addons verträgt ohne abzuschmieren. (und wenn sie abschmiert, dann soll es nich an fehlenden Komponenten liegen)

2. ich war gefrustet, da die meisten Regeln immer schief gingen, weil irgend ein Modul / Tabelle gefehlt hat. (Das fing schon mit simplen Dingen an: ich wollte eine IP Adresse mit einem Zielport sperren und bin gleich gescheitert.)

Ich lasse die iptables erstmal so laufen bis ich alle Regeln, die ich glaube zu brauchen, drin und getestet habe und werde dann im 2. Schritt anfangen alles nicht mehr benötigte auszumisten. (Gilt auch für die optionalen freetz komponenten wie mc, nano & co.) Ich habe schon die AVM Kinderschutz- Online-Hilfe und Assistenten herausgeschmissen und die media box schon auf dem kieker.

Bis jetzt hab ich noch keine Speicherprobleme entdeckt (16MB-Box), ich hab auch noch den SWAP auf USB installiert, der vor sich hin idle't und hoffentlich im Notfall greift.

Aber wie gesagt, wenn ich fertig bin wird rigoros abgespeckt. Je weniger Funktionen so eine Komponente zum Schluss hat, desto sicherer und stabiler ist sie im Endeffekt.
 
Weisst du zufällig gerade, ob für --dport xx nur das Modul xt_multiport benötigt wird. Will fragen, ob du kurz mit lsmod schauen kannst, ob da noch mehr abhängigkeiten bestehen.

Vielen Dank!

Und... geht nun das iptable_nat? Bei mir kam vor etwa einer Woche die Fehlermeldung: "unknown symbol ip_xfrm_me_harder".

Wurde da etwas korrigiert?
 
Wieso hat deine Box nur 16 MB? Ich ging davon aus, dass du eine 7270 hast...
 
er meinst wohl den flash, und mit Platzproblemen das Image, nicht wie du den RAM.
 
Naja, er schrieb doch was von Swap und es ging ums laden der Module...
 
Hallo,

Ich bin gerade unterwegs im Urlaub und komme nicht an die Box, werde es aber posten, sobald ich wieder zuhause bin (nächsten Montag).

Was den Speicher angeht, ich habe ein 7270_16.

Wenn der der RAM ausgehen sollte müsste man es ja daran merken, wenn die anfängt zu swapen. (hab ich doch richtig verstanden mit dem swap - dienst - der funktioniert doch hoffentlich wie der virtuelle Speicher in Windows und wird vom System bei Bedarf verwaltet oder?)

Mit der naterei habe ich mich noch nicht beschäftigt, die erledigt soviel ich weiss, der dsld. Ich hab zwar irgendwo gelesen, dass man den auch noch rausschmeissen und durch open source programmen ersetzen könnte, aber im Moment stört er mich nicht (2 Stufige Firewall mit unterschiedlicher Technologie - dsld + iptables ist auch nicht soo übel).

Platzprobleme hab ich bislang keine feststellen können, auch die Anzeigen im Freetz sind alle im 1. Drittel, ich geh mal davon aus, dass da noch einiges geht.
 
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.