Mise en place d’un relais Plex/SSH

Le but est de faire passer le flux plex via un relais ssh, pour éviter un mauvais peering

Prérequis

Une machine Linux avec un accès ssh qui servira de relais

Un accès ssh sur votre machine plex (avec des droits root)

Depuis le serveur plex, je fais tout en root, mais c’est adaptable

Préparation

Sur le relais, il faut modifier la configuration ssh, et mettre

GatewayPorts yes

Redémarrer ensuite le démon ssh

systemctl restart sshd

Si vous n’en avez pas encore, il faut générer une paire de clé ssh depuis votre serveur plex : https://support.google.com/youtube/answer/3071034?hl=fr#zippy=%2Cpour-g%C3%A9n%C3%A9rer-une-paire-de-cl%C3%A9s-ssh-sur-un-ordinateur-macintosh-ou-linux-proc%C3%A9dez-comme-suit

Il faut envoyer la clé ssh publique du serveur plex vers le serveur relais

ssh-copy-id user-du-relais@ip-du-relais

Il va demander le password de user-du relais.

Il faut vérifier après qu’on peut faire du ssh direct sans mot de passe :

ssh user-du-relais@ip-du-relais

doit vous permettre d’ouvrir une session sans password

Il faut installer sur le serveur plex autossh :

sudo apt install autossh

Mise en place du service

il faut créer le fichier /etc/systemd/system/relais-plex.service, en changeant lesvaleurs de user-du-relais@ip-du-relais

[Unit]
Description=AutoSSH tunnel service Plex on local port 32400
After=network.target
[Service]
Environment="AUTOSSH_GATETIME=0"
ExecStart=/usr/bin/autossh -M 40584 -o "compression=no" -o "cipher=aes128-gcm@openssh.com" -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" -NR 32400:localhost:32400 user-du-relais@ip-du-relais
[Install]
WantedBy=multi-user.target

Ensuite, il faut recharger, lancer et mettre le service en disponible

systemctl reload-daemon
systemctl start relais-plex
systemctl enable relais-plex

A partir de là, on peut tester que le port 32400 sur le relais est accessible, depuis une autre machine

nc -zv ip-du-relais 32400

Doit mettre un « connexion succeded ». Si « no route to host », regarder les cas particulier en bas de page (notamment le VPS Oracle)

Informer plex du relais

Dans l’interface d’admin de plex, dans le menu de gauche, cliquez sur « réseau », et aller dans « URL personnalisées pour accéder au serveur »

De là, il faut saisir deux entrées séparée par une virgule : http://ip-relais:3200, https://ip-relais:32400

On peut saisir autant d’entrée que l’on veut et avoir plusieurs relais, plex basculera de l’un à l’autre en cas d’indisponibilité du relais

Bloquer le trafix direct plex sur la seedbox

Le but est d’empêcher plex de faire de la lecture directe depuis le serveur. On va bloquer le port 32400 pour tout le monde, sauf pour les relais

/usr/sbin/iptables -I DOCKER-USER -i eth0 -p tcp --dport 32400 -j REJECT
/usr/sbin/iptables -I DOCKER-USER -i eth0 -s ip-relais/32 -p tcp --dport 32400 -j ACCEPT

La dernière ligne est à répéter pour chaque relais

Cas particulier pour les VPS ORacle

Il ne faut pas utiliser ufw pour ouvrir le port, mais firewalld

apt update
apt install firewalld
firewall-cmd  --permanent --zone=public --add-port=32400/tcp
firewall-cmd  --reload

Penser à gérer les security groups

Laisser un commentaireAnnuler la réponse.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.