Я понимаю, что rsync использует порт 22 в качестве его целевого порта (как я использую-e SSH для шифрования моего канала), но затем, как я ожидал бы, исходный порт, кажется, случайный пронумерованный порт много больше 1000. Я хотел бы к не ограничение скорости это с помощью --bwlimit=LIMIT
отметьте, но вместо этого укажите локальный порт передачи, который устанавливает соединение. Затем с помощью моего маршрутизатора, автоматически понизьте приоритет передачи всех пакетов с тем портом SRC. Надо надеяться, создание его не замедлить мои нормальные веб-операции по другим портам, в то время как его передача.
Я уже знаю, как установить QoS на моем маршрутизаторе, я просто должен знать, как вызвать исходный порт для Rsync. И я уже знаю о --port=PORT
опция, но это устанавливает порт DST, не порт SRC на пакетах... Я предполагаю, что реальный вопрос - это: есть ли любой способ указать исходный порт для просто rsync НЕ для всех соединений SSH. У кого-либо есть какие-либо идеи?
Вы не можете сделать этого непосредственно, но...
Возможные решения и альтернативные идеи:
QoS классом DSCP или типом сервиса IPv4. Последние версии ssh клиента имеют опцию IPQoS
. Вы могли указать это специально для rsync, или глобально для всех неинтерактивных сессий. (Более старые ssh версии имеют его hardcoded в (интерактивном) "lowdelay" и (неинтерактивная) "пропускная способность".)
ssh ProxyCommand
опция, с помощью netcat
или socat
создать соединение TCP. Например, команда прокси socat tcp:%h:%p,bind=192.168.0.1:4242 stdio
будет всегда соединяться от указанной address:port пары. Это - самый близкий ответ на Ваш вопрос ("указывают rsync исходный порт"), но вероятно не лучшее решение для QoS.
QoS IP-адресом. Можно присвоить второй IP-адрес компьютеру и сказать rsync использовать его для передач (ssh опция BindAddress
). Это - грязный взлом, тем не менее, но может быть применено ко всем программам.
Могут быть указаны все ssh упомянутые выше опции:
через rsync; -e "ssh -oIPQoS=cs2"
через псевдоним, определенный в ~/.ssh/config
:
Host myserver-qos
Hostname myserver
IPQoS cs2
$ rsync /path myserver-qos:/path