iptalbes - jak ograniczy

Konfiguracja serwerów, usług, itp.
d0man199
Posty: 28
Rejestracja: 04 października 2008, 23:17

iptalbes - jak ograniczyć połączenia

Post 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ć?
mariaczi
Member
Posty: 1343
Rejestracja: 08 lutego 2008, 12:58
Lokalizacja: localhost@śląskie

Post autor: mariaczi »

Można ograniczyć różnie.
Pokaż wynik

Kod: Zaznacz cały

iptables -L -vn
iptables -t mangle -L -vn
d0man199
Posty: 28
Rejestracja: 04 października 2008, 23:17

Post 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
mariaczi
Member
Posty: 1343
Rejestracja: 08 lutego 2008, 12:58
Lokalizacja: localhost@śląskie

Post 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.
d0man199
Posty: 28
Rejestracja: 04 października 2008, 23:17

Post 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
mariaczi
Member
Posty: 1343
Rejestracja: 08 lutego 2008, 12:58
Lokalizacja: localhost@śląskie

Post 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!
d0man199
Posty: 28
Rejestracja: 04 października 2008, 23:17

Post 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?
mariaczi
Member
Posty: 1343
Rejestracja: 08 lutego 2008, 12:58
Lokalizacja: localhost@śląskie

Post 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ę :)
d0man199
Posty: 28
Rejestracja: 04 października 2008, 23:17

Post 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
mariaczi
Member
Posty: 1343
Rejestracja: 08 lutego 2008, 12:58
Lokalizacja: localhost@śląskie

Post 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.
ODPOWIEDZ