especifica porta de origem rsync

0

Eu percebo que o rsync usa a porta 22 como sua porta de destino (como eu uso o e-SSH para criptografar meu canal), mas, como seria de esperar, a porta de origem parece ser uma porta numerada aleatória bem acima de 1000. Gostaria de não atribuir um limite a ele usando o --bwlimit=LIMIT flag, mas em vez disso, especifique a porta de transferência local que a conexão estabelece. Em seguida, usando meu roteador, diminua automaticamente a prioridade de transferência de todos os pacotes com essa porta SRC. Espero que isso não atrase minhas atividades normais na Web em outras portas enquanto estiver transferindo.

Eu já sei como configurar o QoS no meu roteador, eu só preciso saber como forçar uma porta de origem para o Rsync. E eu já sei sobre a opção --port=PORT , mas isso define a porta DST, não a porta SRC nos pacotes ... Eu acho que a verdadeira questão é esta: existe alguma maneira de especificar porta de origem para apenas rsync NOT para todos conexões ssh. Alguém tem alguma ideia?

    
por dynamphorous 07.04.2011 / 19:48

1 resposta

0

Você não pode fazer isso diretamente, mas ...

Possíveis soluções e ideias alternativas:

  • QoS por classe DSCP ou IPv4 tipo de serviço . Versões recentes do cliente ssh têm uma opção IPQoS . Você poderia especificar isso especificamente para rsync , ou globalmente para todas as sessões não interativas. (Versões mais antigas ssh têm codificado em "lowdelay" (interativo) e "throughput" (não interativo).

  • Opção
  • ssh ProxyCommand , usando netcat ou socat para criar a conexão TCP. Por exemplo, um comando proxy de socat tcp:%h:%p,bind=192.168.0.1:4242 stdio sempre se conectará do endereço especificado: par de portas. Esta é a resposta mais próxima à sua pergunta ("especificar porta de origem rsync"), mas provavelmente não é a melhor solução para QoS.

  • QoS por endereço IP. Você pode atribuir um segundo endereço IP ao seu computador e dizer ao rsync para usá-lo para transferências (a opção ssh BindAddress ). É um truque bagunçado, mas pode ser aplicado a todos os programas.

Todas as opções ssh listadas acima podem ser especificadas:

  • através de rsync ; -e "ssh -oIPQoS=cs2"

  • por meio de um alias definido em ~/.ssh/config :

    Host myserver-qos
        Hostname myserver
        IPQoS cs2
    
    $ rsync /path myserver-qos:/path
    
por 07.04.2011 / 20:37

Tags