Accueil Problèmes et solutions
routeur4g.fr est financé par ses lecteurs. Quand vous achetez en passant par les liens du site, nous pouvons toucher une commission d’affiliation.

Acces reseau local via routeur4G B525s-23a et VPN

fazfaz Membre Messages: 26
Bonjour

J'ouvre un nouveau ticket pour les futurs personnes ayant les mêmes problèmes et questionnement que moi (doublon à ma question deja posé sur le topic https://routeur4g.fr/discussions/discussion/1359/topic-firmware-flashage-outils-b715-b525-and-more#latest)

Habitant en camping car, j'ai internet par le biais d'un routeur 4G B525s-23a et d'un abonnement Sosh.
J'ai plusieurs equipements  accessible par internet tel que caméra IP, clim, Lumiere Philip, Equipements Venus (base de raspberry pour le monitoring des equipements victron)

Deja, j'ai compris que les abonnements 4G ont une IP publique ne permettant par l’accès depuis internet et donc il fallait creer un tunnel permanent entre l’extérieur et mon réseau local en utilisant par exemple un VPN ou l'acces à distance par teamviewer.

J ai donc pris un abonnement vpn surfshark car celui-ci accepte le protocol l2tp de mon routeur. Maintenant je me rends compte que le vpn ne permet  pas de faire des connexions entrantes sur mon réseau local (caméra IP correctement configuré avec port forwarding) mais impossible d'y accéder. 

Voici la version firmware de mon routeur (Update par Huawei le 28/03/20 y compris son application android) :
Software version 81.191.13.00.1134
Web UI version 81.100.31.02.1134 

Avez-vous des solutions pour que je puisse accéder à mon réseau local  en sachant qu'il faut que je limite au maximum la consommation des équipements branchés en continu?  A la base je voulais uniquement un routeur et l’équipement venus branché en permanence sur ma batterie qui servirait de contrôleur à l'ensemble des autres equipements.

