Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 10/12/2012, à 14:17

Sciensous

Question Routeur[RÉSOLU]

Bonjour,

Je me doute que la question a déjà été posée; j'ai cherché mais la jungle du net est trop dense pour moi smile

Du coup soit vous avez un lien a me proposé, soit une réponse rapide; merci d'avance:

La question est basique:
j'ai un pc qui sert de routeur (linux) et derriere un des pc qu j'accède depuis l'extérieur via ssh.

Pas de soucis, sauf que je dois me connecter d'abord sur le serveur en ssh, puis sur l'autre bécane en ssh.
Comment être redirigé directement vers la seconde bécane depuis l'extérieur ?

(je n'ai pas compris la doc trouvé )

Dernière modification par Sciensous (Le 10/12/2012, à 22:44)


antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )

Hors ligne

#2 Le 10/12/2012, à 14:28

redo_fr

Re : Question Routeur[RÉSOLU]

Salut,
pour faire ce que tu veux, le PC qui te sert de passerelle doit faire un "port forwarding"

Grosso modo:

1*/ Tu choisis un port (non standard), par exemple 1234
2*/ Tu dis à ton routeur que toutes les requêtes arrivant sur le port 1234 doivent être redirigées vers le port 1234 de l'autre ordinateur (cela suppose aussi que ton PC doit avoir une IP fixe)
3*/ Tu configures ton serveur sshd sur le PC pour écouter le port 1234

vi /etc/ssh/sshd_config

Ajouter:
Listen 1234

4*/ Quand tu veux te connecter depuis l'extérieur, tu utilises une commande dans ce style:

ssh -p 1234 login@<adresse IP publique>

Pour le routage proprement dit, tout dépend quelle "techno" tu as choisi, tu peux faire ce "port forwarding" avec iptables
par exemple

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 1234 -j REDIRECT --dst <IP du PC> --to-port 1234

Dernière modification par redo_fr (Le 10/12/2012, à 14:31)


Il n'y a pas de mauvais outils, il n'y a que de mauvais ouvriers
- papy -
Personnellement, je crois que faire des procès est un signe que les affaires vont mal. Je ne dis pas que Microsoft va mal, ce n'est qu'un signe, pas un indicateur...
- Linus Torvalds -

Hors ligne

#3 Le 10/12/2012, à 14:33

Sciensous

Re : Question Routeur[RÉSOLU]

Merci pour cette réponse claire et détaillée smile

je vais essayer avant de mettre en résolu...

Sauf, concernant 

(cela suppose aussi que ton PC doit avoir une IP fixe)

en mettant le nom de la machine destination, ça ne marcherait pas ?


antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )

Hors ligne

#4 Le 10/12/2012, à 14:41

redo_fr

Re : Question Routeur[RÉSOLU]

si mais il faut dans ce cas:
1*/ Un serveur DNS référençant la machine et acceptant les requêtes 'DDNS' (Dynamic DNS)
2*/Un serveur DHCP réglé pour mettre à jour le serveur DNS à chaque attribution d'adresse IP

Je pense qu'il est plus simple de mettre une IP fixe smile


Il n'y a pas de mauvais outils, il n'y a que de mauvais ouvriers
- papy -
Personnellement, je crois que faire des procès est un signe que les affaires vont mal. Je ne dis pas que Microsoft va mal, ce n'est qu'un signe, pas un indicateur...
- Linus Torvalds -

Hors ligne

#5 Le 10/12/2012, à 15:34

tiramiseb

Re : Question Routeur[RÉSOLU]

Sinon, mieux que de faire de la redirection de port etc, tu peux utiliser la configuration ProxyCommand de SSH !

Dans ~/.ssh/config :

Host serveur
	ProxyCommand "ssh firewall nc <adresse_du_serveur_interne> 22"

Puis : ssh serveur


Et avec tout ça, n'oublie pas d'utiliser une authentification par clés !

Dernière modification par tiramiseb (Le 10/12/2012, à 15:36)

Hors ligne

#6 Le 10/12/2012, à 16:33

Sciensous

Re : Question Routeur[RÉSOLU]

tiramiseb:

interessant, mais pour tester il me faut des détails:

- sur quel poste dois-je modifier le .ssh/config ? (le client ?)
- le Host serveur  --> je dois remplacer serveur par l'adresse externe du routeur ?
- je suppose que firewall=nom de la machine routeur  et <adresse_du_serveur_interne>=nom de ma machine dont je veux l'accés ?


antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )

Hors ligne

#7 Le 10/12/2012, à 16:39

tiramiseb

Re : Question Routeur[RÉSOLU]

Sciensous a écrit :

- sur quel poste dois-je modifier le .ssh/config ? (le client ?)
- le Host serveur  --> je dois remplacer serveur par l'adresse externe du routeur ?
- je suppose que firewall=nom de la machine routeur  et <adresse_du_serveur_interne>=nom de ma machine dont je veux l'accés ?

