Portál AbcLinuxu, 22. července 2025 23:13


Dotaz: omezení počtu spojení v iptables/connlimit

8.1.2010 08:22 Tomáš
omezení počtu spojení v iptables/connlimit
Přečteno: 704×
Odpovědět | Admin
Dobrý den,

je možné a napadá vás případně jak omezit počet spojení pro hosta z vnitřní sítě do internetu tak, že omezení nebude "všechny spojení klienta", ale "všechny spojení klienta na nějaký server". Příklad: limit je 10 spojení, host otevře 10 spojení na seznam.cz, tímto směrem už žádné neotevře, ale jinam ano. A samozřejmě seznam.cz bude dostupný pro ostatní hosty (do jejich limitu počtu spojení).
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

8.1.2010 09:12 NN
Rozbalit Rozbalit vše Re: omezení počtu spojení v iptables/connlimit
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ano, pres iptables.

NN
8.1.2010 10:15 Pedro
Rozbalit Rozbalit vše Re: omezení počtu spojení v iptables/connlimit
Chytra odpoved ;o), nez sem napsat neco jako ty a udelat tak ze sebe blbce - je lepsi radeji mlcet, nemyslis?
8.1.2010 11:23 marek
Rozbalit Rozbalit vše Re: omezení počtu spojení v iptables/connlimit
Ahoj, ja som to riesil takto:

acl siet 192.168.1.0/24 acl max maxconn 3 http_access deny siet max

Takto sa to neda?
8.1.2010 13:10 faha
Rozbalit Rozbalit vše Re: omezení počtu spojení v iptables/connlimit
Ale tohle je pravidlo pro PROXY(squid) ne? a tyka se to jen http prozu. Nebo je to uplne neco jineho?
8.1.2010 13:22 Tomáš
Rozbalit Rozbalit vše Re: omezení počtu spojení v iptables/connlimit
Nenapsal jsem to, ale o HTTP mi jde. Každpádně funguje tak, že kdoliv z 192.168.1.0 udělá na jakoukoliv adresu venku max 3 spojení? Squidu bych se rád vyhnul, radši bych něco přímo v iptables ... ale kdyby na to došlo, může Squid běžet "transparentně"? (bez nastavení proxy v prohlížeči, samozřejmě že komunikace by tekla přes daný stroj)
8.1.2010 13:30 marek
Rozbalit Rozbalit vše Re: omezení počtu spojení v iptables/connlimit
Ano je to cez proxy. Nastavis si maximalny pocet spojeni cez http/https (tusim aj ftp). Squid moze bezat transparentne v pohode dokonca ma novy squid podporu https, len tam je problem, ze treba vygenerovat lokalny certifikat pri transparentnom mode. Vysledkom je, ze ked sa niekto pripoji napr. na banku tak mu vyskoci hlaske, ze certifikat nie je podpisany a pod.
8.1.2010 12:35 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: omezení počtu spojení v iptables/connlimit
Odpovědět | | Sbalit | Link | Blokovat | Admin

iptables nic takové standardně neumí, protože vy potřebujete omezení přes zdrojovou i cílovou adresu. Kdybyste měl omezený počet zdrojů, tak by se dalo udělat vypsat connlimit pravidla pro každou zdrojovou adresu zvlášť.

connlimit sice má parametr --connlimit-mask, ale nějak nechápu, které stroje seskupuje.

8.1.2010 13:08 Tomáš
Rozbalit Rozbalit vše Re: omezení počtu spojení v iptables/connlimit
Díky, to jsem si myslel :-( A jak by alespoň prosím vypadalo pravidlo pro každou zdrojovou adresu zvlášť?
8.1.2010 13:09 marek
Rozbalit Rozbalit vše Re: omezení počtu spojení v iptables/connlimit
a mne neodpovies? :-(
9.1.2010 09:38 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: omezení počtu spojení v iptables/connlimit
Přes parametr -s vyberete jednu zdrojovou adresu.
9.1.2010 09:52 Tomáš
Rozbalit Rozbalit vše Re: omezení počtu spojení v iptables/connlimit
Např. takto?

iptables -s host -p tcp --syn --dport 80 -m connlimit --connlimit-above 10 -j REJECT

To podle mě řekne, že host může mít současně celkově 10 HTTP spojení, ale už ne per destination. Nebo se pletu?
9.1.2010 10:13 Ash | skóre: 53
Rozbalit Rozbalit vše Re: omezení počtu spojení v iptables/connlimit
Imho myslel "omezení přes zdrojovou i cílovou adresu" a tato omezení "pro každou zdorojovou adresu zvlášť". Takže hafo pravidel -s host -d host, a pro každého jednoho -s hosta tato (stejná) pravidla, lišící se jen tím -s hostem.
9.1.2010 10:34 Tomáš
Rozbalit Rozbalit vše Re: omezení počtu spojení v iptables/connlimit
Jenže s -d host bych musel vypsat skoro všechny IP adresy na světě.
9.1.2010 12:43 1john2 | skóre: 35 | blog: jo12hn | zlín, brno
Rozbalit Rozbalit vše Re: omezení počtu spojení v iptables/connlimit
myslim ze to je ta nevyhoda o ktere vyse mluvili... proto bylo receno, ze je to pouzitelne jen pro par adres...
9.1.2010 13:55 Tomáš
Rozbalit Rozbalit vše Re: omezení počtu spojení v iptables/connlimit
Kdybyste měl omezený počet zdrojů, tak by se dalo udělat vypsat connlimit pravidla pro každou zdrojovou adresu zvlášť.
9.1.2010 14:15 Ash | skóre: 53
Rozbalit Rozbalit vše Re: omezení počtu spojení v iptables/connlimit
jo to je pravda, stále ale platí že byste v těch pravidlech (pro každou zdrojovou adresu zvlášť) musel mít zdrojovou i cílovou adresu, takže to je prostě velmi omezeně použitelné (třeba pro rapidshare a dost).
10.1.2010 12:58 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: omezení počtu spojení v iptables/connlimit

Řeknu to takhle: S connlimit nemám zkušenosti, proto ta poznámka, že nevím, jak funguje parametr masky.

Předpokládám, že modul connlimit počítá spojení podle filtrů vypsaných před ním. Takže -s source -m connlimit by měl omezit jen spojení ze source, ostatní by neměl ovlivnit.

Přiznám, že mě nepadlo, že by tazatel chtěl omezit počet spojení per dvojice zdroj-cíl. Předpokládal jsem, že stačí omezit počet spojení z každého zdroje.

Vyzkoušejte si, nad čím pracuje parametr masky. Jestli nad zdrojovou nebo cílovou adresou.

Obecné omezování je dost výpočetně složité, protože není paměťově únosné držet mezisoučty pro kvadratický prostor nad množinou všech adres. Zeptejte se na uživatelském mailing listu netfilteru.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.