Bonjour,
Je parviens à configurer un IP failover et le Virtualhost d'un serveur apache pour accéder à un site via l'IP failover.
Mais je ne parviens pas à utiliser cette IP failover en sortie. Exemple tout simple : un script php faisant file_get_contents('https://www.monip.org/'); retourne l'IP du serveur et non l'IP failover.
Est-il possible d'utiliser l'IP failover en sortie pour un site web ?
Il me semble qu'il faut jouer sur la config de l'interface réseau et jouer sur iptable, mais ça dépasse pour l'instant ma compétence.
Je pense que la manoeuvre devrait être simple pour un bon sysadmin (rémunération possible)
Merci
IP failover en sortie de serveur dédié OVH
Sujets apparentés
- Port 25 bloqué pour spam à répétition
10404
28.02.2018 13:39
- Spam et IP bloquée
8418
12.12.2016 11:53
- Rkhunter : parametre web_CMD invalide
8198
23.07.2017 15:43
- Mise en place de VM avec IP publique sur Proxmox 6 [RESOLU]
8103
30.04.2020 17:12
- Mise à jour PHP sur Release 3 ovh
8098
11.03.2017 17:43
- Connection smtp qui ne marche plus : connect error 10060
8042
12.04.2019 10:10
- Partition sur le disque de l'OS ESXI
7958
09.05.2017 14:33
- Envoi demail bloqué chez Gmail (550-5.7.26 DMARC)
7717
23.12.2019 08:40
- Meilleure solution pour disposer de plusieurs IP ?
7448
29.07.2018 09:40
- Comment me connecter par SSH en tant que root à mon serveur ?
6934
09.09.2019 14:34
Je ne connais pas le fonctionnement des IP FO (je n'en utilise pas) mais en tout cas pour changer l'adresse IP source d'un paquet sortant avec iptables ça se fait comme cela :
iptables -t nat -A POSTROUTING -i ethX -j SNAT --to-source 1.2.3.4
Merci, ça veut dire qu'il faudrait que je lance cette commande iptables avant chaque déclenchement de script, avec à chaque fois l'ip qui va bien ?
Pas exactement. Cette commande ajoute une règle de gestion des paquets au niveau du noyau qui est appliquée à tous les paquets sortants sur l'interface réseau `ethX` (à remplacer selon ta configuration) tant que tu ne la supprimes pas (avec le switch `-D` à la place de `-A`) ou que tu ne rebootes par le serveur.
Pour rendre la règle persistante il faut utiliser le paquet `iptables-persistent` et ajouter la règle dans un fichier de configuration situé dans `/etc/iptables/rules.v4`.
Merci, mais dans ce cas, l'adresse source sera toujours la même ip failover, alors que ma contrainte est justement de pouvoir utiliser l'une ou l'autre ip failover selon le script php lancé...
Concrètement, sur mon serveur, ifconfig me donne eth0 avec l'ip du dédié, et eth0:0 avec l'ip failover.
A l'avenir j'aurais 1 ou 2 ip failover de plus, que je devrais pouvoir utiliser en sortie selon les besoins...
Bonjour,
Pourquoi, dans ce cas précis, ne pas paramétrer l'IP dans le script PHP ?
Cordialement, janus57
Bonsoir Janus,
Comment paramètres-tu le script pour être vu comment provenant d'une ip failover pour l'extérieur ?
Bonjour,
le script utilise cURL ?
Si oui, voir : http://php.net/manual/fr/function.curl-setopt.php
avec l'option : CURLOPT_INTERFACE
Si autre fonction PHP, voir dans le manuel pour un équivalent.
Cordialement, janus57
Janus, t'es un génie ! Merci ! Problem solved !
C'est encore moi...
J'ai fait une nouvelle installation propre pour débuter mon projet : VPS OVH + Debian 9 + Virtualmin/webmin, IP failover pointée dessus.
J'ai voulu suivre le tuto OVH pour configurer l'ip failover sur la machine :
https://docs.ovh.com/fr/dedicated/network-ipaliasing/#debian-9-ubuntu-17-fedora-26-et-arch-linux_1
Mais... je n'ai aucun fichier /etc/systemd/network/1default.networkdefault.network
Du coup, je n'arrive pas à ajouter l'ip ainsi.
Par contre, j'arrive à ajouter l'ip failover dans webmin > Networking > Networking > Network interfaces > Active Now > ens3, etc...
Cela fonctionne, mais à chaque reboot de la machine, tout est perdu.
Comment faire pour une configuration persistante équivalente au tuto ovh mais qui marche ?
Bonjour,
Je serais tenté de penser à /etc/network/interfaces.d
Sur un VPS chez moi, il y a un fichier généré par les outils de cloud d'OVH. Ca a l'air d'être lu par le système.
Effectivement j'ai bien un fichier /etc/network/interfaces.d/50-cloud-init.cfg, mais son contenu est le suivant :
# This file is generated from information provided by
# the datasource. Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
auto lo
iface lo inet loopback
auto ens3
iface ens3 inet dhcp
Si j'en crois le commentaire, ce n'est pas persistant...
Ce fichier-là, non, mais rien ne t'empêche d'en créer d'autre et tester le comportement.
Donc je peux créer un fichier .cfg quelconque, placé dans /etc/network/interfaces.d/, avec un contenu dans ce genre ?
auto ens3:0
iface ens3:0 inet static
address IPFAILOVER
netmask 255.255.255.255
post-up /sbin/ifconfig ens3:0 IPFAILOVER netmask 255.255.255.255 broadcast IPFAILOVER
post-down /sbin/ifconfig ens3:0 down
(config trouvée sur un autre sujet du forum)
C'est en tous cas ce que j'essaierais.
Et tu à tout à fait raison car cela fonctionne au poil... Merci !