Re: Faire fonctionner Apache sur une seule interface
Salut,
Sylvain Sauvage a écrit :
Dimanche 30 avril 2006, 20:04:36 CEST, franck05@free.fr a écrit :
Je n'arrive pas à configurer Apache 2 sur une Debain Sarge utilisée
comme passerelle avec deux interfaces réseaux eth0 (vers le net) et
eth1 vers mon LAN.
Comme j'utilise squid et que je voudrais le faire tourner sur le port
80 d'eth1 pour qu'il soit obsolète pour les utilisateurs,
« obsolète » ? Qu'entends-tu par « que [squid] soit obsolète pour les
utilisateurs » ?
Oui, je suis curieux aussi.
je souhaite
qu'apache ne fonctionne que sur eth0, or il fonctionne sur les 2
interfaces.
Je ne pense pas que ce soit possible : une socket TCP peut être lié à
une adresse locale particulière mais pas à une interface.
J'ai donc essayé dans httpd.conf :
Listen 192.168.0.1:80
et j'obtiens l'erreur suivante :
Forcing reload of web server: Apache2(98)Address already in use:
make_sock: could not bind to address 192.168.0.1:80
no listening sockets available, shutting down
Unable to open logs
Normal : un seul programme par port.
Il n'y a qu'un port par machine, et pas un port par IP.
Si, il y a bien un port par adresse locale : on peut avoir plusieurs
sockets en écoute sur le même port mais des adresse locales différentes,
l'adresse 0.0.0.0 comptant pour toutes les adresses locales en même temps.
Facile à tester :
$ nc -l -p <port> -s <adresse_locale> &
$ nc -l -p <port> -s <autre_adresse_locale> &
$ netstat -ltn
On pourrait donc avoir squid qui écoute sur l'adresse d'eth1 (si la
configuration de squid le permet) et apache qui écoute sur l'adresse
d'eth0, tous les deux sur le port 80. Mais cela n'empêche toujours pas
d'accéder à n'importe lequel des deux services par n'importe quelle
interface, du moment qu'on s'adresse à l'adresse sur laquelle il écoute.
On pourrait penser qu'il y a un port par interface, mais non.
Non, en effet. Juste un port par adresse locale.
[Rien à ajouter au reste de la réponse]
Reply to: