Soucis d'accès DNS/exterieur au serveur (domaine et ip globale)

EDIT 04/03/2021: Changement du titre du post car rien n’indique vraiment que ce soit un pblm de DNS.

:fr: Soucis d’accès DNS ?

Tout d’abrod, merci à cette communauté, ce projet est fantastique! (je l’ai installé sur un VPS sans soucis, et je trouve l’installation hyper facile pour quelqu’un comme moi qui n’est pas du tout “dev ops”).

Je bosse dans une fablab et on essaye d’installer un Yunohost sur un vieux laptop HP i7 via notre FAI (business Orange).

Mon serveur YunoHost

Matériel: Vieux laptop HP Pavilion dv7 - intel i7
Version de YunoHost: 4.1.7.2
J’ai accès à mon serveur : Par la webadmin et en direct avec un clavier/écran
Contexte: Après la post-install, pas d’accès via le nom de domaine.

Description du problème

Après l’installation et la post-installation, l’ouverture des ports et la configuration des DNS sur OVH, mon diagnostique est au vert (voir ci-dessous, hors email). Mais malgré tout je ne peux pas accéder au serveur via le nom de domaine: ERR_CONNECTION_REFUSED.

Vous auriez des pistes d’où je dois aller regarder ? Je ne vois pas d’appels dans les logs Nginx (hors ceux du panel admin sur l’ip locale) et pas d’ip bannies hors quelques recidives chinoise (mais pas les miennes). Merciii :slight_smile:

=================================
Système de base (basesystem)
=================================

[INFO] L’architecture du serveur est bare-metal amd64
  - Le modèle du serveur est Hewlett-Packard HP Pavilion dv7 Notebook PC

[INFO] Le serveur utilise le noyau Linux 4.19.0-14-amd64

[INFO] Le serveur utilise Debian 10.8

[INFO] Le serveur utilise YunoHost 4.1.7.2 (testing)
  - yunohost version : 4.1.7.2 (testing)
  - yunohost-admin version : 4.1.4 (testing)
  - moulinette version : 4.1.4 (testing)
  - ssowat version : 4.1.3 (testing)



=================================
Connectivité Internet (ip)
=================================

[SUCCESS] La résolution de nom de domaine fonctionne !

[SUCCESS] Le serveur est connecté à Internet en IPv4!
  - IP globale : xx.xx.xx.xx
  - IP locale : 192.168.1.29

[WARNING] Le serveur ne dispose pas d’une adresse IPv6.
  - L'utilisation de IPv6 n'est pas obligatoire pour le fonctionnement de votre serveur, mais cela contribue à la santé d'Internet dans son ensemble. IPv6 généralement configuré automatiquement par votre système ou votre FAI s'il est disponible. Autrement, vous devrez prendre quelque minutes pour le configurer manuellement à l'aide de cette documentation: https://yunohost.org/#/ipv6. Si vous ne pouvez pas activer IPv6 ou si c'est trop technique pour vous, vous pouvez aussi ignorer cet avertissement sans que cela pose problème.



=================================
Enregistrements DNS (dnsrecords)
=================================

[SUCCESS] Les enregistrements DNS sont correctement configurés pour le domaine maindomain.tld (catégorie basic)

[SUCCESS] Les enregistrements DNS sont correctement configurés pour le domaine maindomain.tld (catégorie mail)

[SUCCESS] Les enregistrements DNS sont correctement configurés pour le domaine maindomain.tld (catégorie xmpp)

[SUCCESS] Les enregistrements DNS sont correctement configurés pour le domaine maindomain.tld (catégorie extra)

[SUCCESS] Vos domaines sont enregistrés et ne vont pas expirer prochainement.
  - maindomain.tld expire dans 342 jours.



=================================
Exposition des ports (ports)
=================================

[SUCCESS] Le port 22 est accessible de l’extérieur.
  - Rendre ce port accessible est nécessaire pour les fonctionnalités de type admin (service ssh)

[SUCCESS] Le port 25 est accessible de l’extérieur.
  - Rendre ce port accessible est nécessaire pour les fonctionnalités de type email (service postfix)

[SUCCESS] Le port 80 est accessible de l’extérieur.
  - Rendre ce port accessible est nécessaire pour les fonctionnalités de type web (service nginx)

[SUCCESS] Le port 443 est accessible de l’extérieur.
  - Rendre ce port accessible est nécessaire pour les fonctionnalités de type web (service nginx)

[SUCCESS] Le port 587 est accessible de l’extérieur.
  - Rendre ce port accessible est nécessaire pour les fonctionnalités de type email (service postfix)

[SUCCESS] Le port 993 est accessible de l’extérieur.
  - Rendre ce port accessible est nécessaire pour les fonctionnalités de type email (service dovecot)

[SUCCESS] Le port 5222 est accessible de l’extérieur.
  - Rendre ce port accessible est nécessaire pour les fonctionnalités de type xmpp (service metronome)

[SUCCESS] Le port 5269 est accessible de l’extérieur.
  - Rendre ce port accessible est nécessaire pour les fonctionnalités de type xmpp (service metronome)



=================================
Web (web)
=================================

[SUCCESS] Le domaine maindomain.tld est accessible en HTTP depuis l’extérieur.



=================================
E-mail (mail)
=================================

[ERROR] Le port sortant 25 semble être bloqué. Vous devriez essayer de le débloquer dans le panneau de configuration de votre fournisseur de services Internet (ou hébergeur). En attendant, le serveur ne pourra pas envoyer des courriels à d’autres serveurs.
  - Vous devez d’abord essayer de débloquer le port sortant 25 dans votre interface de routeur Internet ou votre interface d’hébergement. (Certains hébergeurs peuvent vous demander de leur envoyer un ticket de support pour cela).
  - Certains fournisseurs ne vous laisseront pas débloquer le port sortant 25 parce qu’ils ne se soucient pas de la neutralité du Net. 
     - Certains d’entre eux offrent l’alternative d'utiliser un serveur de messagerie relai bien que cela implique que le relai sera en mesure d’espionner votre trafic de messagerie. 
     - Une alternative respectueuse de la vie privée consiste à utiliser un VPN *avec une IP publique dédiée* pour contourner ce type de limites. Voir https://yunohost.org/#/vpn_advantage 
     - Vous pouvez également envisager de passer à un fournisseur plus respectueux de la neutralité du net

[SUCCESS] Le serveur de messagerie SMTP est accessible de l'extérieur et peut donc recevoir des courriels!

[ERROR] Le DNS inverse n'est pas correctement configuré en IPv4. Certains e-mails seront peut-être refusés ou considérés comme des spam.
  - DNS inverse actuel : 223-254.83-90.static-ip.oleane.fr 
     Valeur attendue : maindomain.tld
  - Vous devez d’abord essayer de configurer le DNS inverse avec maindomain.tld dans votre interface de routeur Internet ou votre interface d’hébergement. (Certains hébergeurs peuvent vous demander de leur envoyer un ticket de support pour cela).
  - Certains fournisseurs ne vous laisseront pas configurer votre DNS inversé (ou leur fonctionnalité pourrait être cassée …). Si vous rencontrez des problèmes à cause de cela, envisagez les solutions suivantes : 
     - Certains FAI fournissent l’alternative de à l’aide d’un relais de serveur de messagerie bien que cela implique que le relais pourra espionner votre trafic de messagerie. 
     - Une alternative respectueuse de la vie privée consiste à utiliser un VPN *avec une IP publique dédiée* pour contourner ce type de limites. Voir https://yunohost.org/#/vpn_advantage 
     - Enfin, il est également possible de changer de fournisseur

[SUCCESS] Les adresses IP et les domaines utilisés par ce serveur ne semblent pas être sur liste noire

[SUCCESS] 0 e-mails en attente dans les files d'attente de messagerie



=================================
État des services (services)
=================================

[SUCCESS] Le service avahi-daemon est en cours de fonctionnement !

[SUCCESS] Le service dnsmasq est en cours de fonctionnement !

[SUCCESS] Le service dovecot est en cours de fonctionnement !

[SUCCESS] Le service fail2ban est en cours de fonctionnement !

[SUCCESS] Le service metronome est en cours de fonctionnement !

[SUCCESS] Le service mysql est en cours de fonctionnement !

[SUCCESS] Le service nginx est en cours de fonctionnement !

[SUCCESS] Le service php7.3-fpm est en cours de fonctionnement !

[SUCCESS] Le service postfix est en cours de fonctionnement !

[SUCCESS] Le service redis-server est en cours de fonctionnement !

[SUCCESS] Le service rspamd est en cours de fonctionnement !

