hashlimit не блокирует...

12 3
M2
На сайте с 04.04.2012
Offline
3
2244

привет всем, такой вопрос, почему данное правило не блокирует:

iptables -A INPUT -p tcp -m tcp --dport 1122 -m conntrack --ctstate NEW -m hashlimit --hashlimit 1/m --hashlimit-burst 5 --hashlimit-mode srcip --hashlimit-name block_list --hashlimit-htable-expire 60000 -j ACCEPT

потом ввожу

cat /proc/net/ipt_hashlimit/block_list

и он мне выводит

58 МОЙ_ИП:0->0.0.0.0:0 556416 9600000 1920000

но я все равно могу подключиться на етот порт.. в чем дело?

zexis
На сайте с 09.08.2005
Offline
388
#1

у вас стоит

--hashlimit-burst 5

Это значит вы можете привысить лимит на 5 подключений.

M2
На сайте с 04.04.2012
Offline
3
#2

я превышаю лимит но все равно могу подключаться и дальше

---------- Добавлено 04.04.2012 в 23:16 ----------

я ставлю для теста

--hashlimit 1/m --hashlimit-burst 2

превышаю лимит но все равно могу подключиться...

zexis
На сайте с 09.08.2005
Offline
388
#3

у вас же

-j ACCEPT

:)

M2
На сайте с 04.04.2012
Offline
3
#4

/sbin/iptables -F 

/sbin/iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 1122 -m connlimit --connlimit-above 2 -j DROP
/sbin/iptables -A INPUT -p tcp -m tcp --dport 1122 -m conntrack --ctstate NEW -m hashlimit --hashlimit 1/m --hashlimit-burst 2 --hashlimit-mode srcip --hashlimit-name login_server --hashlimit-htable-expire 600000 -j ACCEPT
/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT ACCEPT
zexis
На сайте с 09.08.2005
Offline
388
#5

используйте

--hashlimit-upto 1/m

а не

--hashlimit 1/m

M2
На сайте с 04.04.2012
Offline
3
#6

спасибо, а еше вопрос, иногда вылетает iptables: Too many links.

это из-за чего? перед выполнением команд выполняю:

/sbin/iptables -P INPUT ACCEPT

/sbin/iptables -P OUTPUT ACCEPT

/sbin/iptables -P FORWARD ACCEPT

/sbin/iptables -X

/sbin/iptables -F

(debian)

---------- Добавлено 05.04.2012 в 00:40 ----------

и можете еше подсказать, как создать цепочку, что бы в нее заносить адреса которым запрещен доступ например к 80 порту?

т.е вот так

iptables -I BANLIST-s IP -p tcp -j ACCEPT

зарание спасибо

zexis
На сайте с 09.08.2005
Offline
388
#7
mrmen2:

и можете еше подсказать, как создать цепочку, что бы в нее заносить адреса которым запрещен доступ например к 80 порту?

iptables -N BANLIST

iptables -A INPUT -p tcp --dport 80 -j BANLIST

iptables -A BANLIST -s 11.22.33.44 -j DROP

M2
На сайте с 04.04.2012
Offline
3
#8

а что бы открыть порт только определенным адресам, нужно

iptables -N WHITEMYSQL

iptables -A INPUT -p tcp --dport 3306 -j WHITEMYSQL

iptables -A WHITEMYSQL -s 11.22.33.44 -j ACCEPT

iptables -A WHITEMYSQL -s 11.22.33.43 -j ACCEPT

iptables -A WHITEMYSQL -s 11.22.33.42 -j ACCEPT

iptables -A INPUT -p tcp --dport 3306 -j DROP

? да все работает спасибо.

а можно еше узнать, как сохранить правила что бы после ребута они не удалились? debian

zexis
На сайте с 09.08.2005
Offline
388
#9
mrmen2:

а можно еше узнать, как сохранить правила что бы после ребута они не удалились? debian

в файл /etc/network/interfaces

добавить


iface eth0 inet static
address 192.168.1.22
network 192.168.1.0
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
up iptables-restore < /etc/network/netfilter.rules
pre-down iptables-save > /etc/network/netfilter.rules

Himiko
На сайте с 28.08.2008
Offline
560
#10

Для крупных цепочек лучше использовать iptables + ipset (iphash или даже nethash)

Профессиональное администрирование серверов (https://systemintegra.ru). Круглосуточно. Отзывы (/ru/forum/834230) Лицензии (http://clck.ru/Qhf5) ISPManager,VDSManager,Billmanager e.t.c. по низким ценам.
12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий