Hamnet configuration VPN / Spotnik ou Hamsrvpi

La configuration choisie est internet via le wifi , accès au réseau Hamnet sur le Xspotnik , spotnik , Hamsrvpi , ou autre machine linux , et sur le LAN par routage,  d’autres solutions existent , routeur Microtik , configuration IPIP.

en bleu ce qu’il faut taper / écrire . Vous pouvez substituer mcedit à nano, vi enfin l’éditeur de votre choix.

1ère Partie le VPN la route pour le réseau 44 et le NAT du réseau local :

Pré-requis , obtenir les informations pour le réseau Hamnet auprès de F6CNB ou F1TZV.

Partie VPN :

  • adresse IP routeur          : 44.168.X.Y
  • adresse IP gateway         : 44.168.X.Z
  • nom d’utilisateur            : f4xxx-routeur
  • mot de passe                    : SuperMotDePasseHyperComplique
  • serveur pptp                    : hamnet.fr

Je vous conseille vivement de noter ces éléments sur un papier pour les avoir à portée de main dans ce tuto ! on y fera souvent appel !!

1/ étape ajouter le vpn pptp

apt-get install pptp-linux 

2/ le fichier VPN hamnet à créer

le télécharger ici :

cd /etc/ppp/peers

wget ftp://rrf.f5nlg.ovh/HAMNET/hamnet

mcedit /etc/ppp/peers/hamnet

pty "pptp hamnet.fr --nolaunchpppd --nobuffer --timeout 10"
  name f4xxx-router
  persist
  holdoff 30
  mtu 1400
  maxfail 0
  remotename pptp
  require-mppe-128
  refuse-eap
  nobsdcomp
  nodeflate
  file /etc/ppp/options.pptp
  ipparam hamnet

3/ modifier le fichier /etc/ppp/chap-secrets

mcedit /etc/ppp/chap-secrets

# Secrets for authentication using CHAP
# client                    server                                    secret                                          IP addresses

f4xxx-router           pptp           SuperMotDePasseHyperComplique                           *

4/ tester que ça fonctionne :

pon hamnet

en cas de soucis : pon hamnet debug dump logfd 2 nodetach qui donne le log à l’écran.

tapez ifconfig : vous devez avoir une interface ppp0 montée avec les adresses 44.168.X.Y et 44.168.X.Z

5/ on arrête le vpn :

poff hamnet 

6/ rajouter un fichier « hamnet » dans /etc/ppp/ip-up.d pour le routage et le NAT

 

le télécharger ici :

cd /etc/ppp/ip-up.d

wget ftp://rrf.f5nlg.ovh/HAMNET/ip-up.d/hamnet

mcedit /etc/ppp/ip-up.d/hamnet

#!/bin/bash
#
#  Text:
# —————————————————————
# This script is called with the following arguments:
# Arg Name Example
# $1 Interface name ppp0
# $2 The tty ttyS1
# $3 The link speed 38400
# $4 Local IP number 
# $5 Peer IP number 
# $6 Optional « ipparam » value foo
# —————————————————————

# don’t bother to restart postfix when lo is configured.
if [ « $1 » = « lo » ]; then
exit 0
fi

# add route
if [ « $6 » = « hamnet » ]; then
route add -net 44.0.0.0/8 $1
fi

# add forwarding
if [ « $6 » = « hamnet » ]; then
sysctl -w net.ipv4.ip_forward=1
fi

# add masquerading
if [ « $6 » = « hamnet » ]; then
iptables -t nat -A POSTROUTING -o $1 -j MASQUERADE
fi

exit 0
#end

 

 

———————-

rendre le fichier exécutable chmod +x hamnet

pon hamnet lance le VPN sur Hamnet

vérifiez avec ifconfig vous devez avoir une interface ppp0 avec votre ip

vérifiez le routage : route

44.0.0.0 * 255.0.0.0 U 0 0 0 ppp0

vérifiez le nat : iptables -L -t nat

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all — anywhere anywhere