[SUCCESS] Le service slapd est en cours de fonctionnement !

[SUCCESS] Le service ssh est en cours de fonctionnement !

[SUCCESS] Le service yunohost-api est en cours de fonctionnement !

[SUCCESS] Le service yunohost-firewall est en cours de fonctionnement !



=================================
Ressources système (systemresources)
=================================

[SUCCESS] Le système dispose encore de 4.9 GiB (85%) de RAM sur 5.8 GiB.

[SUCCESS] Le système dispose de 975 MiB de swap !
  - Merci d'être prudent et conscient que si vous hébergez une partition SWAP sur une carte SD ou un disque SSD, cela risque de réduire drastiquement l’espérance de vie du périphérique.

[SUCCESS] L’espace de stockage / (sur le périphérique /dev/sda1) a encore 431 GiB (99.5%) espace restant (sur 433 GiB) !



=================================
Configurations système (regenconf)
=================================

[SUCCESS] Tous les fichiers de configuration sont conformes à la configuration recommandée !

Hello,
depuis n’importe quelle machine connectée à l’internet, peux-tu depuis un terminal faire un nslookup tondomaine.tld
l’adresse IP affichée est-elle la même que l’adresse IP publique que ton FAI a attribué à ta box?

Le diagnostique fait déjà cette vérification, on devrait voir une erreur dans la partie DNS si c’était le cas

@dsmrs : est-ce que tu as installé un certificat Let’s Encrypt ? Est-ce que tu reproduis le probleme depuis un autre navigateur ? Est-ce qu’il y a des infos supplémentaires dans l’erreur en plus de “ERR_CONNECTION_REFUSED” ?

En effet, j’ai oublié d’en parler, j’ai réussi à installer let’s encrypt sur un sous domaine (membre.notredomaine.tld), mais sur le domain principal, il y a eu une erreur. Mais le ERR_CONNECTION c’était aussi pour le “membre.domain…” et il ne me signalait pas de problème de certificat (sur Firefox ou Edge). Et ça ne marche pas non plus sur mobile en 4G.

J’ai réunion ce soir, donc j’ai remis le DNS sur l’ancien hébergement, pour montrer le site, mais l’idée serait de transférer le jekyll github page sur le yunhost avec Grav. Je retente demain le let’s Encrypt pour transférer le message d’erreur. Mais je vois pas en quoi ça peut être lié vu que le sous domain avait le SSL (d’ailleurs c’est p-e le fait d’avoir fait le SSL du sous domain avant qui générait une erreur pour le domaine principal ?)

@Aleks voici les logs de l’erreur de Let’s Encrypt pour le domaine principal, et j’ai réessayé pour le sous domaine, et cette fois-ci ça ne marche pas non plus et ça donne la même erreur.

Mais bon le fait d’avoir ou non un certificat ne devrait pas m’empêcher d’accéder au serveur (après avoir dit “ok” au warning du navigateur)

args:
  force: false
  no_checks: false
  staging: false
ended_at: 2021-03-04 11:44:10.520533
error: 'Certificate installation for maindomain.tld failed !

  Exception: Impossible de signer le nouveau certificat'
interface: api
operation: letsencrypt_cert_install
parent: null
related_to:
- - domain
  - maindomain.tld
started_at: 2021-03-04 11:44:05.608761
success: false
yunohost_version: 4.1.7.2

============

