1.2 mio IP Bereiche laden

Dieses Thema im Forum "Firewalls" wurde erstellt von bit-teufel, 16.11.2010.

  1. #1 bit-teufel, 16.11.2010
    bit-teufel

    bit-teufel Eroberer

    Dabei seit:
    05.06.2008
    Beiträge:
    59
    Zustimmungen:
    0
    Hallo,

    Ich habe mir alle frei zugänglichen IP Bereichs Listen von der Seite http://www.iblocklist.com/lists.php geladen
    dann alle IP Bereiche mit "sed" rausgefiltert und in eine Datei/Script geschrieben.
    Der Inhalt sie wie folgt aus:
    #!/bin/sh
    iptables -A AntiP2P -m iprange --src-range 1.1.1.0-1.1.1.255 -j DROP
    iptables -A AntiP2P -m iprange --src-range 1.2.3.0-1.2.3.255 -j DROP
    iptables -A AntiP2P -m iprange --src-range 27.0.64.0-27.0.95.255 -j DROP
    iptables -A AntiP2P -m iprange --src-range 27.50.48.0-27.50.63.255 -j DROP
    und das jetzt 1.2 mio mal .....
    Das laden des Script dauert aber länger als 3 Tage.
    Gibt es die Möglichkeit die zu blockierdenen IP Bereiche schneller zu laden ?

    Vielen Dank im Voraus
    B.-D.
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. foexle

    foexle Kaiser

    Dabei seit:
    02.05.2007
    Beiträge:
    1.104
    Zustimmungen:
    0
    Ort:
    Saarbrücken
    °° .....

    wäre es nicht einfacher einfach alles zu DROPen und nur die gewünschten IP-Adressen frei zu geben ? ;) ....
     
  4. #3 bit-teufel, 16.11.2010
    bit-teufel

    bit-teufel Eroberer

    Dabei seit:
    05.06.2008
    Beiträge:
    59
    Zustimmungen:
    0
    Das wäre sicherlich einfacher. Aber warum einfach wenn es auch schwer geht.
    Gibt es da keine andere Möglichkeit außer die Bereiche mittels iptables zu laden ?
    oder eine Technik mit der man die Bereiche schneller laden kann als mit einen Script in dem dann steht "iptables -A AntiP2P -m iprange --src-range 27.0.64.0-27.0.95.255 -j DROP" usw. ?
     
  5. #4 rikola, 16.11.2010
    Zuletzt bearbeitet: 16.11.2010
    rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    'man iptables', nach 'range' gesucht und ein paar mal (3x!) 'n' fuer 'next' gedrueckt sollte Deine Frage eigentlich beantworten.
     
  6. #5 saeckereier, 16.11.2010
    saeckereier

    saeckereier Graue Eminenz

    Dabei seit:
    08.05.2005
    Beiträge:
    1.920
    Zustimmungen:
    0
    Ort:
    Im schönen Norden
    Also wenn du 1,2 Millionen IP-Adressen in den Speicher laden willst, dann wird das sicherlich so oder so dauern. Das der Paketfilter dann auch noch performant ist zweifel ich einfach mal an. Daher sollte die Frage erlaubt sein, warum willst du das tun? Über eine Hashtabelle oder ähnliches liesse sich das vielleicht machen, aber dafür kenne ich kein passendes Modul. Ich kenne allerdings auch die netfilter interne Struktur nicht. eines deiner Problem dürfte wohl schon sein, dass iptables Kommando 1,2 Millionen mal zu starten, das alleine wird Zeit kosten.

    rikola, was meinst du, ich finde nix entsprechendes in der man-page..
     
  7. #6 saeckereier, 16.11.2010
    saeckereier

    saeckereier Graue Eminenz

    Dabei seit:
    08.05.2005
    Beiträge:
    1.920
    Zustimmungen:
    0
    Ort:
    Im schönen Norden
    Weitere Möglichkeiten wären übrigens das Modul recent für iptables, dann kann man einzelne IPs über ein /sys/... Interface hinzufügen oder iptables-restore eine geeignete Datei zu präsentieren. Oder BSD zu nehmen, dessen Paketfilter kann sowas.
     
  8. #7 bit-teufel, 17.11.2010
    bit-teufel

    bit-teufel Eroberer

    Dabei seit:
    05.06.2008
    Beiträge:
    59
    Zustimmungen:
    0
    Mit "iptables-restore" klappt es schon viel besser. Ich kann in einen Rutsch (ca. 20 Sek.) über 300.000 IPtables Regeln laden.
    Danach bricht iptables-restore leider ab.
    Fehlermeldung: "iptables: Memory allocation problem"
    und unter /var/log/messages: "Nov 17 10:54:11 vmware kernel: vmap allocation for size 85110784 failed: use vmalloc=<size> to increase size."

    Die Kiste ist mit 2GB Ram ausgestattet.
    Gibt es die Möglichkeit mehr RAM für IPtables frei zu machen ? Oder eine andere Lösung ?
     
  9. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Vielleicht ergibt sich die ja, wenn Du die Frage von saeckereier beantwortest, weshalb Du das ueberhaupt machen moechtest.
     
  10. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Ich hatte es so verstanden, dass ein Bereich in src-range angegeben werden sollte, und dazu liefert mir die man-page von iptables unter Debian stable:
    und so wie ich die Frage verstanden habe, stellt dies die Antwort dar, naemlich dass man in src-range tatsaechlich einen Bereich anstatt nur einer einzelnen IP-Adresse angeben kann. Aber ich sehe gerade, dass das dem TO bereits bekannt ist und ich die Frage falsch gelesen habe. Muss mich entschuldigen!
     
  11. #10 bit-teufel, 09.12.2010
    bit-teufel

    bit-teufel Eroberer

    Dabei seit:
    05.06.2008
    Beiträge:
    59
    Zustimmungen:
    0
    Um das Thema nochmal aufzuwärmen. Mit IPtables 1,2 Mio Adress Regeln einzulesen funktioniert jetzt tadellos,
    nur geht dann die Performance des Server derart in den Keller, das es unmöglich wird auf der Kiste zu arbeiten.
    Nach längerem Suchen bin ich auf "ipset" gestoßen http://ipset.netfilter.org/ .
    Die Befehle sind fast genau wie bei IPtables. Um die vielen Regeln einzulesen verwende ich folgenden Befehl:
    "cat antip2p.txt | ipset --restore" und der Inhalt von "antip2p.txt" sieht so aus:

    # Generated by ipset 4.5 on Tue Dec 7 17:37:56 2010
    -N baum iptreemap --gc 300
    -A baum 4.18.162.102-4.18.162.102
    -A baum 4.36.44.3-4.36.44.3
    -A baum 4.38.98.140-4.38.98.140
    -A baum 4.53.2.12-4.53.2.15
    und das ganze jetzt 1,2 mio. mal
    COMMIT
    #Completed on Tue Dec 7 17:37:58 2010

    Jetzt erscheint allerdings ein neues Problem. Bei ca. 4 tausend Regeln stürtzt ipset ab.
    "cat /var/log/messages" gibt folgenden Fehler aus:

    Dec 9 11:35:04 imperator kernel: ipset: page allocation failure. order:0, mode:0x20
    Dec 9 11:35:04 imperator kernel: Pid: 6898, comm: ipset Not tainted 2.6.36-default #1
    Dec 9 11:35:04 imperator kernel: Call Trace:
    Dec 9 11:35:04 imperator kernel: [<c0a7d132>] ? printk+0xf/0x11
    Dec 9 11:35:04 imperator kernel: [<c01d1a99>] __alloc_pages_nodemask+0x47b/0x4e7
    Dec 9 11:35:04 imperator kernel: [<c01f4bf4>] ? cache_alloc_refill+0x327/0x4b7
    Dec 9 11:35:04 imperator kernel: [<c01f4b5a>] cache_alloc_refill+0x28d/0x4b7
    Dec 9 11:35:04 imperator kernel: [<c01f5689>] kmem_cache_alloc+0x71/0xfc
    Dec 9 11:35:04 imperator kernel: [<c0a7f577>] ? _raw_spin_lock_irq+0x2f/0x32
    Dec 9 11:35:04 imperator kernel: [<c0f18720>] ? isapnp_init+0xff/0xbec
    Dec 9 11:35:04 imperator kernel: [<c4d49d5e>] ? iptreemap_uadd+0x48f/0x571 [ip_set_iptreemap]
    Dec 9 11:35:04 imperator kernel: [<c4d49c63>] iptreemap_uadd+0x394/0x571 [ip_set_iptreemap]
    Dec 9 11:35:04 imperator kernel: [<c0f2d120>] ? ip_auto_config+0x1aa/0xe67
    Dec 9 11:35:04 imperator kernel: [<c0f2d140>] ? ip_auto_config+0x1ca/0xe67
    Dec 9 11:35:04 imperator kernel: [<c4ceb3dc>] ip_set_addip+0x29/0x54 [ip_set]
    Dec 9 11:35:04 imperator kernel: [<c4cec158>] ip_set_sockfn_get+0x75d/0x819 [ip_set]
    Dec 9 11:35:04 imperator kernel: [<c0f2d120>] ? ip_auto_config+0x1aa/0xe67
    Dec 9 11:35:04 imperator kernel: [<c0865184>] nf_sockopt+0xdd/0x105
    Dec 9 11:35:04 imperator kernel: [<c08651bf>] nf_getsockopt+0x13/0x15
    Dec 9 11:35:04 imperator kernel: [<c089dd30>] ip_getsockopt+0x63/0x89
    Dec 9 11:35:04 imperator kernel: [<c08b58cc>] raw_getsockopt+0x1f/0x94
    Dec 9 11:35:04 imperator kernel: [<c0817494>] sock_common_getsockopt+0x13/0x18
    Dec 9 11:35:04 imperator kernel: [<c0815bd3>] sys_getsockopt+0x60/0x7e
    Dec 9 11:35:04 imperator kernel: [<c081717f>] sys_socketcall+0x149/0x1a6
    Dec 9 11:35:04 imperator kernel: [<c012f358>] sysenter_do_call+0x12/0x28
    Dec 9 11:35:04 imperator kernel: Mem-Info:
    Dec 9 11:35:04 imperator kernel: DMA per-cpu:
    Dec 9 11:35:04 imperator kernel: CPU 0: hi: 0, btch: 1 usd: 0
    Dec 9 11:35:04 imperator kernel: Normal per-cpu:
    Dec 9 11:35:04 imperator kernel: CPU 0: hi: 6, btch: 1 usd: 0
    Dec 9 11:35:04 imperator kernel: HighMem per-cpu:
    Dec 9 11:35:04 imperator kernel: CPU 0: hi: 186, btch: 31 usd: 24
    Dec 9 11:35:05 imperator kernel: active_anon:5842 inactive_anon:5537 isolated_anon:0
    Dec 9 11:35:05 imperator kernel: active_file:9466 inactive_file:19319 isolated_file:0
    Dec 9 11:35:05 imperator kernel: unevictable:0 dirty:67 writeback:0 unstable:0
    Dec 9 11:35:05 imperator kernel: free:75019 slab_reclaimable:1348 slab_unreclaimable:5652
    Dec 9 11:35:05 imperator kernel: mapped:4980 shmem:28 pagetables:208 bounce:0
    Dec 9 11:35:05 imperator kernel: DMA free:284kB min:248kB low:308kB high:372kB active_anon:0kB inactive_anon:0kB active_file:4kB inactive_file:444kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15868kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:36kB slab_unreclaimable:476kB kernel_stack:8kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
    Dec 9 11:35:05 imperator kernel: lowmem_reserve[]: 0 47 492 492
    Dec 9 11:35:05 imperator kernel: Normal free:284kB min:764kB low:952kB high:1144kB active_anon:0kB inactive_anon:0kB active_file:5140kB inactive_file:5556kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:48760kB mlocked:0kB dirty:64kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:5356kB slab_unreclaimable:22132kB kernel_stack:1464kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
    Dec 9 11:35:05 imperator kernel: lowmem_reserve[]: 0 0 3555 3555
    Dec 9 11:35:05 imperator kernel: HighMem free:299508kB min:444kB low:2232kB high:4020kB active_anon:23368kB inactive_anon:22148kB active_file:32720kB inactive_file:71276kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:455160kB mlocked:0kB dirty:204kB writeback:0kB mapped:19920kB shmem:112kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:832kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
    Dec 9 11:35:05 imperator kernel: lowmem_reserve[]: 0 0 0 0
    Dec 9 11:35:05 imperator kernel: DMA: 1*4kB 1*8kB 3*16kB 5*32kB 1*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 284kB
    Dec 9 11:35:05 imperator kernel: Normal: 1*4kB 1*8kB 1*16kB 0*32kB 0*64kB 0*128kB 1*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 284kB
    Dec 9 11:35:05 imperator kernel: HighMem: 1*4kB 2*8kB 0*16kB 1*32kB 1*64kB 1*128kB 1*256kB 2*512kB 3*1024kB 14*2048kB 65*4096kB = 299508kB
    Dec 9 11:35:05 imperator kernel: 28813 total pagecache pages
    Dec 9 11:35:05 imperator kernel: 0 pages in swap cache
    Dec 9 11:35:05 imperator kernel: Swap cache stats: add 0, delete 0, find 0/0
    Dec 9 11:35:05 imperator kernel: Free swap = 1052252kB
    Dec 9 11:35:05 imperator kernel: Total swap = 1052252kB
    Dec 9 11:35:05 imperator kernel: 131067 pages RAM
    Dec 9 11:35:05 imperator kernel: 114686 pages HighMem
    Dec 9 11:35:05 imperator kernel: 5659 pages reserved
    Dec 9 11:35:05 imperator kernel: 36149 pages shared
    Dec 9 11:35:05 imperator kernel: 33930 pages non-shared

    Wieß jemand rat ?

    Vielen Dank im Voraus
    B.-D.
     
  12. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Ohne jetzt Kernelprogrammierer zu sein wuerde ich mal darauf tippen, dass ipset mehr Speicher anfordern muss, um all die Regeln zu speichern, als der Kernel - aus welchen Gruenden auch immer - ihm zugesteht. Da wirst Du wahrscheinlich nicht viel machen koennen.
     
  13. #12 T-Virus, 09.12.2010
    T-Virus

    T-Virus Free Software Fan :p

    Dabei seit:
    06.01.2009
    Beiträge:
    107
    Zustimmungen:
    0
    Hatte diesen Thread mal eine Zeit lang beobachtet.
    Dein Problem wird immer sein, dass du 1,2 Mio IP Adressen einladen und im Speicher halten musst.
    Wie oben schon erwähnt wäre es wirklich sinnvoller einfaches alles zu sperren und nur benötigte Adressen freizugeben.
    Oder du filters die 1,2 Mio Adressen so, dass du dann bestimmte Bereiche hast die du dann sperren musst.
    Dies wäre vernünftiger als 1,2 Mio Adressen sperren zu wollen was scheinbar schon am einlesen scheitert...

    T-Virus
     
  14. #13 saeckereier, 09.12.2010
    saeckereier

    saeckereier Graue Eminenz

    Dabei seit:
    08.05.2005
    Beiträge:
    1.920
    Zustimmungen:
    0
    Ort:
    Im schönen Norden
    Naja, 1,2 Mio Adressen belegen auch nur ein paar MB Hauptspeicher, abhängig davon wie sie abgelegt werden ist das also durchaus machbar. Ich denke aber auch, dass es daran scheitert, dass weder der Kernel noch ipsets auf so große Mengen ausgelegt sind.. Schreib doch mal die ipsets Mailingliste an..
     
  15. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  16. #14 T-Virus, 10.12.2010
    T-Virus

    T-Virus Free Software Fan :p

    Dabei seit:
    06.01.2009
    Beiträge:
    107
    Zustimmungen:
    0
    Stimmt...
    Hab bei meiner Milchmädchen Rechnung wohl aus MB GB gemacht :o)
    Ansonsten kann es nur an der Menge liegen.
    Würde trotzdem zum einfacheren Weg, siehe oben, raten.

    T-Virus
     
  17. #15 saeckereier, 10.12.2010
    saeckereier

    saeckereier Graue Eminenz

    Dabei seit:
    08.05.2005
    Beiträge:
    1.920
    Zustimmungen:
    0
    Ort:
    Im schönen Norden
    Naja, wir haben seit Beginn an des Threads x-mal erwähnt, dass es sinnvoll wäre mal zu erzählen, warum man das tun will und das es sicherlich auch andere Lösungen geben kann. Wenn er das nicht preisgeben will, können wir halt auch nix anderes raten.
     
