Question Est-il possible de modifier la configuration d'un routeur Linksys à partir d'une ligne de commande?


Je suis constamment connecté à mon ordinateur personnel, qui exécute Ubuntu, à partir de divers sites distants via SSH. Parfois, je voudrais modifier les paramètres de mon routeur Linksys à domicile - paramètres de transfert de port ou désactiver / activer sans fil, des choses comme ça.

Lorsque j'essaie d'utiliser le navigateur texte links2 pour le configurer, il n'y a pas grand chose à faire, car les titres des onglets n'apparaissent pas (probablement parce qu'ils sont des images).

Existe-t-il un autre moyen de configurer un routeur Linksys à partir d’une ligne de commande? Je suppose que je pourrais configurer un proxy sur mon ordinateur et utiliser un navigateur connecté à ce proxy pour le configurer, mais je pense qu’il pourrait y avoir une manière de le faire sans navigateur.


4
2018-06-01 20:05


origine




Réponses:


Quelques firmwares de routeur tiers (comme DD-WRT, OpenWRT, Tomate, etc.) fournit une interface SSH au routeur. J'activerais ceci du côté LAN mais pas du WAN. (Vous pouvez également l'activer côté WAN en utilisant un port non standard et un mot de passe très puissant; vous pouvez également activer l'accès WAN à l'interface Web, mais je ne recommande pas ces configurations.)

Une fois activé, vous pouvez accéder à votre routeur depuis le réseau local. (Par exemple, si l'interface SSH est activée sur le LAN mais pas sur le WAN, vous devez SSH dans votre machine Ubuntu et SSH de nouveau dans le routeur.) Une fois sur place, vous obtenez un shell minimal (souvent fourni par BusyBox), et avoir accès aux fichiers de configuration, aux scripts de démons, aux paramètres du micrologiciel et aux commandes installées.

Par exemple, j'ai un ancien Linksys WRT54G exécutant OpenWRT. Via l'interface SSH, j'ai accès à:

  • iptables (par exemple, pour ouvrir des ports temporaires);
  • la / etc / hosts et /etc/dnsmasq.conf fichiers (par exemple, pour ajouter des substitutions DNS locales ou modifier le serveur DHCP); et
  • la redémarrer commande (si nécessaire).

Je peux également inspecter les paramètres du micrologiciel (nvram show), modifiez-les (nvram set), et les écrire dans une mémoire flash non-volatile (nvram commettre). Une grande partie de ce que vous pouvez accéder dans l'interface Web est directement accessible avec nvram, mais fais attention. Ce old OpenWRT HowTo décrit la base nvram usage; il y a probablement des guides en ligne meilleurs et plus récents, alors lisez-les et prenez garde lorsque vous utilisez cet utilitaire.


5
2018-06-02 02:15





Si vous utilisez ssh, vous pouvez configurer rapidement un proxy temporaire:

ssh -L 9000:routerip:80 homemachine

Ensuite, sur votre ordinateur local, pointez votre navigateur vers http://127.0.0.1:9000/ et vous devriez voir l'écran de configuration de votre routeur. routerip est l'IP que votre machine Ubuntu à domicile utilisera pour se connecter au routeur.

Si vous utilisez puTTY, ces paramètres sont sous Connection-> SSH-> Tunnels Port source 9000, destination routerip:80, tapez Local (puis cliquez sur "Ajouter", puis ouvrez la connexion comme vous le feriez habituellement).

C'est un proxy simple et rapide que vous pouvez configurer à tout moment pour vous connecter et modifier quelque chose.


6
2018-06-02 00:20





J'ai écrit un script pour redémarrer mon routeur (une planche de surf Motorola). C'est ici. Le problème était que le seul port ouvert sur le routeur, analysé depuis le réseau local, était le port 80, qui offrait une page de configuration HTML.


0
2018-06-01 20:32