2021-03-04 12:44:05,619: DEBUG - Making sure tmp folders exists...
2021-03-04 12:44:05,620: DEBUG - Reusing IPv4 from cache: xx.xx.xx.xx
2021-03-04 12:44:05,621: DEBUG - Reusing IPv6 from cache: None
2021-03-04 12:44:05,621: DEBUG - Prepare key and certificate signing request (CSR) for maindomain.tld...
2021-03-04 12:44:05,851: DEBUG - Saving to /tmp/acme-challenge-private/maindomain.tld.csr.
2021-03-04 12:44:05,851: DEBUG - Now using ACME Tiny to sign the certificate...
2021-03-04 12:44:05,851: INFO - Parsing account key...
2021-03-04 12:44:05,867: INFO - Parsing CSR...
2021-03-04 12:44:05,881: INFO - Found domains: xmpp-upload.maindomain.tld, maindomain.tld
2021-03-04 12:44:05,882: INFO - Getting directory...
2021-03-04 12:44:06,571: INFO - Directory found!
2021-03-04 12:44:06,572: INFO - Registering account...
2021-03-04 12:44:07,886: INFO - Registered!
2021-03-04 12:44:07,888: INFO - Creating new order...
2021-03-04 12:44:09,260: INFO - Order created!
2021-03-04 12:44:10,489: INFO - Verifying maindomain.tld...
2021-03-04 12:44:10,518: ERROR - Wrote file to /tmp/acme-challenge-public/hY-EmPFvzwBmsfI3eGchKET9NbQMwtRi0UUU3Tb3LH8, but couldn't download http://maindomain.tld/.well-known/acme-challenge/hY-EmPFvzwBmsfI3eGchKET9NbQMwtRi0UUU3Tb3LH8: Error:
Url: http://maindomain.tld/.well-known/acme-challenge/hY-EmPFvzwBmsfI3eGchKET9NbQMwtRi0UUU3Tb3LH8
Data: None
Response Code: None
Response: <urlopen error [Errno 111] Connection refused>
2021-03-04 12:44:10,519: ERROR - Certificate installation for maindomain.tld failed !
Exception: Impossible de signer le nouveau certificat

Est-ce que ton ip est bannie par fail2ban suite à de nombreuses tentatives de connexion (ça peut être un nextcloud client avec le mauvais password).

Tu peux le voir en faisant

iptables-save

J’ai que des IP chinoises :cn: Et dans le fail2ban.log les timecodes ne correspondent pas à mes tentatives.

# iptables-save :

# Generated by xtables-save v1.8.2 on Thu Mar  4 13:54:36 2021
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:f2b-recidive - [0:0]
-A INPUT -p tcp -j f2b-recidive
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 587 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 993 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 5222 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 5269 -j ACCEPT
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -p udp -m udp --dport 5353 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A f2b-recidive -s 221.181.185.237/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-recidive -s 221.181.185.223/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-recidive -s 221.181.185.19/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-recidive -s 221.181.185.143/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-recidive -s 221.181.185.140/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-recidive -s 221.181.185.135/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-recidive -s 221.131.165.124/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-recidive -j RETURN
COMMIT
# Completed on Thu Mar  4 13:54:36 2021

Est-ce qu’en navigation privée ça marche mieux ?

non

le diagnostique est à jour OU c’est celui reçu par mail ? Peut être que la situation a changé ?

Oui le diagnostique est lancé depuis l’admin, et je l’ai relancé il y a une heure, c’est le meme message que ci dessus (voir premier message).

Est-ce que le diagnostique des ports vérifie bien le forwading IP ? j’ai fais la demande à Orange business, mais j’ai pas la main pour vérifier qu’ils ont bien fait ce qu’il fallait…

Et j’arrive à “ping” le domaine et l’ip global, je sais pas si ça donne des infos supplémentaire.

J’ai réussi à installer Let’s Encrypt avec l’option --no-checks. Mais ça ne change rien, toujours pas accessible.

Info: Now attempting install of certificate for domain maindomain.tld!
Info: Parsing account key...
Info: Parsing CSR...
Info: Found domains: xmpp-upload.maindomain.tld,maindomain.tld
Info: Getting directory...
Info: Directory found!
Info: Registering account...
Info: Already registered!
Info: Creating new order...
Info: Order created!
Info: Verifying maindomain.tld...
Info: maindomain.tld verified!
Info: Verifying xmpp-upload.maindomain.tld...
Info: xmpp-upload.maindomain.tld verified!
Info: Signing certificate...
Info: Certificate signed!
Success! Configuration updated for 'nginx'
Success! Let's Encrypt certificate now installed for the domain 'maindomain.tld'

Y-a-t’il une IPv6 derrière ton domaine ?

dig AAAA TONDOMAINE.TLD

Dans mes Zones DNS d’OVH je n’ai pas de AAAA d’enregistré.

Voici le $ dig AAAA mondomaine.tld. J’ai aucune idée de la signification

; <<>> DiG 9.16.1-Ubuntu <<>> AAAA domain.tld
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49608
;; flags: qr aa rd ad; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 86ba734371a52c5b (echoed)
;; QUESTION SECTION:
;domain.tld. IN      AAAA

;; Query time: 254 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Thu Mar 04 16:59:18 CET 2021
;; MSG SIZE  rcvd: 70