Thema:

1.2 mio IP Bereiche laden

Die Seite wird geladen...

1.2 mio IP Bereiche laden - Ähnliche Themen

  1. Erweiterung der Foren um (weitere) Offtopicbereiche ...

    Erweiterung der Foren um (weitere) Offtopicbereiche ...: Hallo zusammen, wir überlegen zZt. die Forenstruktur um weitere Offtopic (nicht Linux/Unix relevante) Themen zu erweitern. z.B. Politik,...
  2. Samba in mehreren IP-Adressbereichen

    Samba in mehreren IP-Adressbereichen: Hallo, erstmal hallo ;) Ich habe eine Frage zu meinem Samba-Server (OpenSuse 11.2): Momentan steht er als PDC im Adressbereich 192.168.1 (s....
  3. VSFTPD: Benutzer soll auf unterschiedliche Bereiche zugriff haben

    VSFTPD: Benutzer soll auf unterschiedliche Bereiche zugriff haben: Hallo, ich habe VSFTPD auf nem betagten suse9.3 laufen. klappt soweit auch alles. Allerdings weiß ich gerade nicht mehr weiter. Was ich...
  4. 2 Arbeitsbereiche auf 2 Monitoren mit einem X Server

    2 Arbeitsbereiche auf 2 Monitoren mit einem X Server: Habe heute einen zweiten Monitor des gleichen Typs wie dem ersten bekommen und hab mich gleich daran gemacht damit rum zu spielen. Ich habe es...
  5. Fenstern bestimmte Bereiche verbieten?

    Fenstern bestimmte Bereiche verbieten?: Hallo Leute, kann man den Fenstern unter Gnome verbieten, bestimmte Bereiche des Desktops zu überdecken? Ich habe via Eterm mein syslog auf dem...