iptalbes - jak ograniczy
iptalbes - jak ograniczyć połączenia
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ć?
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ć?
Można ograniczyć różnie.
Pokaż wynik
Pokaż wynik
Kod: Zaznacz cały
iptables -L -vn
iptables -t mangle -L -vn
iptables -L -vn
iptables -t mangle -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
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
Pokaż jeszcze dla profilaktyki. W tym co podałeś nigdzie nie masz ograniczenia ilości połączeń na IP.
Kod: Zaznacz cały
iptables -t nat -L -vn
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
Można np. tak:
ilość połączeń na sekundę na IP
lub ilość połączeń dla danego IP
Oczywiście to przykłady, które musisz przystosować dla siebie.
Powodzenia!
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
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
Powodzenia!
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?
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?
A nie dałem wyżej?
iptables -L -vniptables -t mangle -L -vn
iptables -t nat -L -vn
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
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
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
Przepraszam, zrozumiałem, że jest to Twoja konfiguracja a kolega ustawiał reguły inaczej.d0man199 pisze:A nie dałem wyżej?
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.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?