witam, mam taki problem, chodzi o konfigurację firewalla - iptables. ustawiona jest domyślna polityka na deny all (drop), a zadaniem jest dopuścić do 10 połączeń ssh na minutę - i z tym jest problem. próbowałem już różnych konfiguracji, może ktoś ma jakiś pomysł:)
@JanuszJanuszy: dzięki za odpowiedź, ale jesteś pewny tego? patrzyłem na ten moduł, z tym co Ty napisałeś, to chyba nie zadziała, bo w tym module --limit-burst odspowiada za liczbę połączeń, a --limit za szybkość odzyskania tokenu logowania?
@norbeeek: limit-burst jest takim 'zapasem' połączeń, z których iptables korzysta, gdy ilość połączeń przekroczy limit.
Przykładowo dla --limit 5/s --limit-burst 20: - do 5 połączeń na sekundę z burstu nic nie jest zabierane - po przekroczeniu tej liczby (powiedzmy, że mamy 10/s) pobieramy tokeny dla połączeń z bursta - jeżeli ilość połączeń spadnie poniżej limitu (np. 3/s) to nadwyżka jest używana do wypełnienia bursta
@JanuszJanuszy: jak również jest taka informacja, która nie zgadza się z tym co napisałeś: --limit: Specifies the rate at what tokens get refilled into the bucket. 4/hour means 4 tokens per hour (1 token every 15 minutes).
--limit-burst: Specifies the maximum amount of tokens that can be filled in the bucket. (This is also the amount of tokens the bucket starts out with).
@norbeeek: Faktycznie, coś mi się musiało popieprzyć, dzięki za zwrócenie uwagi. W każdym razie, używając _limits_ powinno się udać osiągnąć twój cel ( ͡°͜ʖ͡°)
@JanuszJanuszy: super, że odpowiedziałeś, myślę, że ustawiając --limit na 10/minute i limit-burst na 1, będzie najoptymalnej, dziękuję, mirku, pozdrawiam Cię:)
próbowałem już różnych konfiguracji, może ktoś ma jakiś pomysł:)
#linux
iptables -I INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 10 -j REJECT --reject-with tcp-reset
edit:
sorry, nie doczytałem, że domyślnie dropuje
iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m limit --limit 10/minute -j ACCEPT
Przykładowo dla --limit 5/s --limit-burst 20:
- do 5 połączeń na sekundę z burstu nic nie jest zabierane
- po przekroczeniu tej liczby (powiedzmy, że mamy 10/s) pobieramy tokeny dla połączeń z bursta
- jeżeli ilość połączeń spadnie poniżej limitu (np. 3/s) to nadwyżka jest używana do wypełnienia bursta
--limit: Specifies the rate at what tokens get refilled into the bucket. 4/hour means 4 tokens per hour (1 token every 15 minutes).
--limit-burst: Specifies the maximum amount of tokens that can be filled in the bucket. (This is also the amount of tokens the bucket starts out with).