Routeur Hamnet sur OrangePi 0 / Linux

Routeur Hamnet sur OrangePi 0 / Linux
Source : Routeur Hamnet sur OrangePi 0 / Linux | F5NLG – SvxLink –     La configuration choisie est internet via le wifi , accès au réseau Hamnet sur le Xspotnik ou spotnik , Internet (et VPN) via le Wifi , sortie routeur sur la RJ45 ! d’autres solutions existen…

1er Partie le VPN et la route pour le réseau 44 :

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

  • 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

1/ étape ajouter le vpn pptp

apt-get install pptp-linux 

2/ le fichier VPN HAMNET à créer

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 HAMNE

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

mcedit /etc/ppp/chap-secret # 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 a l’écran. tapez ifconfig : vous devez avoir une interface ppp0 monté avec les adresses 44.168.X.Y et 44.168.X.Z

5/ on arrête le vpn :

poff HAMNET 

6/ rajouter une route dans /etc/ppp/ip-up

mcedit /etc/ppp/ip-up #!/bin/sh # # This script is run by the pppd after the link is established. # It uses run-parts to run scripts in /etc/ppp/ip-up.d, so to add routes, # set IP address, run the mailq etc. you should create script(s) there. # # Be aware that other packages may include /etc/ppp/ip-up.d scripts (named # after that package), so choose local script names with that in mind. # # 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 12.34.56.78 # $5 Peer IP number 12.34.56.99 # $6 Optional « ipparam » value foo # The environment is cleared before executing this script # so the path must be reset PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin export PATH # These variables are for the use of the scripts run by run-parts PPP_IFACE= »$1″ PPP_TTY= »$2″ PPP_SPEED= »$3″ PPP_LOCAL= »$4″ PPP_REMOTE= »$5″ PPP_IPPARAM= »$6″ export PPP_IFACE PPP_TTY PPP_SPEED PPP_LOCAL PPP_REMOTE PPP_IPPARAM route add -net 44.0.0.0 netmask 255.0.0.0 dev ppp0 # as an additional convenience, $PPP_TTYNAME is set to the tty name, # stripped of /dev/ (if present) for easier matching. PPP_TTYNAME=`/usr/bin/basename « $2″` export PPP_TTYNAME # If /var/log/ppp-ipupdown.log exists use it for logging. if [ -e /var/log/ppp-ipupdown.log ]; then exec > /var/log/ppp-ipupdown.log 2>&1 echo $0 $@ echo fi # This script can be used to override the .d files supplied by other packages. if [ -x /etc/ppp/ip-up.local ]; then exec /etc/ppp/ip-up.local « $@ » fi run-parts /etc/ppp/ip-up.d \ –arg= »$1″ –arg= »$2″ –arg= »$3″ –arg= »$4″ –arg= »$5″ –arg= »$6″ # if pon was called with the « quick » argument, stop pppd if [ -e /var/run/ppp-quick ]; then rm /var/run/ppp-quick wait kill $PPPD_PID fi

7/ et enfin supprimer la route dans /etc/ppp/ip-down

mcedit /etc/ppp/ip-down #!/bin/sh # # This script is run by the pppd _after_ the link is brought down. # It uses run-parts to run scripts in /etc/ppp/ip-down.d, so to delete # routes, unset IP addresses etc. you should create script(s) there. # # Be aware that other packages may include /etc/ppp/ip-down.d scripts (named # after that package), so choose local script names with that in mind. # # 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 12.34.56.78 # $5 Peer IP number 12.34.56.99 # $6 Optional « ipparam » value foo # The environment is cleared before executing this script # so the path must be reset PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin export PATH # These variables are for the use of the scripts run by run-parts PPP_IFACE= »$1″ PPP_TTY= »$2″ PPP_SPEED= »$3″ PPP_LOCAL= »$4″ PPP_REMOTE= »$5″ PPP_IPPARAM= »$6″ export PPP_IFACE PPP_TTY PPP_SPEED PPP_LOCAL PPP_REMOTE PPP_IPPARAM route del -net 44.0.0.0 netmask 255.0.0.0 dev ppp0 # as an additional convenience, $PPP_TTYNAME is set to the tty name, # stripped of /dev/ (if present) for easier matching. PPP_TTYNAME=`/usr/bin/basename « $2″` export PPP_TTYNAME # If /var/log/ppp-ipupdown.log exists use it for logging. if [ -e /var/log/ppp-ipupdown.log ]; then exec >> /var/log/ppp-ipupdown.log 2>&1 echo $0 $@ echo fi # This script can be used to override the .d files supplied by other packages. if [ -x /etc/ppp/ip-down.local ]; then exec /etc/ppp/ip-down.local « $@ » fi run-parts /etc/ppp/ip-down.d \ –arg= »$1″ –arg= »$2″ –arg= »$3″ –arg= »$4″ –arg= »$5″ –arg= »$6″

Le VPN est fonctionnel a ce stade , si vous ne souhaiter pas utiliser le réseau Hamnet sur une autre machine la configuration s’arrête la .

pon HAMNET lance le VPN sur Hamnet poff HAMNET arrete le VPN sur Hamnet.

2eme Partie le DHCP , le NAT , le firewall , et la configuration de l’interface RJ45 eth0

apt-get install isc-dhcp-server on configure le DHCP sur l’interface eth0 mcedit  /etc/dhcp/dhcpd.conf
authoritative;
option domain-name "Hamnet";
subnet 192.168.44.0 netmask 255.255.255.0 {
range 192.168.44.2 192.168.44.254;
option routers 192.168.44.1;
option domain-name-servers 8.8.8.8, 8.8.4.4; }
on va configurer 2 scripts dans /root pour le démarrage , le firewall , et l’arrêt . mcedit /root/hamnet_on
#!/bin/bash
  #
  pon HAMNET
  # on active le routage 
  sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'

# on configure l'interface RJ45 en 192.168.44.1
  ifconfig eth0 192.168.44.1 netmask 255.255.255.0

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

# on applique les règles de Firewall et masqueradd
  iptables --insert OUTPUT 1 --source 0.0.0.0/0.0.0.0 --destination 44.0.0.0/8 --jump ACCEPT --out-interface ppp0
  iptables --insert INPUT 1 --source 44.0.0.0/8 --destination 0.0.0.0/0.0.0.0 --jump ACCEPT --in-interface ppp0
  iptables --insert FORWARD 1 --source 0.0.0.0/0.0.0.0 --destination 44.0.0.0/8 --jump ACCEPT --out-interface ppp0
  iptables --insert FORWARD 1 --source 44.0.0.0/8 --destination 0.0.0.0/0.0.0.0 --jump ACCEPT

  iptables --table nat --append POSTROUTING --out-interface ppp0 --jump MASQUERADE
  iptables --append FORWARD --protocol tcp --tcp-flags SYN,RST SYN --jump TCPMSS --clamp-mss-to-pmtu
on rends le fichier  exécutable : chmod +x hamnet_on on édite le fichier hamnet_off
mcedit /root/hamnet_off

  #!/bin/bash
  #
  # on arrête le Firewall
  iptables -F
  # on arrête le DHCP
  service isc-dhcp-server stop
  # on arrête le VPN
  poff HAMNET
on rends le fichier exécutable : chmod +x hamnet_off on lance le vpn ./hamnet_on et on test dans midori par exemple sur le xspotnik ici le site hamnet de f5ktr. Source : Routeur Hamnet sur OrangePi 0 / Linux | F5NLG – SvxLink –