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
: 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
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
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.