Mon serveur web publique non accessible depuis le LAN

Salut à tous,

Je dispose d’un nom de domaine (toto.com) pointant sur un serveur (82.XXX.XXX.XXX), sur lequel tourne apache configuré avec des name based virtual hosts:

Mon problème:
quand je tape l’URL (par exemple webmail.toto.com) dans le navigateur d’un PC du LAN, il m’est impossible d’accéder au site.

Avec Firefox, j’ai le message:[quote]Firefox ne peut établir la connexion avec le serveur à l’adresse webmail.toto.com[/quote]

Pourtant, je peux pinguer depuis un PC du LAN l’IP publique du serveur:

[code]mathieu@sambuca:~$ ping 82.xxx.xxx.xxx
PING 82.xxx.xxx.xxx (82.xxx.xxx.xxx) 56(84) bytes of data.
64 bytes from 82.xxx.xxx.xxx: icmp_seq=1 ttl=64 time=0.174 ms
64 bytes from 82.xxx.xxx.xxx: icmp_seq=2 ttl=64 time=0.142 ms

82.xxx.xxx.xxx ping statistics —
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.142/0.158/0.174/0.016 ms

mathieu@sambuca:~$[/code]
Une idée sur ce problème ?

Merci

hello,

Alors oui mais, quelle résolution utilises tu…?

J’utilise le serveur DNS de mon LAN qui est autoritaire pour la zone toto.com.
Il forward ensuite vers le DNS de FREE pour les autres zones DNS.

D’ailleurs, depuis le LAN je peux faire:

mathieu@sambuca:~/Desktop$ ifconfig eth0 eth0 Lien encap:Ethernet HWaddr 00:1B:FC:B9:82:0E inet adr:192.168.10.198 Bcast:192.168.10.255 Masque:255.255.255.0 ...

[code]mathieu@sambuca:~/Desktop$ ping toto.com
PING toto.com (82.XXX.XXX.XXX) 56(84) bytes of data.
64 bytes from toto.com (82.XXX.XXX.XXX): icmp_seq=1 ttl=64 time=0.176 ms
64 bytes from toto.com (82.XXX.XXX.XXX): icmp_seq=2 ttl=64 time=0.159 ms

toto.com ping statistics —
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.159/0.167/0.176/0.015 ms
mathieu@sambuca:~/Desktop$ [/code]

Qu’est ce que ça donne, si dans /etc/hosts d’une machine du lan, tu mets une association entre un des domaines et l’adresse interne de ton serveur web ?

Apparemment c’est normal quand on est derrière un routeur mais je ne sais pas pourquoi… Moi aussi je suis obligé de taper l’adresse ip pour accéder à mon site.

Oui, mais si tu y vas en ip, tu tombes seulement sur le virtualhost par defaut. C’est pour ça que je propose de modifier hosts.

Ca fonctionne si je tape dimmhome.org mais pas avec dimmhome.org

[EDIT] J’ai parlé trop vite, ça fonctionne pour les deux.

Ah oui :smiley:
Une fois le fichier /etc/hosts complété avec
192.168.10.10 webmail.toto.com
je peux appeler le serveur web depuis le LAN.

Il y a un moyen de “pousser” cette configuration avec le DHCP sur tous les clients du LAN ?
Ou une alternative à /etc/hosts mais qui rendrait le même service ?
Merci

Bah oui, en mettant un deuxiême dns sur le lan qui ne réponde pas pareil pour ta zone que le vrai master.
Mais il y a peut être plus simple avec iptables. C’est un classique et je l’ai vu dans un fil il y a quelques jours, mais je ne retrouve plus. Tu peux donner le resultat d’iptables-save ?

J’ai une autre zone DNS pour la zone LAN, mais dans la config des virutal hosts, tu mets la config:

Du coup, meme avec mon DNS interne et webmail.internal qui pointe sur la même IP, je tombe sur la page du virtual host par defaut !!

Peut-etre en mettant en place un Alias dans la config du virtual host…

Je vais tester ça

[quote=“Platinium”]Une fois le fichier /etc/hosts complété avec
192.168.10.10 webmail.toto.com
je peux appeler le serveur web depuis le LAN.

Il y a un moyen de “pousser” cette configuration avec le DHCP sur tous les clients du LAN ?
Ou une alternative à /etc/hosts mais qui rendrait le même service ?[/quote]
Si ton serveur DNS fait autorité pour la zone et utilise BIND, tu peux faire du “split DNS” en définissante deux vues pour la zone : une visible du LAN qui contient l’adresse privée du serveur et une visible du reste du monde qui contient l’adresse publique.

Tu as quoi comme routeur NAT ? Avec certains mais pas tous, les redirections de ports définies fonctionnent aussi depuis le LAN.

Quand ça ne marche pas, une méthode alternative consiste à faire une redirection de port locale sur le poste client avec une règle iptables :

Mais ça ne vaut guère mieux que le fichier hosts, sauf quand il y a des redirections de ports à partir du même nom d’hôte vers des machines différentes.

Note : quand tu fais un ping sur l’adresse publique du routeur, c’est le routeur qui répond, pas le serveur.

Désolé de la réponse tardive.
Je viens de vérifier.

En rajoutant à cette config:

<VirtualHost *:80> ServerAdmin toto@toto.com ServerName forum.toto.com DocumentRoot /var/www/forum/
cette ligne:

ServerAlias forum.internal le serveur devient accessible depuis le LAN (qui contient un serveur DNS autoritaire pour la zone .internal.)

Merci aux autres propositions.