1 votes

Comment faire pour que Termius recherche d'abord les noms d'hôtes sur le réseau local ?

J'ai quatre appareils :

  1. Windows 10 PC
  2. Téléphone Android (v6.0.1)
  3. Routeur Internet
  4. "servername" (Raspberry Pi 4)

Tous sont connectés localement par Wifi (sans que cela ait d'importance) en utilisant la configuration la plus simple possible. Chaque appareil a un accès Internet fonctionnel. Tout communique avec tout le reste sans problème, sauf lorsque j'essaie d'utiliser Termius sur Android pour se connecter à "nom du serveur".

Sur le PC, je peux simplement lancer la commande putty fred@servername et je peux me connecter sans difficultés, comme on peut s'y attendre.

Cependant, Termius sur le téléphone Android ne semble pas comprendre que "nom du serveur" est connecté localement au même réseau wifi que le téléphone lui-même. Si j'ouvre une session SSH locale sur le téléphone lui-même et que j'envoie un ping à "nom_serveur", il semble qu'il cherche une adresse IP Internet aléatoire ( 92.xxx.xxx.xxx ) et ne parvient pas à se connecter.

Si j'utilise l'adresse IP locale du serveur ( 192.168.xxx.xxx ) alors Termius peut y accéder par SSH sans problème.

Alors, comment puis-je persuader Termius (version gratuite) de comprendre les noms d'hôtes du réseau local ? Je ne trouve aucun paramètre correspondant à ce problème.

1voto

Irfan Latif Points 16863

Alors, comment puis-je persuader Termius (version gratuite) de comprendre les noms d'hôtes du réseau local ?

En fait, vous devez persuader le système d'exploitation Android, et non une application spécifique. La résolution des noms d'hôtes est gérée par la bibliothèque C d'Android à laquelle les applications sont liées par des API au moment de la compilation.

Sur le PC, je peux simplement lancer la commande putty fred@servername et je peux me connecter sans difficultés, comme on peut s'y attendre.

Vous n'avez pas mentionné quel routeur Wi-Fi vous utilisez et si vous avez un serveur DHCP/DNS fonctionnant sur le réseau local ou non. Mais pour résoudre les noms d'hôtes locaux sur Android, vous devez avoir un serveur DNS local en fonctionnement. Habituellement, le routeur Wi-Fi est le serveur DHCP/DNS.

Je ne trouve aucun paramètre correspondant à ce problème.

C'est la partie la plus difficile. Vous devez configurer votre téléphone pour qu'il utilise un serveur DNS local, mais Android n'offre pas de moyen simple de le faire.

Si j'ouvre une session SSH locale sur le téléphone lui-même et que je fais un ping servername alors il semble qu'il s'attaque à une adresse IP Internet aléatoire ( 92.xxx.xxx.xxx ) et ne parvient pas à se connecter.

Cela indique que le téléphone Android envoie des requêtes DNS à Internet. Vous devez vous assurer que les requêtes DNS sont envoyées uniquement au serveur DNS local. Les serveurs DNS publics ne connaissent pas les noms d'hôtes que vous avez définis sur votre réseau privé. Android aime tellement Google que vous trouverez souvent des requêtes envoyées à 8.8.8.8 (peut être lorsque le routeur est annoncer le serveur DNS IPv6 ). Configurer IP fixe dans les paramètres Wi-Fi pour définir l'adresse IP du serveur DNS local comme premier (et de préférence unique) DNS. Ou si vous avez Root, vous pouvez utiliser le pare-feu intégré du noyau Android. netfilter pour forcer un serveur de noms. Puisque le DNS utilise le port UDP 53 effectuer une traduction d'adresse de réseau de destination (DNAT) :

~# iptables -t nat -I OUTPUT -p udp --dport 53 -j DNAT --to 192.168.1.1:53

La solution non-root qui fonctionne à la fois pour le Wi-Fi et les données mobiles est d'utiliser une application VPN telle que Hôtes virtuels qui intercepte le trafic DNS et effectue des requêtes auprès du serveur DNS configuré en amont.

Cela devrait résoudre votre problème.

Pour plus de détails, veuillez consulter Comment envoyer un ping à un hôte du réseau local par son nom d'hôte ? .

En rapport : Comment fonctionne le DNS sur Android ?

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X