Forum Astuces.divers routage Internet à travers VPN hamachi.

Posté par  .
Étiquettes : aucune
0
20
jan.
2011
Bonjour à tous!

J'aimerai réussir a rooer l'ensemble d'une connexion internet à travers une gateway elle même accessible via un VPN :)

par exemple:


moi(chine) => PUBLIC VPN <= Serveur Linux---> Internet

Je l'avais fait il ya fort longtemps avec OpenVPN et cela avait fonctionner... Mais j'aimerai passer par un VPN public pour m'affranchir des problématiques de ports à ouvrir etc... Donc mon choix se tourne vers hamachi.

Avec openvpn j'avais mis la directive "push redirect-gateway" dans le fichier de conf du serveur + activer ip_forwarding + conf iptables pour du masquerading...

Donc voila ce que j'ai essayé mais je ne comprend pas pourquoi ça ne fonctionne pas...

server# echo 1 > /proc/sys/net/ipv4/ip_forward
server# iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

client# route add default gw 5.x.x.x (la je route via l'ip du serveur distant visible avec la commande hamachi list)

La commande est accepté mais voila: rien ne passe :((

Si je fais un traceroute depuis le client je n'ai que des * mais il ne semble pas routé mont traffic via l'ip du vpn distant...

Donc plusieurs questions:
- Cette opération est elle possible avec un VPN hamachi ?

- J'ai des doutes sur ma commande iptables donc pour rappel coté serveur j'ai une carte ethernet nommé eth1 connecté à internet avec une ip en 192.168.0.0/24 et une interface virtuelle générée par hamachi en 5.x.x.x.

Qu'en pensez vous ?

Merci à tous pour vos idées/commentaires
  • # suite ???

    Posté par  . Évalué à 1.

    Bon j'ai un peu l'impressin de discuter avec moi même mais c'est pas grave :)

    Donc j'ai bien avancé... Mais ca ne marche pas encore niquel...

    J'ai procédé par étape:
    Deja voici la bonne ligne a utilisé pour le serveur en supposant que je veuille juste accéder au réseau local du serveur Linux

    server# iptables -t nat -A POSTROUTING -o eth1 -d 0.0.0.0/0 -j MASQUERADE

    Avec cette ligne si coté client je fais:

    client# route add -net 192.168.0.0/24 gw 5.x.x.x (ip du serveur linux via hamachi)
    client# ping 192.168.0.254 (dns public de google)
    PING 192.168.0.254 (192.168.0.254) 56(84) bytes of data.
    64 bytes from 192.168.0.254: icmp_seq=1 ttl=64 time=0.786 ms
    64 bytes from 192.168.0.254: icmp_seq=2 ttl=64 time=0.645 ms
    64 bytes from 192.168.0.254: icmp_seq=3 ttl=64 time=0.649 ms

    Youpi ca ping...

    Alors moi je me dis je peux faire la même chose avec tout Internet :D sauf que ben non :(

    Maintenant je passe a l'étape supérieur:

    client# route add default gw 5.x.x.x (défois j'ai peur de rien)
    client# ping 8.8.8.8 (DNS public google)
    BEN LA PU RIEN snif snif snif snif

    Mais ce qui est plus étrange c'est cela:

    server# tcpdump -i eth0 dst 8.8.8.8
    server => 8.8.8.8 icmp echo request blabla...

    Donc ma requete est bien routée, a travers le VPN, elle arrive bien sur mon serveur Linux, elle est bien masquerader (vu que cest le nom du serveur local qui est utlisé) mais je n'ai pas le retour des paquets !!!!

    Quelqu'un aurait il une idée ???




    je peu voir ca coté serveur
    • [^] # Re: suite ???

      Posté par  (site web personnel) . Évalué à 2.

      Je suppose que ton serveur VPN est sur internet et non dans ton réseau local ? Il faut donc dire a ton client la passerelle à utiliser pour joindre ton serveur.
      L'IP_PASSERELLE est évidemment ton ancienne passerelle par défaut.
      route add -host IP_DE_TON_VPN gw IP_PASSERELLE
      et apres tu mets ta route par defaut
      ainsi tout ton trafic passe par ton VPN qui passe par la passerelle de ton réseau local.
      • [^] # Re: suite ???

        Posté par  . Évalué à 1.

        Bonjour,

        Cela ne fonctionne pas.

        En faisant cela, si je fais un traceroute avant meme d'avoir ajouter la default route:

        client# route add -host 5.x.x.x. gw 10.4.2.253 (ip de mon routeur)
        client# traceroute 5.x.x.2 (ip de mons erveur linux)

        Il essaye d'acceder a 5.x.x2 via un routage public :((

        Donc la suite est inutil...

        J'ai bien trouvé un moyen que ca marche mais c'est simplement IMMONDE.

        j'ose meme pas le poster tellement c mooooccccchhhheeeee :)
        un petit indice :
        for i in (seq 1 255) ;)
      • [^] # Re: suite ???

        Posté par  . Évalué à 0.

        Bonjour,

        Cela ne fonctionne pas.

        En faisant cela, si je fais un traceroute avant meme d'avoir ajouter la default route:

        client# route add -host 5.x.x.x. gw 10.4.2.253 (ip de mon routeur)
        client# traceroute 5.x.x.2 (ip de mons erveur linux)

        Il essaye d'acceder a 5.x.x2 via un routage public :((

        Donc la suite est inutil...

        J'ai bien trouvé un moyen que ca marche mais c'est simplement IMMONDE.

        j'ose meme pas le poster tellement c mooooccccchhhheeeee :)
        un petit indice :
        for i in (seq 1 255) ;)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.