poff hamnet arrête le VPN sur Hamnet.

essais : on lance le vpn pon hamnet et on essaie  dans midori par exemple le site hamnet de f5nlg : http://44.168.13.70

f5nlg

Le VPN est fonctionnel à ce stade , il reste à faire une configuration sur la box pour surfer sur Hamnet depuis n’importe quel PC de votre réseau local :

il faut rajouter une route dans votre BOX exemple : ( SFR BOX onglet Réseau V4 ROUTE rajouter la route pour le réseau 44.0.0.0 masque 255.255.255.0 vers  l’adresse de la machine qui fait le VPN  « spotnik » )  vous avez ensuite accès à Hamnet depuis votre réseau local.

sur les livebox orange ce n’est pas possible , il faut rajouter la route sur le pc avec le(s)quels vous voulez aller sur Hamnet …

sous windows : invite de commande et route add 44.0.0.0 mask 255.0.0.0 192.168.1.X -p

sous Linux : route add -net 44.0.0.0 mask 255.0.0.0 gw 192.168.1.X

ou X est l’adresse de votre hamsrvpi ou Spotnik ou machine sur laquelle le vpn est installé .

route_box

Ici le site « F5NLG » à l’adresse 44.168.13.70  vu sur mon PC 🙂

f5nlg

 

 

Vous pouvez aussi installer Hamsrvpi en lieu et place du spotnik , cette distribution propose des services Hamnet , serveur web , webcam etc …

Vous voila sur Hamnet ! la 2ème partie est plus complexe et sert uniquement si vous avez une classe d’adresses supplémentaire .

 

2eme : Partie le sous réseau, le DHCP , le firewall , et la configuration de l’interface RJ45 eth0 à finir d’écrire …

Partie sous-réseau = subnet :

  • N° d’AS routage bgp        : 64MNO
  • adresse IP subnet            : 44.168.A.B
  • classe subnet                    : 27 (C)
  • adresse IP FIN subnet    : 44.168.D.E

 

apt-get install isc-dhcp-server

on configure le DHCP sur l’interface eth0

l’adresse 44.168.A.D correspond au minimum à l’adresse sur subnet 44.168.A.B + 1 , c’est-à-dire, si par exemple votre réseau correspond à 44.168.12.34,  range doit commencer à 44.168.12.35 , l’adresse maximum correspond à l’adresse de broadcast -1

mcedit  /etc/dhcp/dhcpd.conf

authoritative;
option domain-name "Hamnet";
subnet 44.168.A.B/C {
range 44.168.A.D 44.168.A.E;
option routers 44.168.X.Y;
option domain-name-servers 8.8.8.8, 8.8.4.4; }

on va configurer 1 scripts dans /root pour le démarrage , le firewall , et l’arrêt .

le télécharger ci-dessous :

cd /root

wget ftp://rrf.f5nlg.ovh/HAMNET/hamnet

mcedit /root/hamnet.sh

#!/bin/sh -e
#
# Script « hamnet » par F5NLG 13/03/2018
#
# le /etc/ppp et le /etc/dhcp/dhcpd.conf doivent être configurer
# voir docs … https://f5nlg.wordpress.com/2018/03/09/routeur-hamnet-sur-orangepi-0/
#

HAMIPS=44.168.A.B
MASK=27
case « $1 » in
start)

pon hamnet

# on active le routage
sh -c ‘echo 1 > /proc/sys/net/ipv4/ip_forward’

sleep 3

route add -net 44.0.0.0/8 dev ppp0
# gw 44.168.X.Y

# on configure l’interface RJ45
ifconfig eth0 $HAMIPS/$MASK

# on lance le dhcpd
service isc-dhcp-server start

iptables –insert OUTPUT 1 –source $HAMIPS/$MASK –destination 44.0.0.0/8 –jump ACCEPT –out-interface ppp0
iptables –insert INPUT 1 –source 44.0.0.0/8 –destination $HAMIPS/$MASK –jump ACCEPT –in-interface ppp0

iptables –insert FORWARD 1 –source $HAMIPS/$MASK –destination 44.0.0.0/8 –jump ACCEPT –out-interface ppp0
iptables –insert FORWARD 1 –source 44.0.0.0/8 –destination $HAMIPS/$MASK –jump ACCEPT

iptables –append FORWARD –protocol tcp –tcp-flags SYN,RST SYN –jump TCPMSS –clamp-mss-to-pmtu

# Fin du script
exit 0
;;

stop)
iptables -F
ifconfig eth0 down
poff hamnet

exit 0
;;

restart)
./hamnet.sh stop
sleep 3
./hamnet.sh start
exit 0
;;
*)
echo « Usage: hamnet.sh {start|stop|restart} »
exit 0
;;

esac
exit 0

  on rend le fichier  exécutable : chmod +x hamnet.sh

 

 

 

pour la connexion d’un pc ou switch à la partie routeur , la doc n’est pas encore écrite mais en gros il faut un câble et un switch .

3ème  il faut valider le routage bgp et renseigner votre numéro d’AS

on installe quagga qui est un routeur BGP

apt-get install quagga

to be continue …

 

12 réflexions au sujet de « Hamnet configuration VPN / Spotnik ou Hamsrvpi »

  1. Ping : Routeur Hamnet sur OrangePi 0 / Linux  | ServeurPerso.in

  2. Hervé

    Bonjour et merci pour cette -nouvelle- initiative 🙂
    (le rêve va t-il tendre vers la réalité dans notre bout du monde lisant, parallèlement les travaux sur https://huit.re/hamnet70 )
    Par contre, et pour revenir à ce tuto et plus particulièrement à : 1/ étape ajouter le vpn pptp
    je lis (sur https://doc.ubuntu-fr.org/vpn ) :
    « (2014) Le protocole PPTP bien que pratique à configurer n’est plus recommandé en raison de ses failles de sécurité […] »
    Je n’ai aucune compétence pour avoir un avis … mais d’autres auront des avis (si possible avec les compétences pour juger c’est plus utile 😉
    Merci par avance!

    J’aime

    Répondre
    1. jppiers Auteur de l’article

      Bonjour,
      ce n’est pas moi qui décide de la sécurité sur Hamnet , il existe 2 façons de se connecter au réseau Hamnet à ma connaissance , via vpn pptp ou via encapsulation ipip j’essaie de décrire les 2 de manière simple …73″

      J’aime

      Répondre
  3. Ping : Rappel et invitation sur Hamnet | F3CJ Joël PELVES (62) - Radio Amateur

      1. FREDERIC ZULIAN

        Ok, j’ai trouvé la methode pour le mot de passe.
        Il semble ne pas trouver l’interface ?
        Une idée ?

        root@serveur1:/usr/src/ampr-ripd# ./find_pass.sh
        Tunnel socket: Setting SO_BINDTODEVICE: No such device

        J’aime

      2. FREDERIC ZULIAN

        Ok, le script fonctionne l’interface est montée.
        tunl0: flags=193 mtu 1480
        inet 44.151.31.6 netmask 255.255.255.255
        tunnel txqueuelen 1000 (IPIP Tunnel)
        Mais je n’ai pas de retour en tentant de pinguer ma propre IP.
        Traceroute semble indiquer que mes demandes partent sur d’autres serveurs …
        root@serveur1:/usr/src# traceroute 44.151.31.6
        traceroute to 44.151.31.6 (44.151.31.6), 30 hops max, 60 byte packets
        1 * * *
        2 * * *

        Une petite idée ?

        73
        F1sxo

        J’aime

  4. FREDERIC ZULIAN

    Je viens d’essayer le tuto de cette page « Hamnet configuration VPN / Spotnik ou Hamsrvpi » et j’ai un petit doute.
    Le routeur est ma Freebox et je demande à la freebox de rediriger certains ports vers mon serveur derrière. Du coup, je n’utilise pas iptables.

    J’ai aussi visiblement un problème d’identification :

    root@serveur1:/etc/ppp/ip-up.d# pon hamnet debug dump logfd 2 nodetach
    pppd options in effect:
    debug # (from command line)
    nodetach # (from command line)
    holdoff 30 # (from /etc/ppp/peers/hamnet)
    persist # (from /etc/ppp/peers/hamnet)
    logfd 2 # (from command line)
    maxfail 0 # (from /etc/ppp/peers/hamnet)
    dump # (from command line)
    noauth # (from /etc/ppp/options.pptp)
    refuse-pap # (from /etc/ppp/options.pptp)
    refuse-chap # (from /etc/ppp/options.pptp)
    refuse-mschap # (from /etc/ppp/options.pptp)
    refuse-eap # (from /etc/ppp/options.pptp)
    name f1sxo-router # (from /etc/ppp/peers/hamnet)
    remotename pptp # (from /etc/ppp/peers/hamnet)
    # (from /etc/ppp/options.pptp)
    pty pptp hamnet.fr –nolaunchpppd –nobuffer –timeout 10 # (from /etc/ppp/peers/hamnet)
    crtscts # (from /etc/ppp/options)
    # (from /etc/ppp/options)
    asyncmap 0 # (from /etc/ppp/options)
    mtu 1400 # (from /etc/ppp/peers/hamnet)
    lcp-echo-failure 4 # (from /etc/ppp/options)
    lcp-echo-interval 30 # (from /etc/ppp/options)
    hide-password # (from /etc/ppp/options)
    ipparam hamnet # (from /etc/ppp/peers/hamnet)
    nobsdcomp # (from /etc/ppp/options.pptp)
    nodeflate # (from /etc/ppp/options.pptp)
    require-mppe-128 # (from /etc/ppp/peers/hamnet)
    noipx # (from /etc/ppp/options)
    using channel 81
    Using interface ppp0
    Connect: ppp0 /dev/pts/1
    sent [LCP ConfReq id=0x1 ]
    rcvd [LCP ConfReq id=0x1 ]
    No auth is possible
    sent [LCP ConfRej id=0x1 ]
    rcvd [LCP ConfRej id=0x1 ]
    sent [LCP ConfReq id=0x2 ]
    rcvd [LCP ConfReq id=0x2 ]
    sent [LCP ConfAck id=0x2 ]
    rcvd [LCP ConfAck id=0x2 ]
    sent [LCP EchoReq id=0x0 magic=0xe8076378]
    MPPE required, but MS-CHAP[v2] nor EAP-TLS auth are performed.
    sent [LCP TermReq id=0x3 « MPPE required but not available »]
    rcvd [LCP TermReq id=0x3 « peer refused to authenticate »]
    sent [LCP TermAck id=0x3]
    rcvd [LCP TermAck id=0x3]
    Connection terminated.
    Script pptp hamnet.fr –nolaunchpppd –nobuffer –timeout 10 finished (pid 32389), status = 0x0

    Une idée ?

    J’aime

    Répondre
    1. jppiers Auteur de l’article

      Bonjour , la solution est dans le log … « No auth is possible » il doit manquer un mot de passe quelque part ou un mauvais paramètre , mon tuto fonctionne à condition d’avoir les bonnes infos et de le respecter a la lettre , pour le routage ca fonctionne aussi je surf sur hamnet depuis mon pc , la route pour le réseau 44 est inscrite dans ma box .
      73″ F5NLG

      J’aime

      Répondre
      1. FREDERIC ZULIAN

        Ok, le script fonctionne l’interface est montée.
        J’ai ajouté une route :
        ip route add 44.0.0.0 via 192.168.1.254

        Je ne peux toujours pas sortir ….
        Et la je me rends compte que la Freebox en mode routeur n’accepte pas l’ajout de route.
        il faudrait, je pense, que je mette ma Freebox en mode bridge mais cela m’obligerait à configurer un PC en routeur….
        C’est pas le top !

        J’aime

Répondre à FREDERIC ZULIAN Annuler la réponse.