Installer sur une fresh install Debian 10.6 net install (utilisateur root)
Installation et Configuration de Jitsi
https://www.digitalocean.com/community/tutorials/how-to-install-jitsi-meet-on-ubuntu-18-04
Pré-requis
Jitsi
https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-quickstart
apt-get install gnupg2 apt-transport-https nginx-full wget curl
Pour OpenJDK sur debian 10
https://adoptopenjdk.net/installation.html#linux-pkg
wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | apt-key add -
echo "deb https://adoptopenjdk.jfrog.io/adoptopenjdk/deb \
buster main" | tee /etc/apt/sources.list.d/adoptopenjdk.list
apt-get update
apt-cache search adoptopenjdk
apt-get install adoptopenjdk-8-hotspot
Configurer le nom de la machine Debian.
127.0.0.1 localhost
x.x.x.x meet.example.org meet
Ajout des dépots Jitsi.
https://github.com/jitsi/jitsi-meet#installation
curl https://download.jitsi.org/jitsi-key.gpg.key | sh -c 'gpg --dearmor > /usr/share/keyrings/jitsi-keyring.gpg'
echo 'deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/' | tee /etc/apt/sources.list.d/jitsi-stable.list > /dev/null
apt-get -y update
Firewall : Serveur Jitsi
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 10000/udp
ufw allow 22/tcp
ufw allow 3478/udp
ufw allow 5349/tcp
Jitsi
Installation de Jitsi
apt-get -y install jitsi-meet
2 – Dans mon cas, je n’ai qu’une seule adresse IP Public pour toute mon architecture. Je vais donc passer par un reverse proxy Nginx entre le firewall et la machine Jitsi.
Pour un réseau NATTER comme le mien des modification seront à réaliser.
Configurer Jitsi
/etc/jitsi/videobridge/sip-communicator.properties
Ajouter y les lignes suivantes :
org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=10.10.10.26
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=X.X.X.X(IP_PUBLIC)
Reverse Proxy Nginx
https://community.jitsi.org/t/jitsi-behind-the-nginx-reverse-proxy/25463/6
server {
if ($host = visio.domaine.com) {
return 301 https://$host$request_uri;
}
listen 80;
listen [::]:80;
server_name visio.domaine.com;
}
server {
server_name visio.domaine.com;
listen 443 ssl;
location / {
ssi on;
proxy_pass https://10.10.2.26:4444;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
}
location /http-bind {
proxy_pass http://10.10.2.26:5280/http-bind;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
}
location /xmpp-websocket {
proxy_pass http://10.10.2.26:5280/xmpp-websocket;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
tcp_nodelay on;
}
ssl_certificate /etc/letsencrypt/live/visio.domaine.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/visio.domaine.com/privkey.pem;
}
Firewall : Routeur en amont
jitsi server
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 4443 -j DNAT --to 10.10.10.26:4443
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 4444 -j DNAT --to 10.10.10.26:4444
iptables -t nat -A PREROUTING -i vmbr0 -p udp --dport 10000 -j DNAT --to 10.10.10.26:10000
– Accès à l’interface Web mais problème pour ouvrir des pont visio : Bien vérifier la configuration de son firewall
Pour info voici le résultat de mon netstat :
netstat -lptune
Connexions Internet actives (seulement serveurs)
Proto Recv-Q Send-Q Adresse locale Adresse distante Etat Utilisatr Inode PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 13531 365/sshd
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 0 17954 362/nginx: master p
tcp 0 0 0.0.0.0:5280 0.0.0.0:* LISTEN 107 20070 3308/lua5.2
tcp 0 0 127.0.0.1:5347 0.0.0.0:* LISTEN 107 20062 3308/lua5.2
tcp 0 0 0.0.0.0:5222 0.0.0.0:* LISTEN 107 20067 3308/lua5.2
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 0 13278 362/nginx: master p
tcp 0 0 0.0.0.0:5269 0.0.0.0:* LISTEN 107 20063 3308/lua5.2
tcp6 0 0 :::22 :::* LISTEN 0 13292 365/sshd
tcp6 0 0 :::8888 :::* LISTEN 997 18235 1636/java
tcp6 0 0 :::443 :::* LISTEN 0 17955 362/nginx: master p
tcp6 0 0 :::5280 :::* LISTEN 107 20071 3308/lua5.2
tcp6 0 0 :::9090 :::* LISTEN 998 17854 1242/java
tcp6 0 0 ::1:5347 :::* LISTEN 107 20061 3308/lua5.2
tcp6 0 0 :::5222 :::* LISTEN 107 20068 3308/lua5.2
tcp6 0 0 127.0.0.1:8080 :::* LISTEN 998 17202 1242/java
tcp6 0 0 :::80 :::* LISTEN 0 13279 362/nginx: master p
tcp6 0 0 :::5269 :::* LISTEN 107 20064 3308/lua5.2
udp 0 0 10.10.2.26:3478 0.0.0.0:* 108 20837 3347/turnserver
udp 0 0 10.10.2.26:3478 0.0.0.0:* 108 20836 3347/turnserver
udp 0 0 127.0.0.1:3478 0.0.0.0:* 108 20833 3347/turnserver
udp 0 0 127.0.0.1:3478 0.0.0.0:* 108 20832 3347/turnserver
udp 0 0 10.10.2.26:3479 0.0.0.0:* 108 20839 3347/turnserver
udp 0 0 10.10.2.26:3479 0.0.0.0:* 108 20838 3347/turnserver
udp 0 0 127.0.0.1:3479 0.0.0.0:* 108 20835 3347/turnserver
udp 0 0 127.0.0.1:3479 0.0.0.0:* 108 20834 3347/turnserver
udp6 0 0 ::1:3478 :::* 108 20840 3347/turnserver
udp6 0 0 ::1:3478 :::* 108 20841 3347/turnserver
udp6 0 0 ::1:3479 :::* 108 20842 3347/turnserver
udp6 0 0 ::1:3479 :::* 108 20843 3347/turnserver
udp6 0 0 :::31408 :::* 997 18190 1636/java
Pour le debug :
/var/log/jitsi/jvb.log
/var/log/jitsi/jicofo.log
/var/log/prosody/prosody.log