Projet

Général

Profil

Modifier l'interface Docker0

Ajouté par Kevin Quartier il y a presque 4 ans

Bonjour,

J'ai actuellement un Xivo installé sur une machine Debian.
Je souhaite changer l'adresse IP de l'interface Docker0 de mon serveur Xivo car elle est sur une plage utilisée par d'autres applications. J'ai donc réalisé cette modification dans Docker.

Malheureusement, à partir du moment ou l'IP de mon interface est modifiée (Elle passe de 172.17../16 à 192.168../24) il n'est plus possible d'accéder à l'interface WEB du Xivo.
J'obtiens alors une erreur 504 Bad Gateway, mais, les services Xivo sont toujours OK sur la machine !

Savez-vous quelle est l'origine de ce problème ?
J'ai des pistes pour le Bad Gateway, mais je ne voudrais pas casser l'application d'avantage en bidouillant.

Je vous remercie par avance pour votre aide.

Cordialement,

Kevin Quartier


Réponses (5)

RE: Modifier l'interface Docker0 - Ajouté par Laurent MEILLER il y a presque 4 ans

Bonjour, Kevin, en effet cette modification n'est pas simple, mais en gros voici les étapes:

stopper les services docker:
xivo-dcomp stop

Supprimer le réseau virtuel existant
docker network rm xivo_default

Stopper le service docker
systemctl stop docker.service

Créer le fichier /etc/docker/daemon.json, et spécifier l'adresse réseau qu'utilisera le bridge docker (Exemple 10.10.0.1). Il est important de spécifier une ip, et non une adresse réseau

{
"bip":"10.10.0.1/24"
}

Démarrer docker
systemctl start docker.service

Vérifier la nouvelle adresse de l'interface docker

ifconfig docker0

Adapter les fichiers de Configuration Docker

Sur la machine XIVO (Docker Cofig mgt)
Modifier le fichier /etc/docker/xivo/factory.env et adapter le docker net, en prenant le sous réseau suivant (Ex: 10.10.1.0/24)

Exemple:

XIVOCC_TAG=2018.11
XIVOCC_DIST=latest
DOCKER_NET=10.10.1.0/24

Modifier le fichier /etc/docker/xivo/custom.env, et adapter l'adresse de XIVO_HOST, et DB_HOST, en spécifiant l'ip assignée à docker précédemment (Dans notre exemple 10.10.0.1)

XIVO_HOST=10.10.0.1
DB_HOST=10.10.0.1
XIVO_CONFD_AUTH_TOKEN=05c29eb6-5b32-4389-8695-178463a1

Cette modif est valable que pour un XiVO sans UC addon, si vous voulez faire cette même modif pour un UC addon, je pense qu'il vaut mieux que vous vous rapprochiez du support XIVO.

RE: Modifier l'interface Docker0 - Ajouté par Kevin Quartier il y a presque 4 ans

Bonjour,

Merci beaucoup pour votre réponse j'ai pu réaliser les modifications comme indiqué.

Cependant, il faut penser à utiliser la commande systemctl daemon-reload après avoir créé/édité le fichier daemon.json sinon l'interface ne voit pas son ip changer. (Sous debian en tout cas.)

Ensuite, j'ai bien supprimé le network xivo_default et du coup quand je démarre les services xivo j'ai ces erreurs :

ERROR: for outcall Cannot start service outcall: network xivo_default not found

ERROR: for db Cannot start service db: network xivo_default not found

Y a t il des paramètres spécifiques pour recréer xivo_default ?

Je vous remercie par avance.

RE: Modifier l'interface Docker0 - Ajouté par Laurent MEILLER il y a presque 4 ans

Bonjour,

Normalement le réseau docker se créée automatiquement grâce à docker compose, la configuration est d'ailleurs visible dans le fichier /etc/docker/xivo/docker-xivo.yml

networks:
  default:
    ipam:
      driver: default
      config:
      - subnet: ${DOCKER_NET}

Pour que le réseau se recréé, il suffit normalement d'appeler notre alias docker compose pour ré-appliquer les changements :

xivo-dcomp up -d

RE: Modifier l'interface Docker0 - Ajouté par Kevin Quartier il y a presque 4 ans

Lorsque je veux créer le réseau, docker me dit qu'il est en conflit IP avec le réseau bridge Docker0

ERROR: cannot create network 9c39868d4b6f91411e6eae5aea278f711965fd555ec0a02de878cd1bc9cda9f0 (br-9c39868d4b6f): conflicts with network a5491ce9694efc37c162be8ebd44280d20181ba9226b494aa1a03f7348331e24 (docker0): networks have overlapping IPv4

Il fallait bien mettre la même adresse IP du bridge docker dans les fichiers de configuration xivo (XIVO_HOST et DB_HOST) ?

RE: Modifier l'interface Docker0 - Ajouté par Kevin Quartier il y a presque 4 ans

Bonjour,

J'ai réussi à rétablir le fonctionnement de mon application Xivo avec la nouvelle adresse du bridge Docker.

Voici ce qui a été réalisé, au cas d'autres personnes rencontreraient une difficulté similaire sous Debian 9. J'utilise deux plages d'adresse pour cet exemple : 10.10.0.0/24 et 192.168.50.0/24

Pour commencer couper tous les services Xivo. Supprimer le network Xivo_default

docker network rm xivo_default

Supprimer les services résiduels de xivo docker remontés avec la commande docker ps -a ( les conteneurs seront en status exited)

docker rm CONTAINER_ID

J'ai changé l'adresse IP de l'interface bridge docker0 en modifiant le fichier /etc/docker/daemon.json

{
"bip":"10.10.0.1/24"
}

Puis redémarrer le service docker

service docker restart

J'ai ensuite modifié les fichiers /etc/docker/xivo/factory.env et /etc/docker/xivo/custom.env pour changer la plage d'adresse IP de Xivo mais avec une plage différente de celle du Docker bridge (Sinon j'ai le conflit entre le xivo_default et docker0 comme dans mon message précédent.)

/etc/docker/xivo/factory.env

XIVOCC_TAG=2019.12
XIVOCC_DIST=latest
DOCKER_NET=192.168.50.0/24

/etc/docker/xivo/custom.env (Pour ce dernier mettre bien la première IP du scope disponible.)

XIVO_HOST=192.168.50.1
DB_HOST=192.168.50.1
APPLICATION_SECRET=Iiuex04w2Hgx6xSxPHLnhEAYBBsEAPx4c9qAep22omMZrNEa3U4JxkU1dXFM8uCw
ARI_PASSWORD=59B92uJ1RHhI32je
XIVO_CONFD_AUTH_TOKEN=b2b68e80-4104-42aa-9fde-ffbcb25f27e7

Il a ensuite fallu que je déclare ces deux réseau dans le fichier /var/lib/postgresql/11/main/pg_hba.conf car sinon il ne reconnait pas les deux réseau et le service db ne démarre pas.

## XiVO default configuration for default docker networks.
host    all             all             172.18.0.0/24           md5
host    all             all             172.18.1.0/24           md5
**host    all             all             10.10.0.0/24           md5
host    all             all             192.168.50.0/24           md5**

J'ai ensuite démarré les services Xivo

xivo-service start all

Merci pour votre aide.

    (1-5/5)