укажите rsync исходный порт

Я понимаю, что rsync использует порт 22 в качестве его целевого порта (как я использую-e SSH для шифрования моего канала), но затем, как я ожидал бы, исходный порт, кажется, случайный пронумерованный порт много больше 1000. Я хотел бы к не ограничение скорости это с помощью --bwlimit=LIMIT отметьте, но вместо этого укажите локальный порт передачи, который устанавливает соединение. Затем с помощью моего маршрутизатора, автоматически понизьте приоритет передачи всех пакетов с тем портом SRC. Надо надеяться, создание его не замедлить мои нормальные веб-операции по другим портам, в то время как его передача.

Я уже знаю, как установить QoS на моем маршрутизаторе, я просто должен знать, как вызвать исходный порт для Rsync. И я уже знаю о --port=PORT опция, но это устанавливает порт DST, не порт SRC на пакетах... Я предполагаю, что реальный вопрос - это: есть ли любой способ указать исходный порт для просто rsync НЕ для всех соединений SSH. У кого-либо есть какие-либо идеи?

0
задан 07.04.2011, 21:00

1 ответ

Вы не можете сделать этого непосредственно, но...

Возможные решения и альтернативные идеи:

  • 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
    
0
ответ дан 27.11.2019, 17:56

Теги

Похожие вопросы