Strona 1 z 3

iptalbes - jak ograniczyć połączenia

: 22 marca 2010, 20:56
autor: d0man199
Czy można jakoś, przez iptables ograniczyć połączenia z jednego IP. Chodzi mi o to, aby iptables ucinało 100 połączeń na minutę z jednego IP.

Kolega zrobił skonfigurował mi iptables i po jego konfiguracji nie mogę z forum wysyłać masowej korespondencji (tzn. emailing). Czy ktoś mógłby doradzić, co zrobić?

: 22 marca 2010, 21:18
autor: mariaczi
Można ograniczyć różnie.
Pokaż wynik

Kod: Zaznacz cały

iptables -L -vn
iptables -t mangle -L -vn

: 22 marca 2010, 21:24
autor: d0man199
iptables -L -vn

Kod: Zaznacz cały

Chain INPUT (policy DROP 26487 packets, 1477K bytes)
 pkts bytes target     prot opt in     out     source               destination                                                                              
 2194  260K ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0                                                                                        udp spt:53
 3693  336K ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0                                                                                
    0     0 REJECT     tcp  --  *      *       211.93.80.117        0.0.0.0/0                                                                                        tcp dpt:22 reject-with icmp-port-unreachable
    0     0 REJECT     tcp  --  *      *       222.255.15.123       0.0.0.0/0                                                                                        tcp dpt:22 reject-with icmp-port-unreachable
    0     0 REJECT     tcp  --  *      *       213.210.219.250      0.0.0.0/0                                                                                        tcp dpt:22 reject-with icmp-port-unreachable
    0     0 REJECT     tcp  --  *      *       213.210.219.250      0.0.0.0/0                                                                                        tcp dpt:22 reject-with icmp-port-unreachable
 5588  336K REJECT     tcp  --  *      *       77.242.163.238       0.0.0.0/0                                                                                        tcp dpt:22 reject-with icmp-port-unreachable
    0     0 REJECT     tcp  --  *      *       222.134.77.25        0.0.0.0/0                                                                                        tcp dpt:22 reject-with icmp-port-unreachable
    0     0 REJECT     tcp  --  *      *       84.124.75.250        0.0.0.0/0                                                                                        tcp dpt:22 reject-with icmp-port-unreachable
 8092  635K ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0                                                                                        tcp dpt:22
 2841  664K ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0                                                                                        tcp dpt:80
   28  1204 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0                                                                                        tcp dpt:53
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0                                                                                        tcp dpt:22
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0                                                                                        tcp dpt:80
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0                                                                                        tcp dpt:53
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0                                                                                        tcp dpt:80
  191  9664 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0                                                                                        tcp dpt:25
  231 11700 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0                                                                                        tcp dpt:110

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination                                                                              

Chain OUTPUT (policy ACCEPT 934K packets, 93M bytes)
 pkts bytes target     prot opt in     out     source               destination                                                                              
 3693  336K ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0
iptables -t mangle -L -vn

Kod: Zaznacz cały

