iptables


Последовательность таблиц
-t raw PREROUTING
-t mangle PREROUTING
-t nat PREROUTING
-t mangle INPUT
-t filter INPUT

Для работы фильтра портов в вмманагер
для работы iptables в таком режиме нужно, чтобы на сервере переменные sysctl
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-ip6tables = 0
Были равны 1. Включил для tcp4

http://mironenko.pp.ua/2013/07/iptables.html

man iptables
ask google «iptables string»

как остановить
AhrefsBot
MJ12bot
iptables -A INPUT -p tcp —dport 80 -m string —algo kmp —string ‘rambler user agent uniq header’ -j DROP

можно и падлу сделать и перенаправить весь их трафик на них самих
iptables -t nat -A PREROUTING -p tcp —dport 80 -m string —string ‘rambler user agent uniq header’ -j DNAT —to-destination $RAMBLER_IP:80

и пусть сами разбираются со своим ботом

а если не так жёстко, то вы же знаете блок адресов рамблера? дак ограничьте кол-во запросов в секунду от них
iptables -A INPUT -p tcp —dport 80 -s $RAMBLER_SRC_NETWORK -m limit —limit 10/sec

iptables -L -nv -t filter счетчик совпадений

This command
shows all listening and TCP and UDP sockets and established connections:
admin@firewall:~# netstat -untap

# Максимум 10 одновременных соединений к 80 порту с одного IP
iptables -A INPUT -p tcp —syn —dport 80 -m connlimit —connlimit-above 10 -j REJECT —reject-with tcp-reset
modprobe xt_connlimit

iptables -L —line-numbers
iptables -D INPUT номер

iptables -t nat -L POSTROUTING —line-numbers
iptables -t nat -D POSTROUTING номер

for ip in `netstat -anp | grep 80 | grep tcp | awk ‘{print $5}’ | cut -d»:» -f 1 | sort | uniq -c | sort -k1rn | head -n 30 | awk ‘{ print $1 «\t» $2 }’ | head -n 10 | awk ‘{print $2}’`; do iptables -A INPUT -s $ip -j REJECT; done

iptables -t filter -nL — отобразить все цепочки правил

iptables -nL — отобразить все цепочки правил

iptables -t nat -L -отобразить все цепочки правил в NAT-таблице

iptables -t filter -F — очистить все цепочки правил в filter-таблице

iptables -F — очистить все цепочки правил в filter-таблице

iptables -t nat -F -очистить все цепочки правил в NAT-таблице

iptables -t filter -X -удалить все пользовательские цепочки правил в filter-таблице

iptables -t filter -A INPUT -p tcp —dport telnet -j ACCEPT — позволить входящее подключение telnet’ом

iptables -t filter -A OUTPUT -p tcp —dport http -j DROP -блокировать исходящие HTTP-соединения

iptables -t filter -A FORWARD -p tcp —dport pop3 -j ACCEPT — позволить «прокидывать» (forward) POP3-соединения

iptables -t filter -A INPUT -j LOG —log-prefix «DROP INPUT» — включить журналирование ядром пакетов, проходящих через цепочку INPUT, и добавлением к сообщению префикса «DROP INPUT»

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE -включить NAT (Network Address Translate) исходящих пакетов на интерфейс eth0. Допустимо при использовании с динамически выделяемыми ip-адресами.

iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp —dport 22 -j DNAT —to-destination 10.0.0.2:22 — перенаправление пакетов, адресованных одному хосту, на другой хост

iptables -A INPUT -p tcp —syn —dport 23 -m connlimit —connlimit-above 2 -j REJECT — допускать не больше 2 соединений telnet с одного хоста