[Apache] Plusieurs ProxyPass sur une même ip

Bonjour,

J’utilise la directive ProxyPass afin de relayer un domaine exemple1.com du serveur principal vers un autre serveur DMZ du réseau interne, en https.
Jusque là, rien de bien problématique, mais les choses se corsent lorsque je cherche à faire la même chose pour relayer un autre domaine exemple2.com ( aussi https ) sur ce même serveur DMZ : du coup l’un des deux sites n’est plus accessible et je tombe sur la page par défaut de apache, ou alors deux fois sur le même site exemple2.com par exemple, même si j’appelle exemple1.com.

Voici un exemple de configuration :

[code]<VirtualHost *:80>
ServerAdmin admin@exemple1.com
ServerName exemple1.com
Redirect permanent / https://exemple1.com/

<VirtualHost *:443>
ServerAdmin admin@exemple1.com
ServerName exemple1.com
ProxyPreserveHost On
ProxyRequests off
SSLProxyEngine On
ProxyPass / https://192.168.1.252/
ProxyPassReverse / https://192.168.1.252/

    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl/cert.crt
    SSLCertificateKeyFile /etc/apache2/ssl/cert.key
    SSLCertificateChainFile /etc/apache2/ssl/sub.class1.server.ca.pem

[/code]

J’ai bêtement copié et adapté pour exemple2.com, avec la même adresse ip.

Ma première question est donc : comment réaliser ça proprement ?

En attendant, pour pallier le problème, j’ai donné une seconde adresse ip à DMZ, ce qui me permet d’utiliser ProxyPass sur deux adresses ip différentes et fonctionne.
La conséquence est que arpwatch pète les plombs et me spamme à longueur de journée avec des “flip flop”, ce que j’aimerais désactivé si il n’y a pas de solution à ma première question ( ce dont je doute ), dont voici deux exemples :

hostname: dmz ip address: 192.168.1.252 interface: eth0 ethernet address: 12:34:56:78:90 ethernet vendor: <unknown> old ethernet address: ab:cd:ef:12:34 old ethernet vendor: <unknown> timestamp: Tuesday, February 17, 2015 12:21:56 +0100 previous timestamp: Tuesday, February 17, 2015 12:21:56 +0100 delta: 0 seconds

et dans la même minute :

hostname: dmz ip address: 192.168.1.252 interface: eth0 ethernet address: ab:cd:ef:12:34 ethernet vendor: <unknown> old ethernet address: 12:34:56:78:90 old ethernet vendor: <unknown> timestamp: Tuesday, February 17, 2015 12:21:56 +0100 previous timestamp: Tuesday, February 17, 2015 12:21:56 +0100 delta: 16 seconds

Enfin bon, chaque chose en son temps, si quelqu’un me permet de résoudre la question ProxyPass, ce problème d’arpwatch n’aura plus lieu d’être.

Merci :slightly_smiling:

Concernant le proxypass, je me déclare incompétent. Par contre, concernant les alertes d’arpwatch,

J’ai plutôt l’impression que tu lui as donné une seconde adresse MAC, et elle s’en sert avec la même adresse IP, ce qui fait tiquer arpwatch. Tu as ajouté une carte réseau ? Ce n’est absolument pas nécessaire pour ajouter une adresse IP. Une même interface peut recevoir plusieurs adresses IP.

Si tu veux éviter les alertes, deux possibilités :

  • débrancher la carte réseau et mettre les deux adresses IP sur la même interface ;
  • ou paramétrer la pile IP du noyau pour que chaque adresse IP ne soit utilisée que sur “son” interface propre. Pour l’ARP entrant, cela implique de mettre /proc/sys/net/ipv4/conf//arp_ignore à 1 pour les deux interfaces concernées. Pour l’IP sortant, cela implique de faire du routage avancé basé sur l’adresse source.

Bonjour Pascal et merci pour les explications,

Pour placer le contexte plus précisément, la machine DMZ est une machine virtuelle sous Proxmox, ce qui me permet d’ajouter des cartes réseaux facilement, du moins sans tournevis.

Le serveur principal fait office de serveur DHCP et fournit une adresse IP à une adresse MAC selon un enregistrement précis que je dois renseigner, du coup toute adresse MAC qui n’est pas enregistrée n’a pas le droit de surfer sur le réseau ( bloqué par ipfire ).
Le problème est que cette façon d’associer adresses MAC et IP est unique, et je ne vois pas du tout comment je pourrais renseigner deux IP à une adresse MAC.

Je vais poser la question aux développeurs de la solution ( libre ) que j’utilise.