- oui, le client
- "serveur" sera le nom que tu utiliseras pour te connecter à ce serveur, tu y mets ce que tu veux, ça peut être le nom de l'hôte comme ça peut être "tartempion". C'est ce que tu mettras en argument de la commande "ssh" à la place d'un hostname
- oui, firewall = le routeur et tu peux mettre le nomd e la machine à la place de l'adresse IP du serveur interne, à condition que le routeur soit capable de résoudre ce nom

Hors ligne

#8 Le 10/12/2012, à 16:42

Sciensous

Re : Question Routeur[RÉSOLU]

Extra smile

j'essaye ce soir...


antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )

Hors ligne

#9 Le 10/12/2012, à 22:26

PascalHambourg

Re : Question Routeur[RÉSOLU]

Des approximations dans la réponse de redo_fr.
- Pas besoin de changer le port d'écoute de sshd sur le PC destination, ce qui gênerait l'accès SSH classique depuis le réseau local ; on peut rediriger le port extérieur 1234 vers le port 22 en interne. Au pire, on peut dire à sshd d'écouter sur les deux ports 22 et 1234 avec deux directives Port.
- La règle iptables proposée est incorrecte : la cible REDIRECT redirige vers la machine locale. Pour rediriger vers une autre machine, il faut utiliser la cible DNAT :

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 1234 -j DNAT --to <IPduPC>:22

Si les règles de filtrage sont restrictives, il faudra aussi autoriser les connexions de l'extérieur vers le port 22 sur l'adresse du PC (et les réponses dans l'autre sens).
- Le PC interne doit avoir une adresse fixe. Un DNS dynamique ne marcherait pas car la résolution du nom ne se fait que lors de la création des règles iptables, pas lors de leur application aux paquets IP.

Dernière modification par PascalHambourg (Le 10/12/2012, à 22:30)

Hors ligne

#10 Le 10/12/2012, à 22:30

Sciensous

Re : Question Routeur[RÉSOLU]

sad

bon la méthode tiramiseb ne donne rien:

/bin/bash: ligne 0 : exec: ssh <routeur> nc <serveur> 22 : non trouvé

où <routeur> est l'adresse vue de dehors et  <serveur> le host de la machine voulue

en parallèle, je m'étais connecté en ssh et vérifié les noms pour remplacer <serveur> par son adresse ip locale dans ss/config


antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )

Hors ligne

#11 Le 10/12/2012, à 22:32

tiramiseb

Re : Question Routeur[RÉSOLU]

Oups désolé, il ne doit pas y avoir de guillemets !

===>

Host serveur
	ProxyCommand ssh firewall nc <adresse_du_serveur_interne> 22

Dernière modification par tiramiseb (Le 10/12/2012, à 22:36)

Hors ligne

#12 Le 10/12/2012, à 22:43

Sciensous

Re : Question Routeur[RÉSOLU]

en effet c'est beaucoup plus efficace big_smile
(pour l'histoire, je pensais que les quillemets étaient nécessaires, un peu comme un sh -c "bla bla" )

il me faut rentrer 2 mots de passe (routeur+serveur); il doit êtrepossible de configurer un passage direct sur le serveur sans mdp mais c'est déjà suffisant comme ça.

ah! la puissance du ssh wink

Un grand merci à vous 2 (3), surtout tiramiseb qui doit être collé au clavier et qui m'évite de mettre une IP en dur dans le routeur...

edit: pour le mdp, je sens ce que vous allez dire: "Génération de clef de chiffrement"
mais pas ce soir svp (trop fatigué)

Dernière modification par Sciensous (Le 10/12/2012, à 22:50)


antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )

Hors ligne

#13 Le 10/12/2012, à 22:53

tiramiseb

Re : Question Routeur[RÉSOLU]

Sciensous a écrit :

je pensais que les quillemets étaient nécessaires, un peu comme un sh -c "bla bla"

Oui je pensais aussi, mais je me suis trompé et je t'ai enduit d'erreur...

Sciensous a écrit :

il doit être possible de configurer un passage direct sur le serveur sans mdp mais c'est déjà suffisant comme ça.

Oui, avec l'authentification par clés.

En résumé : tu te crée une paire de clés, tu as la clé privée sur ton PC et tu mets la clé publique sur tous les serveurs auxquels tu veux accéder. L'agent SSH en fonctionnement sur ton PC te demande la phrase de passe de la clé à ta première utilisation, puis elle ne t'est plus demandée tant que tu ne fermes pas ta session.

Sciensous a écrit :

tiramiseb qui doit être collé au clavier

tiramiseb qui ne peut pas faire de bruit (ni TV, ni musique, ni jeu vidéo) parce que madame est en réunion pro jusqu'à minuit et il faut rester surveiller bébé sans le réveiller. Du coup je traîne dans le coin big_smile


edit: j'ai fait cette réponse avant ton edit. Alors pas ce soir ok, mais penses-y un jour smile

Dernière modification par tiramiseb (Le 10/12/2012, à 22:53)

Hors ligne