Chain PREROUTING (policy ACCEPT 1392K packets, 1730M bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain INPUT (policy ACCEPT 1392K packets, 1730M bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 938K packets, 93M bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain POSTROUTING (policy ACCEPT 938K packets, 93M bytes)
 pkts bytes target     prot opt in     out     source               destination

: 22 marca 2010, 21:28
autor: mariaczi
Pokaż jeszcze

Kod: Zaznacz cały

iptables -t nat -L -vn
dla profilaktyki. W tym co podałeś nigdzie nie masz ograniczenia ilości połączeń na IP.

: 22 marca 2010, 21:29
autor: d0man199
No właśnie, chciałem ustawić te ograniczenia.

Kod: Zaznacz cały

 iptables -t nat -L -vn

Kod: Zaznacz cały

Chain PREROUTING (policy ACCEPT 34760 packets, 2019K bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain POSTROUTING (policy ACCEPT 10108 packets, 731K bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 10108 packets, 731K bytes)
 pkts bytes target     prot opt in     out     source               destination

: 22 marca 2010, 21:36
autor: mariaczi
Można np. tak:
ilość połączeń na sekundę na IP

Kod: Zaznacz cały

iptables -t mangle -A FORWARD -i eth0 -m mark --mark 0x30 -m hashlimit --hashlimit-mode srcip --hashlimit 30/s --hashlimit-name PPS-limitUL -j ACCEPT
iptables -t mangle -A FORWARD -o eth0 -m mark --mark 0x30 -m hashlimit --hashlimit-mode dstip --hashlimit 60/s --hashlimit-name PPS-limitDL -j ACCEPT
lub ilość połączeń dla danego IP

Kod: Zaznacz cały

iptables -A FORWARD -p tcp --syn -s lokalne_ip -m connlimit --connlimit-above 400 -j REJECT
iptables -A FORWARD -s lokalne_ip -d 0/0 -j ACCEPT
Oczywiście to przykłady, które musisz przystosować dla siebie.
Powodzenia!

: 22 marca 2010, 21:43
autor: d0man199
Bardzo dziękuję. A czy wiesz może o co chodzi z moim drugim problemem. tj.
Kolega zrobił skonfigurował mi iptables i po jego konfiguracji nie mogę z forum wysyłać masowej korespondencji (ang. emailing). Czy ktoś mógłby doradzić, co zrobić?

Edycja:
Jeszcze jedno... Mam forum oparte na skrycie phpbb i po konfiguracji iptables forum nie łączy się z phpbb i nie sprawdza czy jest jakaś nowa wersja tego skryptu. Czy ktoś wie o co chodzi?

: 22 marca 2010, 22:10
autor: mariaczi
Jeśli nie przedstawisz co i jak kolega skonfigurował (czyli wyniki poleceń o jakie prosiłem wcześniej, po "uruchomieniu" konfiguracji kolegi) to ze szklanej kuli wróżyć nie będziemy... Rozbiła się :)

: 22 marca 2010, 22:21
autor: d0man199
A nie dałem wyżej?

iptables -L -vn

Kod: Zaznacz cały

Chain INPUT (policy DROP 26487 packets, 1477K bytes)
 pkts bytes target     prot opt in     out     source                destination                                                                               
 2194  260K ACCEPT     udp  --  *      *       0.0.0.0/0             0.0.0.0/0                                                                                         udp spt:53
 3693  336K ACCEPT     all  --  lo     *       0.0.0.0/0             0.0.0.0/0                                                                                 
    0     0 REJECT     tcp  --  *      *       211.93.80.117         0.0.0.0/0                                                                                         tcp dpt:22 reject-with icmp-port-unreachable
    0     0 REJECT     tcp  --  *      *       222.255.15.123        0.0.0.0/0                                                                                         tcp dpt:22 reject-with icmp-port-unreachable
    0     0 REJECT     tcp  --  *      *       213.210.219.250       0.0.0.0/0                                                                                         tcp dpt:22 reject-with icmp-port-unreachable
    0     0 REJECT     tcp  --  *      *       213.210.219.250       0.0.0.0/0                                                                                         tcp dpt:22 reject-with icmp-port-unreachable
 5588  336K REJECT     tcp  --  *      *       77.242.163.238        0.0.0.0/0                                                                                         tcp dpt:22 reject-with icmp-port-unreachable
    0     0 REJECT     tcp  --  *      *       222.134.77.25         0.0.0.0/0                                                                                         tcp dpt:22 reject-with icmp-port-unreachable
    0     0 REJECT     tcp  --  *      *       84.124.75.250         0.0.0.0/0                                                                                         tcp dpt:22 reject-with icmp-port-unreachable
 8092  635K ACCEPT     tcp  --  *      *       0.0.0.0/0             0.0.0.0/0                                                                                         tcp dpt:22
 2841  664K ACCEPT     tcp  --  *      *       0.0.0.0/0             0.0.0.0/0                                                                                         tcp dpt:80
   28  1204 ACCEPT     tcp  --  *      *       0.0.0.0/0             0.0.0.0/0                                                                                         tcp dpt:53
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0             0.0.0.0/0                                                                                         tcp dpt:22
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0             0.0.0.0/0                                                                                         tcp dpt:80
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0             0.0.0.0/0                                                                                         tcp dpt:53
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0             0.0.0.0/0                                                                                         tcp dpt:80
  191  9664 ACCEPT     tcp  --  *      *       0.0.0.0/0             0.0.0.0/0                                                                                         tcp dpt:25
  231 11700 ACCEPT     tcp  --  *      *       0.0.0.0/0             0.0.0.0/0                                                                                         tcp dpt:110

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source                destination                                                                               

Chain OUTPUT (policy ACCEPT 934K packets, 93M bytes)
 pkts bytes target     prot opt in     out     source                destination                                                                               
 3693  336K ACCEPT     all  --  *      lo      0.0.0.0/0             0.0.0.0/0
iptables -t mangle -L -vn

Kod: Zaznacz cały

Chain PREROUTING (policy ACCEPT 1392K packets, 1730M bytes)
 pkts bytes target     prot opt in     out     source                destination

Chain INPUT (policy ACCEPT 1392K packets, 1730M bytes)
 pkts bytes target     prot opt in     out     source                destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source                destination

Chain OUTPUT (policy ACCEPT 938K packets, 93M bytes)
 pkts bytes target     prot opt in     out     source                destination

Chain POSTROUTING (policy ACCEPT 938K packets, 93M bytes)
 pkts bytes target     prot opt in     out     source                destination
iptables -t nat -L -vn

Kod: Zaznacz cały

Chain PREROUTING (policy ACCEPT 34760 packets, 2019K bytes)
 pkts bytes target     prot opt in     out     source                destination

Chain POSTROUTING (policy ACCEPT 10108 packets, 731K bytes)
 pkts bytes target     prot opt in     out     source                destination

Chain OUTPUT (policy ACCEPT 10108 packets, 731K bytes)
 pkts bytes target     prot opt in     out     source                destination

: 22 marca 2010, 22:44
autor: mariaczi
d0man199 pisze:A nie dałem wyżej?
Przepraszam, zrozumiałem, że jest to Twoja konfiguracja a kolega ustawiał reguły inaczej.
d0man199 pisze:Edit: jeszcze jedno... Mam forum oparte na skrycie phpbb i po konfiguracji iptables forum nie łączy się z phpbb i nie sprawdza czy jest jakaś nowa wersja tego skryptu. Czy ktoś wie ocb?
Musisz wiedzieć po jakim porcie ten aktualizator phpbb łączy się powrotnie do maszyny z której został uruchomiony i otworzyć ten port u siebie (dodać regułkę z -j ACCEPT dla tego portu jako dport) w tabeli filter w łańcuchu INPUT.