@ljf Je ne sais pas si ça ajoute des infos, mais je n’arrive pas non plus à atteindre le panel admin et utilisateur en tapant directement l’ip global (et non locale) dans la barre d’adresse:
http://x.x.x.x/yunohost/admin/#/

@ljf @Aleks J’ai remarqué quelque chose d’encore plus bizarre: La “preview” sur le manager OVH, me montre bien l’application Grav que j’ai installé à la racine du serveur:

Ou encore quand je regarde le domain sur host.io, j’ai la favicion de Grav (bon le portal Yunhost est dans le titre, j’imagine qu’il est pas à jour, parce que j’ai installé Grav il y a une heure, mais ça montre qu’il voit le serveur).

Pourtant sur n’importe quel navigateur (chrome, firefox, edge) et du wifi ou de la 4G, il y a toujours ce message:

C’est peut être lié au résolveur DNS que tu utilises.

Tu devrais tester ton nom de domaine sur whatsmydns.net/

whatsmydns.net/ me donne presque que des checks verts (sauf en Thaïlande).

Mais je viens de tester avec un VPN (Tunnelbear), en me mettant en VPN en France ça marche pas, mais en Espagne, aux Pays-bas, Suisse ça marche!!

Est-ce possible que les françaises soient bloquées ? et à quelle niveau ? (FAI/Box, DNS OVH, sur le serveur).

En fait c’est juste un soucis de hairpinning j’ai l’impression ! Ou alors un résolveur dns menteur ou pas à jour ?

Je ne sais pas pourquoi ça na passe pas avec le VPN français mais moi je peux contacter ton serveur et je suis bien en France.

Merci pour toutes vos réponses. Il semble en effet qu’il s’agisse bien d’un problème de hairpinning.

Je n’ai pas accès à la box pour faire une redirection DNS, je vais faire une demande. Ce post-ci: Résoudre le problème de hairpinning Orange avec le DHCP/DNS permettrai de ne pas devoir ouvrir un ticket chez Orange à chaque nouveau domaine (surtout que le nôtre est temporaire), mais on a pas mal de chose sur le réseau, et perso c’est pas trop dans nos cordes d’aller toucher au DHCP et de gérer ça en interne… (notre serveur tourne sur un ordi de récup’, qui pourrait très bien nous lacher…)

En attendant la rédirection j’ai changé mon fichier hosts.

En tout cas en tout grand merci @ljf et @Aleks pour votre réactivité, c’est génial.

1 Like

Juste dans le but de documenter la solution YunoHost finale qu’on a mis en place avec une Box Orange Business.

Donc la box Orange, ne fait pas d’Hairpinning (redirection interne si la requête vise un serveur local), or, la box à un système de anti-spoofing vu que la box voit une requête sortir et re-rentré immédiatement, ce qui empêche de se connecter localement à son serveur via le nom de domaine. Avec notre plan Orange, on ne peut pas modifier cette protection.

La seul solution donné par l’équipe technique d’Orange est d’activer le DNSmasq sur le serveur Yunhost (ou ailleurs), et de l’identifier dans le DHCP de la box l’IP DNS principale comme l’IP du serveur Yunohost (ou de votre serveur DNS).

Pour ça on a installé l’application Pi-Hole pour avoir le visuel et le “adsbock”. On ne voulait pas devoir faire en plus DHCP, donc on a pas activé cette option là, la box fait toujours ce boulot là. Pour tester sinon que le serveur DNS fonctionne bien, il est possible de modifier le serveur DNS localement sur sa machine. (comment faire sur Ubuntu, Windows 10).

Plus qu’à ajouter l’IP du Serveur DNS dans le DHCP de la box. De renouveller son bail DHCP ( sur Linux,sur Windows). Et voilà c’est réglé :slight_smile:

Je tenais aussi à dire que le panel “diagnostic” de l’admin est juste INCROYABLE, surtout quand, comme nous, on a pas accès à l’admin de la box internet (ce qui est pénible!), mais qu’on peut être au téléphone avec les techniciens orange et juste refaire tourner les diagnostics, de ports, de redirection, etc. pour vérifier leurs modifs. C’est vraiment l’outil qui permet de faire un gros gros pas en avant vers l’auto-hébergement, même s’il reste encore des défis techniques, et que tout n’est pas entre nos mains (merci les FAIs…). Un grand bravo pour ce que vous faîtes c’est dingue!

1 Like