1) Est il possible avec le serveur VPN surfshark et mon routeur 4G B525-23a d'acceder à mon réseau local ?
2) Faut-il un routeur particulier avec Openvpn dd-wrt tomatoes pour pouvoir le faire?
3) Si il faut un routeur avec des openvpn ou autres peux t'on flasher le routeur B525s-23a ?
4) Si il faut rajouter obligatoirement un équipement lequel serait le plus complet ? un raspberry, un nas avec acces serveur integré ou autres ? (l'acces a mes fichiers depuis l'exterieur  pourrait aussi etre utile à l'avenir)
merci pour votre aide 

Fabien

Réponses

  • fazfaz Membre Messages: 26
    Modifié (mars 2020)
    après avoir relu un de mes post datant de 8mois, @oga83m 'avait deja donné les reponses et donc que les serveur VPN de type safervpn et surement surfshark sont des vpn anonymisation. il faut un serveur VPS pour faire des connections entrantes.

    Les routeurs ayant le mode "passthrough" ou encore de type dd-wrt tomatoes ont quels particularités?

    En attendant des réponses des experts de ce site, je regarde les serveurs d OVH pour voir comment créer du coup un serveur vps.

  • ludovickludovick Membre Messages: 8188
    Regarde chez ScaleWay ou Hetzner
  • oga83oga83 Membre Messages: 1121
    @faz Regarde ce tuto. J'utilise un VPS Scaleway.
  • fazfaz Membre Messages: 26
    @oga83 et @ludovick OK ça marche, je vais regardé cela.
  • fazfaz Membre Messages: 26
    salut @oga83 et @ludovick,

     j'ai commencé a regarder les tuto et j ai pris un VPS  avec OpenVpn (Debian8) chez OVH (Je l'avais deja pris avant que vous me répondiez d aller chez scaleway).

    Maintenant je suis au reglage Serveur chez OVH et client sur le raspberry; J'ai essayé de tout configurer à l'aide des tuto que vous m'avez conseillé mais malheureusement  ces tutoriels sont vraiment haut niveau. J'arrive a effectuer une partie grâce à différent tutoriels sur internet mais je bloque maintenant et je ne suis même pas sur d'avoir fait tous correctement. pourtant je suis électronicien j'ai quand même de bonne compétence malheureusement pas sous linux et les réseaux.

    Sur la partie VPS:  je bloque des le debut, du coup j'ai fais les autres point et suivi aussi le tuto d'OVH mais je suis pas de ce que j'ai fais (je vais surement reinstallé le von pour repartir à zero)
    exemple : 1 - Ouvrir les ports souhaités sur le serveur "ami" (80 dans notre exemple)"

    Sur le Raspberry : j'ai réussi à aller jusqu’à la création de la clé (il faut avoir les privilèges root) mais je suis bloqué à la copie du fichier et comment le transférer au VPS
    3- Copier la clef publique sur le serveur
    Copier le contenu de /home/root/.ssh/id_rsa.pub (sur le Raspberry) dans le fichier /home/revssh/.ssh/authorized_keys (du serveur)

    Du coup,  pouvez-vous m'aider a mettre en place  la liaison SSH ?  

    Et  si ça vous dit, en parallèle je prépare un pdf d'install de A à Z pour les autres qui sont dans le même cas que moi.

    Fabien
  • oga83oga83 Membre Messages: 1121
    @faz Chacune des étapes est importante. Cela ne sert à rien de continuer si l'une d'entre-elle échoue.
    Pour l'ouverture des ports sur le VPS, c'est spécifique à chaque fournisseur. Comme je ne suis pas chez OVH, je ne sais pas exactement comment le faire.
    Pour SSH : pour copier la clef RSA (étape 3), Il faut que ton VPS fonctionne et que tu puisses y accéder. Ensuite, le plus simple est d'utiliser "scp" avec une commande du style :
    scp /home/root/.ssh/id_rsa.pub root@IPduVPS:/home/revssh/.ssh/authorized_keys
  • fazfaz Membre Messages: 26
    Bonjour @oga83

    Désole je n'ai pas eu le temps de continuer à cause de mon travail mais je suis en vacances forcé pendant une semaine du coup je vais pouvoir me consacrer à ça à 100%.

    J'ai repris depuis le début et je bloque à la copie de la clef RSA. J'ai ce message d'erreur
    /home/root/.ssh/id-rsa.pub: No such file or directory

    Pourtant elle a bien été créer et quand je relance la génération de la clé il demande si je veux réécrire par dessus donc elle existe.
    Sur le raspberry je suis en root (cmd sudo su) donc je dois avoir les acces a se repertoire ?

    D'avance merci si tu as le temps de me repondre
  • fazfaz Membre Messages: 26
    Modifié (avril 2020)
    j'ai essayé aussi :

    root@raspberrypi:/home/pi# cd ~/.ssh
    root@raspberrypi:~/.ssh# ls
    id_rsa  id_rsa.pub  known_hosts

    root@raspberrypi:~/.ssh# ssh-copy-id -i id_rsa.pub root@IP:/home/revssh/.ssh/authorized_keys

    /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "id_rsa.pub"
    /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
    /usr/bin/ssh-copy-id: ERROR: ssh: Could not resolve hostname IP:/home/revssh/.ssh/authorized_keys: Name or service not known

    C'est vraiment compliqué... j'ai du mal a comprendre ce que je suis en train de faire : copier le fichier id_rsa.pub dans le repertoire authorized_keys  mais quand j'essaie d' acceder à authorized_keys j'ai l'impresiion que c'est un fichier et pas un repertoire.. 
  • fazfaz Membre Messages: 26
    Je crois avoir réussi en mettant : 
    ssh login@serveur "echo $(cat ~/.ssh/id_rsa.pub) >> .ssh/authorized_keys"

    Je suis arrivé au bout du tuto. Maintenant il faut que je teste voir si ca marche 
  • oga83oga83 Membre Messages: 1121
    faz a dit :
    J'ai repris depuis le début et je bloque à la copie de la clef RSA. J'ai ce message d'erreur
    /home/root/.ssh/id-rsa.pub: No such file or directory

    Pourtant elle a bien été créer et quand je relance la génération de la clé il demande si je veux réécrire par dessus donc elle existe.
    Elle existe peut-être, mais probableent pas au bon endroit. Pour générer une clef pour root, il faut être root.
    faz a dit :
    Je crois avoir réussi en mettant : 
    ssh login@serveur "echo $(cat ~/.ssh/id_rsa.pub) >> .ssh/authorized_keys"
    Une clef a été copiée pour un utilisateur. Avec cette commande, je ne peux pas dire de quel utilisateur provient la clef, et pour quel utilisateur distant elle sera installée.
    scp est beaucoup plus simple et c'est la commande de référence pour transférer un fichier avec ssh.
    faz a dit :
    copier le fichier id_rsa.pub dans le repertoire authorized_keys  mais quand j'essaie d' acceder à authorized_keys j'ai l'impresiion que c'est un fichier et pas un repertoire.. 
    authorized_keys est bien un fichier, pas un répertoire.
  • fazfaz Membre Messages: 26
    Modifié (avril 2020)
    Merci @oga83

    Apres avoir tout réessaye la commande scp ne veut décidément pas. Pourtant je suis en Root et c'est bien marqué que la clé est enregistré sous /home/root/.ssh/id_rsa. J espere que l'autre commande sera equivalente.

    Sinon, j'ai essayé de faire fonctionner mais cela ne marche pas. j'ai déjà des doutes sur l'ouverture des ports. Dans le tuto c'est pas préciser, idem dans le fichier /etc/crontab j'ai des doutes
    Sur le serveur ami, 
    dans sshd_conf -> Port 2200
    dans ssh_conf-> Port 22
    J'ai désactiver le firewall d'OVH.
    Ensuite apriori aucune règle n'est active dans iptable donc je n'ai rien a faire

    Sur le raspberry
    dans ssh_conf-> Port 22
    dans crontab->
    @reboot   export AUTOSSH_POLL=30; /usr/lib/autossh/autossh -M 20000 -C -N -f -n -T -p 2200 -R \*:80:192.168.8.120:8090 revssh@ipvps 
    -R \*:2222:127.0.0.1:22 

    je suis pas sur sur pour l'acces au raspberry  comme ca ne marchait pas j'ai mis comme marqué dans le tuto.
    mais faut-il rajouter sur la meme ligne pour chaque equipement ?
    exemple : -R \*80:IP_equipement:Port_equipement revssh@ipvps

    idem pour le raspberry? comme ceci: 
    @reboot   export AUTOSSH_POLL=30; /usr/lib/autossh/autossh -M 20000 -C -N -f -n -T -p 2200 -R \*:80:192.168.8.120:8090 revssh@ipvps -R \*:2222:127.0.0.1:22 revssh@ipvps

    Sur le routeur B525
    faut-il refaire le port forwading ? 
    Routeur 192.168.8.1
    Raspberry 192.168.8.103
    Ip camera1 192.168.8.120:8090
    Ip camera2 192.168.8.106:8080

    je te remercie pour ton aide. Il y a pas beaucoup de ligne mais je passe pourtant des heures à cause de mon inexperience...

    Fabien
  • fazfaz Membre Messages: 26
    Modifié (avril 2020)
    @oga83  et @ludovick, ou une autre personne, pourriez-vous m'aider à finir mon install ?
    J'ai compris beaucoup de choses déjà car je suis novice mais je tourne en rond 

    Pour info : 
    je suis reparti sur me vps Debian 9 (Stretch)

    Si j'ai bien compris :
    je fais au démarrage de mon raspberry. une connexion SSH sur le port 2200 du VPS  et le VPS fera un tunnel en reverse ssh par le port 2222 du VPS au port 22 raspberry pour ouvrir le tunnel permanent.

    la commande permettant de créer le tunnel est dans /ect/crontab qui se lance au démarrage du raspberry:

    @reboot export AUTOSSH_POLL=30; /usr/lib/autossh/autossh -M 20000 -C -N -f -n -T -p 2200 -R \*:2222:127.0.0.1:22 revssh@ipvps

    J'ai l'impression que le VPS ne crée pas le tunnel donc j'essaie en manuel comme @oga83 a expliqué pour une personne du forum ssh  revssh@ipvps

    Root@raspberrypi:/home/pi# ssh  revssh@ipvps -p2200
    Linux ipvps 4.9.0-11-amd64 #1 SMP Debian 4.9.189-3+deb9u2 (2019-11-11) x86_64

    The programs included with the Debian GNU/Linux system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.

    Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
    permitted by applicable law.
    Last login: Thu Apr 16 04:23:31 2020 from 176.149.87.235

    This account is restricted by rssh.
    This user is locked out.

    If you believe this is in error, please contact your system administrator.

    Connection to ipvps closed.


    La connexion marche, je n'ai pas besoin de mettre de mot de passe donc je suppose que la clé marche.
    Le user revssh est bloqué apriori c'est normal car on avait dans le tuto interdit à revssh de se logguer.

    ensuiite je redemarre le raspberry pour verifier le boot de l'autossh.
    je fais la commande   ps -ef | grep ssh

    root       331     1  0 23:46 ?        00:00:00 /usr/sbin/sshd -D
    pi         471   424  0 23:46 ?        00:00:00 /usr/bin/ssh-agent x-session-manager
    pi         559     1  0 23:46 ?        00:00:00 /usr/bin/ssh-agent -s
    root       661   331  2 23:47 ?        00:00:00 sshd: pi [priv]
    pi         671   661  0 23:47 ?        00:00:00 sshd: pi@pts/0
    pi         686   674  0 23:47 pts/0    00:00:00 grep --color=auto ssh

    Je ne sais pas si on doit voir la ligne ajouté dans crontab pour valider lqu'il lance l'autossh ????.

    j'essaie alors nmap -sT -p 2222 ipvps

    Starting Nmap 7.70 ( https://nmap.org ) at 2020-04-15 23:49 CEST
    Nmap scan report for 90.ip-ipvps.eu (ipvps)
    Host is up (0.032s latency).

    PORT     STATE  SERVICE
    2222/tcp closed EtherNetIP-1

    Nmap done: 1 IP address (1 host up) scanned in 1.50 seconds

    le port est fermé donc pas de tunnel.

    j'éssai l'autossh en manuel. la ligne s'effectue sans aucun message. mais toujours aucun tunnel d'ouvert.
    J'essaie de comprendre pourquoi revssh ne peut pas creer le tunnel mais je seche.

    Un autre point au redemarrage du raspberry la commande ssh  revssh@ipvps n'a de nouveau demandé le mot de passe revssh.donc est ce normal ?
    Message edité par ludovick on
  • oga83oga83 Membre Messages: 1121
    @faz Il y a trop de choses à la fois !
    A mon avis, il faut reprendre pas à pas et valider chaque point.
    ssh à l'air de marcher. Il faut vérifier que les tunnels fonctionnent (netstat pour vérifier l'ouverture des ports, ping pour tester de point à point).
    A mon avis, désactiver le firewall pour éviter d'avoir à configurer les règles d'ouverture des ports est une mauvaise idée : ton vps deviendrait une passoire. Heureusement, ça n'a pas marché... comme le montre un nmap que j'ai fait sur l'ip de ton vps (tu devrais éviter de la laisser dans tes messages).
  • fazfaz Membre Messages: 26
    Modifié (avril 2020)
    Apres des heures de test j'ai réussi à créer le tunnel en manuel. 

    par contre je suis obligé de rajouter -N
    ssh -N -R \*:2222:127.0.0.1:22 revssh@ipvps -p 2200

    l'autossh marche aussi
    autossh -M 20000 -C -N -f -n -T -p 2200 -R \*:2222:127.0.0.1:22 revssh@ipvps

    il reste a comprendre pourquoi cela ne se lance pas au démarrage via /etc/crontab

    Quand j'aurai reussi, je rajouterais les differentes commandes que j'ai utilisé pour les novices comme moi. 
    Message edité par faz on
  • oga83oga83 Membre Messages: 1121
    @faz Le -N est effectivement nécessaire quand on a bloqué les logins avec rssh.
    C'est dans le tuto avec les autres options :


  • fazfaz Membre Messages: 26
    @oga83
    oui maintenant j'ai compris le principe mais il n'aura fallu beaucoup de temps.
    idem pour la copie de la clé privée du raspberry au serveur il fallait changer les droits (chmod) et du coup j'ai pu effectué la commande scp. 

    Je suis bloqué sur le reboot dans le /etc/crontab j'ai cherché sur beaucoup de forum hormis créer un script, je n'ai pas trouvé d'autre solutions.

  • oga83oga83 Membre Messages: 1121
    Modifié (avril 2020)
    faz a dit :
    @oga83
    Je suis bloqué sur le reboot dans le /etc/crontab j'ai cherché sur beaucoup de forum hormis créer un script, je n'ai pas trouvé d'autre solutions.
    Qu'est ce qui bloque ? Il suffit de recopier le @reboot mentionné ici dans mon dernier post
    A priori, il y a une typo dans le tuto. ça devrait être /usr/bin/... et pas /usr/lib/...
    Vérifie où se trouve autossh avec : "which autossh"
    faz a dit :
    idem pour la copie de la clé privée du raspberry au serveur il fallait changer les droits (chmod) et du coup j'ai pu effectué la commande scp.
    Il vaut mieux changer d'utilisateur plutôt que de toucher aux permissions des fichiers de clefs privées. Il faut impérativement remettre les permissions initiales restrictives (à priori 600) pour éviter de laisser une faille de sécurité.



  • fazfaz Membre Messages: 26
    Modifié (avril 2020)
    @oga83

    voici la commande que j'ai mis dans /etc/crontab
    @reboot export AUTOSSH_POLL=30; /usr/lib/autossh/autossh -M 20000 -C -N -f -n -T -p 2200 -R \*:2222:127.0.0.1:22 revssh@ipvps

    j'effectue un reboot du raspberry. une fois demarrer je teste sur le vps:
    nmap -sT -p 2222 ipvps

    PORT     STATE  SERVICE
    2222/tcp closed EtherNetIP-1

    par contre quand je lance directement :
    autossh -M 20000 -C -N -f -n -T -p 2200 -R \*:2222:127.0.0.1:22 revssh@ipvps

    PORT     STATE SERVICE
    2222/tcp open  EtherNetIP-1

    Et du coup j'arrive a acceder à mes cameras depuis l'exterieur ca marche nikel. je suis deja super content d'arriver la.

    j'ai essayer avec /usr/lib/autossh/autossh et /usr/bin/autossh/autossh mais cela ne marche toujours pas. j'ai effectué ls dans les deux repertoires et il y a bien autossh dedans.

    Pour les failles de sécurité, ok je prend note, je vais verifier cela en même temps que limiter les acces preconiser dans les tuto d'ovh et configurer aussi l'ensemble des firewalls etc....

    merci en tout cas pour ton aide

    Message edité par faz on
  • fazfaz Membre Messages: 26
    C est peut être un problème de droit root étant que je suis avec une session pi qui n est pas super user. Peut etre rajouter sudo devant export?

    En principe la fonction @ reboot suffit au démarrage à créer le tunnel, il n est pas nécessaire d ouvrir quoi que ce soit ? 
  • oga83oga83 Membre Messages: 1121
    @faz Que se passe t-il si tu lances la commande du crontab à la main (sans @reboot bien-sûr) :
    export AUTOSSH_POLL=30; /usr/lib/autossh/autossh -M 20000 -C -N -f -n -T -p 2200 -R \*:2222:127.0.0.1:22 revssh@ipvps

  • fazfaz Membre Messages: 26
    @oga83

    ca marche bien quand je fais direct export

  • oga83oga83 Membre Messages: 1121
    Si ça marche dans un shell, ça devrait marcher dans crontab.
    Poste une copie d'écran du crontab pour voir comment il est formatté.


  • fazfaz Membre Messages: 26
    Modifié (avril 2020)
    voici la capture. j'ai copié et testé la ligne qui du coup marche. Sur le raspberry j'ai presque aucun package d'installer. Il me manque peut etre un package pour la gestion du reboot ?
    Message edité par ludovick on
  • oga83oga83 Membre Messages: 1121
    Modifié (avril 2020)
    @faz Plutôt que modifier /etc/crontab, essaye de lancer un "crontab -e", en étant root, et d'ajouter la commande @reboot dans le fichier qui s'ouvre. Enregistrer et reboote.
    Dans /etc/crontab, il faut indiquer root après @reboot
  • fazfaz Membre Messages: 26
    j'ai déjà essayé d'attaquer crontab -e et le fonctionnement des touches est different. Pour resumé je galere juste a enregistrer le fichier. Je suis en train de parcourir les forums pour comprendre.
  • fazfaz Membre Messages: 26
    j'ai réussi à modifier le fichier et a priori cela marche. :smiley:
    je teste une derniere fois ce soir et j'arrete sur une victoire ;) .

    Merci pour ton tuto et surtout pour ton aide. J'avais jamais écrit une ligne sous linux c'est pas si simple !


  • fazfaz Membre Messages: 26
    Modifié (avril 2020)
    @oga83 après avoir bien revu ce que j'ai fais comparé à ton commentaire, en faite je me suis trompé j'ai pas réussi à modifier crontab -e en root j'avais modifié celui de pi sans m'en rendre compte. 
    Je l'ai remis comme à l'origine (pi) et  au final impossible de modifier celui en root

    Par contre juste en laissant 'root' devant @reboot ça marche.(et inversement si je l’enlève ça ne marche plus)

    Je ne sais pas si il suffisait juste de mettre root ou si j'ai génèré en plus un fichier crontab -e (J'ai lu un moment génération du fichier crontab- e).

    Si pour toi cela te parait cohérent je laisse comme cela.

    Du coup il me reste toute la partie sécurité à paramétrer et aussi ton commentaire ci-dessous.

    oga83 a dit :
    Pour avoir accès à l'interface wb d'un routeur Huawei, il y a un petit piège lié à une redirection html vers une url absolue. Si vous avez suivi jusque ici, vous saurez certainement le résoudre ;)

    PS: je ne sais pas comment vous faite les encadrés pour citer des commentaire d'autres personnes
    Message edité par ludovick on
  • oga83oga83 Membre Messages: 1121
    @faz Si tu modifies /etc/crontab, et comme ce fichier n'est pas lié à un utilisateur particulier, il faut indiquer l'utilisateur : "@reboot root ..."
    Si tu crées un cron pour un utilisateur particulier (crontab -e), il n'y pas pas besoin d'indiquer l'utilisateur (il est déjà connu) : "@reboot ..."
Connectez-vous ou Inscrivez-vous pour répondre.