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 –