The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Ограничение соединений на определенный порт"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Ограничение соединений на определенный порт" 
Сообщение от Nobus emailИскать по авторуВ закладки(ok) on 27-Июн-05, 19:31  (MSK)
Доброво времени суток!
Существует следующая задача:
Дано
- есть СЕРВЕР. У него открыт ПОРТ.
- есть КЛИЕНТЫ. Они пользуются СЕРВЕРОМ через его ПОРТ.
- между ними стоит мост (линукс, ядро 2.6, Iptables).
- есть я, который еще не очень сильно разобрался с iptables.
Нужно:
- чтобы каждый КЛИЕНТ мог устанавливать определенное количество сессий с ПОРТОМ СЕРВЕРА, не превышающим заданное (например 50).
Подскажите, правильно ли я выбрал инструмент для решения этой задачи (iptables) или следует посмотреть что то еще. Если кто то уже решал подобное буду рад конкретному решению.
Заранее всем спасибо %)
  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Ограничение соединений на определенный порт" 
Сообщение от Junior emailИскать по авторуВ закладки(ok) on 28-Июн-05, 08:35  (MSK)
>Нужно:
>- чтобы каждый КЛИЕНТ мог устанавливать определенное количество сессий с ПОРТОМ СЕРВЕРА,
>не превышающим заданное (например 50).

iptables -A INPUT -i $LINUX_INPUT_IFACE -p tcp -s $LOCALNET -d $SERVER_IP_ADDRES --dport $DESIRED_SERVER_PORT -m state --state NEW,ESTABLISHED -m connlimit --connlimit-above 50 -j REJECT

>Подскажите, правильно ли я выбрал инструмент для решения этой задачи (iptables) или

Почему нет?

>следует посмотреть что то еще. Если кто то уже решал подобное
>буду рад конкретному решению.

Да разный способы есть. Этот, ИМХО, проще. Только нужно пересобрать фильтр соответственно, чтобы скомпилировать данный модуль.

>Заранее всем спасибо %)

На здоровье.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Ограничение соединений на определенный порт" 
Сообщение от jonatan Искать по авторуВ закладки(ok) on 28-Июн-05, 09:51  (MSK)
>iptables -A INPUT -i $LINUX_INPUT_IFACE -p tcp -s $LOCALNET -d $SERVER_IP_ADDRES --dport
>$DESIRED_SERVER_PORT -m state --state NEW,ESTABLISHED -m connlimit --connlimit-above 50 -j REJECT
Только в цепочке FORWARD. А зачем здесь ESTABLISHED?
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Ограничение соединений на определенный порт" 
Сообщение от Junior emailИскать по авторуВ закладки(ok) on 28-Июн-05, 10:23  (MSK)
>>iptables -A INPUT -i $LINUX_INPUT_IFACE -p tcp -s $LOCALNET -d $SERVER_IP_ADDRES --dport
>>$DESIRED_SERVER_PORT -m state --state NEW,ESTABLISHED -m connlimit --connlimit-above 50 -j REJECT
>Только в цепочке FORWARD. А зачем здесь ESTABLISHED?

1. Да, с цепочкой напутал, посчитал что для локального сервиса.
2. Чтобы считались и установленные. Т.к. если пропустится ТОЛЬКО начало соединения, переговоры с сервером, то уже сам коннект может отрубить
К тому же я не знаю что за сервис.
Если ФТП с пассивным соединением, то ещё и RELATED нужно :))

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Ограничение соединений на определенный порт" 
Сообщение от jonatan Искать по авторуВ закладки(ok) on 28-Июн-05, 10:42  (MSK)
>2. Чтобы считались и установленные. Т.к. если пропустится ТОЛЬКО начало соединения, переговоры
>с сервером, то уже сам коннект может отрубить
>К тому же я не знаю что за сервис.
>Если ФТП с пассивным соединением, то ещё и RELATED нужно :))
http://www.netfilter.org/patch-o-matic/pom-base.html#pom-base-connlimit
connlimit сохраняет количество новых соединений (syn, NEW) в кэше. Поэтому считать ответы на установленные соединения не нужно. В данном случае можно просто написать (например, для www)

iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -p tcp --dport 80 -m connlimit ! --connlimit-above 50 -j ACCEPT

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Ограничение соединений на определенный порт" 
Сообщение от Junior emailИскать по авторуВ закладки(ok) on 28-Июн-05, 10:49  (MSK)
>>2. Чтобы считались и установленные. Т.к. если пропустится ТОЛЬКО начало соединения, переговоры
>>с сервером, то уже сам коннект может отрубить
>>К тому же я не знаю что за сервис.
>>Если ФТП с пассивным соединением, то ещё и RELATED нужно :))
>http://www.netfilter.org/patch-o-matic/pom-base.html#pom-base-connlimit
>connlimit сохраняет количество новых соединений (syn, NEW) в кэше. Поэтому считать ответы
>на установленные соединения не нужно. В данном случае можно просто написать
>(например, для www)
>
>iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
>iptables -A FORWARD -p tcp --dport 80 -m connlimit ! --connlimit-above 50
>-j ACCEPT


В любом случае обе записи являются верными. Или есть другая точка зрения?
Если нет, то к чему это? В Линуксе задачу можно решить более, чем одним способом.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Ограничение соединений на определенный порт" 
Сообщение от jonatan Искать по авторуВ закладки(ok) on 28-Июн-05, 10:55  (MSK)
>В любом случае обе записи являются верными. Или есть другая точка зрения?
>
>Если нет, то к чему это? В Линуксе задачу можно решить более,
>чем одним способом.
Нужно ПОНИМАТЬ, что делаешь, для чего и как это работает. Хотя точка зрения "воткнул - заработало и ладно" тоже широко распространена.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Ограничение соединений на определенный порт" 
Сообщение от Junior emailИскать по авторуВ закладки(ok) on 28-Июн-05, 11:04  (MSK)
>>В любом случае обе записи являются верными. Или есть другая точка зрения?
>>
>>Если нет, то к чему это? В Линуксе задачу можно решить более,
>>чем одним способом.
>Нужно ПОНИМАТЬ, что делаешь, для чего и как это работает. Хотя точка
>зрения "воткнул - заработало и ладно" тоже широко распространена.

Не стоит переходит в другую плоскость разговора, не думаю, что тебе понравится дальнейшее развитие диалога. Ок?

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Ограничение соединений на определенный порт" 
Сообщение от jonatan Искать по авторуВ закладки(ok) on 28-Июн-05, 11:07  (MSK)
>Не стоит переходит в другую плоскость разговора, не думаю, что тебе понравится
>дальнейшее развитие диалога. Ок?
Конечно. Заниматься флеймом мне тоже неинтересно.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "Ограничение соединений на определенный порт" 
Сообщение от Nobus emailИскать по авторуВ закладки(??) on 28-Июн-05, 19:23  (MSK)
>>>iptables -A INPUT -i $LINUX_INPUT_IFACE -p tcp -s $LOCALNET -d $SERVER_IP_ADDRES --dport
>>>$DESIRED_SERVER_PORT -m state --state NEW,ESTABLISHED -m connlimit --connlimit-above 50 -j REJECT
>>Только в цепочке FORWARD. А зачем здесь ESTABLISHED?
>
>1. Да, с цепочкой напутал, посчитал что для локального сервиса.
>2. Чтобы считались и установленные. Т.к. если пропустится ТОЛЬКО начало соединения, переговоры
>с сервером, то уже сам коннект может отрубить
>К тому же я не знаю что за сервис.
Сервис - один из игровых серверов. Все соединения идут на один едиственный порт.
>Если ФТП с пассивным соединением, то ещё и RELATED нужно :))


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру