Я хотел бы иметь возможность ограничивать пропускную способность SSH на моем сервере. Т.е. каждый процесс sshd должен быть ограничен 200 Кб / с или чем-то подобным.
scp имеет эту функцию, но ssh, более разработанный для адаптивного интерактивного использования, похоже, не имеет этой опции. Однако я хотел бы объединить функциональность -D (прокси-сервер SOCKS) с некоторой возможностью каким-либо образом ограничивать трафик.
Есть ли вообще какие-то варианты?
Я не уверен, что доверие к пользователям является частью уравнения, но trickle
очень удобен для ограничения скорости данной команды. Когда я загружаю пакеты из дома, соседи по комнате WoW-наркомана замечают, когда я забываю что-то подобное, потому что это в значительной степени доминирует над трубкой.
scp -l 8192 file.txt user_name@111.111.1.11:/tmp
//8192 = 8192 KB per second
Я знаю, что эта ветка довольно старая, но надеюсь, что это кому-то поможет.
Стоит изучить возможность реализации формирования трафика HTB с помощью tc. Мое решение аналогичной проблемы заключалось в использовании сценария htb.init, найденного на http://sourceforge.net/projects/htbinit/
Я настроил его на основе ограничения трафика с порта 22, но вы также можете использовать iptables для маркировки / искажения пакетов, которые затем обрабатываются на основе метки.
Есть несколько вариантов.
Распространенным является реализация QoS на порту 22 на брандмауэре / маршрутизаторе между сервером и клиентами.
Если они находятся в одной локальной сети (т.е. между ними нет маршрутизаторов или брандмауэров), я считаю, что вы можете использовать IPTables для ограничения пропускной способности до порта 22 ... Посмотри сюда для получения дополнительной информации о том, как это сделать.
Вы могли бы посмотреть на что-то вроде iprelay:
User-space bandwidth shaping TCP proxy daemon
iprelay can shape the TCP traffic forwarded through it to a specified
bandwidth and allow this bandwidth to be changed on-the-fly. Multiple
data streams to different sockets may be shaped to the same total
bandwidth, much like a traffic shaping router would. However, this
application runs in user space, and works by acting as a TCP proxy.