2016-07-27 2 views
0

мне нужно ограничить число одновременных подключений к определенным портам на моем Linux-сервере, то я нашел это Iptables правила для ограничения:Limite IP подключения к портам с IPTables, но позволяют один IP для подключения unlimitd

IPtables -I ВХОДА - p tcp --syn --dport 80 -m connlimit --соединение выше 10 -j DROP

Но мне нужно знать, как перечислить ограничения для белых списков.

Смотрите пример:

NetStat -antu | grep: 80 | awk '{print $ 5}' | cut -d: -f1 | сортировать | uniq -c | sort -nr | головка -20

406 45.43.xxx.xxx 
246 186.249.7.100 
118 108.171.138.160 
16 200.209.136.11 
    9 189.125.114.245 
    8 164.85.83.104 
    7 108.21.116.86 

Мне нужно ограничить подключение до 10, например и позволить IP 45.43.xxx.xxx на неограниченное количество соединений.

Мне нужно, чтобы это на порты 80, 1935 и 554

ответ

0

Что-то, как это будет работать:

iptables -s <goodip> ... other stuff ... -j ACCEPT 
iptables ... other stuff ... --connlimit-above 10 -j REJECT 

Это, вероятно, лучше, чем просто REJECT DROP. Таким образом, по крайней мере, клиентская сторона получает уведомление о том, что соединение отклоняется, поэтому оно перестает повторять попытку, а не просто «эй, я никогда не получал ответа на это последнее соединение, поэтому я попробую еще раз» ...

0

Это правильно?

Разрешить IP:

iptables -I INPUT -p tcp -s 000.000.000.000 --syn --dport 80 -m connlimit --connlimit-above 10 -j DROP 

Запретить другие ограничения до 10 соединений:

iptables -I INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 10 -j DROP 
Смежные вопросы