Envoi d’un fichier en R66

Nous allons maintenant mettre en place un second transfert: l’envoi d’un fichier avec Waarp Transfer vers un serveur R66. Si vous avez suivi la mise en place du transfert de réception alors vous pouvez aller directement au paramétrage de la règle.

Login et mot de passe

L’authentification R66 étant bidirectionnelle (le client s’authentifie au serveur et le serveur s’authentifie au client), Nous utiliserons les mêmes informations d’identification que précédemment. Le client Waarp Transfer utilisera le login r66_client et le mot de passe client_pwd et le serveur R66 utilisera le login r66_server et le mot de passe server_pwd.

Configuration client

Pour pouvoir envoyer des fichiers, nous allons devoir ajouter un partenaire R66 à Waarp Transfer, puis créer un utilisateur, et une règle de transfert.

Création d’un partenaire R66

Pour pouvoir envoyer des fichiers en R66 avec Waarp Transfer, nous allons commencer par ajouter un partenaire R66 :

$ waarp-transfer partner add --name "r66" --address "localhost:6666" --config "serverLogin:r66_server" --config "serverPassword:server_pwd" --protocol r66
The partner r66 was successfully added.

Pour créer un partenaire, nous devons préciser son nom, ainsi que des informations additionnelles pour paramétrer le serveur (ici l’adresse écoutée et le port).

Voir aussi

Plus d’options de configuration sont disponibles pour les partenaires R66.

Le détail des options est disponible ici

(Optionnel) Activation de TLS

Optionnellement, si vous souhaitez sécuriser vos transfert vers ce partenaire avec TLS, il faut altérer la configuration du partenaire en activant l’option isTLS ainsi :

$ waarp-transfer partner update "r66" --config "serverLogin:r66_server" --config "serverPassword:server_pwd" --config "isTLS:true"

Note

Il est nécessaire de re-entrer la configuration en entier pour que les valeurs de serverLogin et serverPassword ne soient pas perdues.

Attention, Waarp Transfer refuse les certificats TLS auto-signés. Si votre partenaire R66 utilise un certificat auto-signé, il faudra l’ajouter à la liste des certificats de confiance du partenaire comme ceci :

$ waarp-transfer partner cert "r66_server" add --name "r66_server_cert" --certificate "cert.pem"
The certificate r66_server was successfully added.

Il vous faudra également activer TLS dans la configuration de l’agent Waarp R66, veuillez vous référer à la documentation Waarp R66 pour la marche à suivre.

Création d’un utilisateur

Pour pouvoir se connecter au partenaire, nous devons maintenant créer un utilisateur. Cela se fait en créant un « compte distant » dans Waarp Transfer. Cet utilisateur aura r66_user comme login et transfer_password comme mot de passe (ceux définis plus tôt lors de la configuration de l’agent R66) :

$ waarp-transfer account remote r66_server add --login waarp_transfer --password transfer_pwd
The account waarp_transfer was successfully added.

L’utilisateur est maintenant créé. Pour pouvoir faire un transfert, nous devons maintenant créer une règle de transfert

Ajout d’une règle

Ici, nous voulons envoyer un fichier à un partenaire. La règle aura donc le sens send («envoi») : le sens des règles est toujours à prendre du point de vu Waarp Transfer (si on envoi un fichier Waarp Transfer, celui-ci le reçoit). Attention, le nom de la règle doit être identique à celui de la règle définie dans l’instance Waarp-R66 (send dans notre exemple).

Voici donc la commande pour créer la règle :

$ waarp-transfer rule add --name "send" --direction "send"
The rule default was successfully added.

Configuration du serveur

Paramétrage du serveur

$ waarp-transfer server update r66 --address localhost:6666 --config serverLogin:r66_server --config serverPassword:server_pwd
  The server r66 was successfully updated.
$ waarp-transfer server start r66
  The server r66 was successfully started.

Ajout de l’utilisateur

$ waarp-transfer account local r66 add --login "r66_client" --password "client_pwd"
The account r66_client was successfully added.

Ajout de la règle de transfert

$ waarp-transfer rule add --name "send" --direction "receive"
 The rule default was successfully added.

Lancer le transfert

Maintenant que nous avons un partenaire, un utilisateur et une règle, nous pouvons effectuer un transfert. Créons d’abord un fichier à transférer, puis envoyons le avec Waarp Transfer :

# echo "hello world!" > /var/lib/waarp-transfer/out/a-envoyer.txt

$ waarp-transfer transfer add --file "a-envoyer.txt" --way "send" --partner "r66_server" --login "waarp_transfer" --rule "send"
The transfer of file a-envoyer.txt was successfully added.

Après avoir établi une connexion avec Waarp Transfer, nous avons déposé un fichier dans le dossier in de l’agent Waarp R66 avec la règle send.

Nous pouvons vérifier que le transfert s’est bien passé dans l’historique des transferts :

$ waarp-transfer history list
History:
[...]
● Transfer 7 (as client) [DONE]
   Remote ID:       1569716115687342080
   Way:             send
   Protocol:        r66
   Rule:            send
   Requester:       waarp_transfer
   Requested:       r66_server
   Local filepath:  /home/mro/Projects/doc/waarp-transfer/data/out/a-envoyer.txt
   Remote filepath: /a-envoyer.txt
   File size:       12
   Block size:      0
   Block check:     false
   Hash algo:
   Start date:      2022-09-13T17:54:20.552289216+02:00
   End date:        2022-09-13T17:54:22.373844908+02:00

Le fichier disponible est maintenant dans le dossier in de Waarp R66. Comme nous n’avons pas spécifié de dossier spécifique dans la règle, c’est le dossier par défaut de l’instance qui est utilisé :

$ ls -l ./data/r66_server/in
total 4
-rw-rw-r--. 1 waarp waarp 13 Sep 17 17:27 a-envoyer.txt