AtelierCanal2013 » Historique » Version 36
« Précédent -
Version 36/37
(diff) -
Suivant » -
Version actuelle
Laurent GUERBY, 26/05/2016 18:22
- Contenu
- AtelierCanal2013
AtelierCanal2013¶
Objectif¶
Wifi pour les peniches du parc du canal a Ramonville
Contact ok planet science pour test puis install
Contact TODO capitainerie via planet science
Routage¶
L'idée est d'utiliser la connection internet d'un sympathisant (ici ADSL chez Planet Science) pour en faire un depart reseau 5 GHz avec un routage en IPv4 publique vers l'adherent sans en utiliser sur les intermediaires. Cela peut se faire facilement avec tunnel openwrt sur un PC Linux mais en pratique on peut aussi le faire avec un simple TP-Link 740N sous Openwrt qui a l'avantage d'un faible prix (16 euros) et faible encombrement/consomation, parfaitement silencieux.
Sur le routeur gw a Paris¶
qui a pour ip publique IP_ROUTEUR_PARIS
openvpn --mktun --dev-type tun --dev tunpsp ip link set tunpsp up openvpn --dev tunpsp --dev-type tun --cipher none --auth none --port PORT_NUMBER --verb 3 --proto tcp-server --daemon --log-append SOME_LOG --keepalive 10 60 ip addr add 10.0.28.1/24 dev tunpsp ip route add IP_PUBLIQUE/32 dev tunpsp
Ne pas oublier de mettre la route sur h3 (les dev tun ne se propagent pas par bird 1.2.x visiblement).
Sur le 740N a Planet science¶
- port WAN branché sur le reseau local de planet science (donc la box ADSL)
- port LAN vers l'antenne 5 GHz AP
network / interfaces
Wifi : disable
br-lan : IPv4 statique 192.168.1.1/24 + disable DHCP
wan : DHCP client
system / software
install packages : openvpn-devel-nossl ip
Pour ipv6 : kmod-ipv6 ip6tables kmod-ip6tables radvd luci-app-radvd
adds implicitely: libip6tc libdaemon
system / startup
openvpn disable
firewall disable
system / startup / local startup
# Put your custom commands here that should be executed once # the system init finished. By default this file does nothing. openvpn --mktun --dev-type tun --dev tunpsp ip li set tunpsp up ip a a 10.0.28.2/24 dev tunpsp openvpn --dev tunpsp --dev-type tun --lport 0 --remote IP_ROUTEUR_PARIS PORT_NUMBER --proto tcp-client --daemon --keepalive 10 60 ip route add 10.0.28.0/24 dev tunpsp table 25 ip route add default via 10.0.28.1 dev tunpsp table 25 ip rule add from 10.0.28.2 table 25 ip route add IP_PUBLIQUE/32 dev br-lan ip rule add from IP_PUBLIQUE/32 table 25 exit 0
Antennes AP et STA¶
Les antennes 5 GHz sont en bridge avec des IP admin locales
192.168.1.21/24 AP planet science
192.168.1.22/24 STA adherent 1
...
Sur le 740N adherent¶
sur routeur client
- port WAN sur l'antenne STA 5 GHz client
- port LAN et wifi = br-lan = reseau local
system / software
important installer le paquet : ip
network / interfaces
wan static address IP_PUBLIQUE/32
use DNS IP_DNS
system / startup / local startup
# Put your custom commands here that should be executed once # the system init finished. By default this file does nothing. ip route add 192.168.1.0/24 dev eth1 ip route add default via 192.168.1.1 exit 0
IPv6¶
TODO
Modele financier¶
- 20 (740N sur box) + 60 (LocoM5 AP) = 80 euros de setup (+ cables)
- 20 (740N LAN adherent) + 60 (LocoM5 STA) = 80 euros/adherent (+ cables)
- participation eventuelle a la connection ADSL du local
- total 160 euros + cables + participation
Pour 1 adherent 160 euros, 8 mois d'amortissement avec 20/mois
Pour 2 adherents 240 euros, 6 mois d'amortissement avec 20+20/mois
Liens¶
http://wiki.freifunk.net/images/7/73/Vortrag.pdf
echo 50 XY »/etc/iproute2/rt tables ip rule add from $HNA/$MSK prio 30002 table XY ip rule add to $HNA/$MSK prio 30001 lookup main ip route add default \ via $TUNNEL NEIGH IP \ dev $TUNNEL DEV \ table XY ip route flush cache ip tunnel \ add tunnel0 \ mode ipip \ remote 10.10.1.1 \ local 10.10.99.1 \ compress lzo ip link set dev ipip0 up ip address add 172.16.1.2/24 dev tunnel0
Version 2014¶
Rue de l'ukraine
Sur h7 :
openvpn --mktun --dev-type tun --dev tunukr ip link set tunukr up openvpn --dev tunukr --dev-type tun --cipher none --auth none --port 65114 --verb 3 --proto udp --local 91.224.148.1 --daemon --log-append /root/vpn/65114.log --keepalive 10 60 ip addr add 10.0.129.1/24 dev tunukr ip route add 172.31.129.0/24 dev tunukr
Sur 740N rc.local :
openvpn --mktun --dev-type tun --dev tunukr ip link set tunukr up ip addr add 10.0.129.2/24 dev tunukr openvpn --dev tunukr --dev-type tun --lport 0 --remote 91.224.148.1 65114 --proto udp --daemon --keepalive 10 60 ip route add default dev tunukr table 25 ip -6 route add default dev tunukr table 25 ip route add 172.31.129.0/24 dev br-lan table 25 ip rule add from 10.0.129.2 table 25 ip rule add from 172.31.129.0/24 lookup 25 ip addr add 89.234.156.0/32 dev br-lan ip -6 addr add fe80::31/64 dev br-lan
WAN: DHCP
LAN: 172.31.129.1/24
Version 2015¶
Sur le 740N de routage ADSL Montescot
packages a installer sur attitude adjustment : openvpn-devel-nossl ip kmod-ipv6
opkg update opkg install openvpn-devel-nossl ip kmod-ipv6 # or openvpn-nossl
Ne pas oublier de desactiver le firewall.
Attention : j'utilise OpenWRT attitude adjustment 12.09 pour les 740N de tunnel car avec barrier breaker /etc/rc.local s'execute avant le up des interfaces reseau. J'ai pas cherché a creuser, il doit y avoir une solution en y passant un peu de temps (d'un autre coté la 12.09 est extraordinairement stable avec le setup tunnel, on n'a jamais eu le moindre soucis et des uptime > 6 mois).
A tester avec Chaos Calmer aussi.
Pour résoudre le problème d'initialisation sur Barrier Breaker, une solution est d'utiliser l'intégration d'openvpn dans le système fournie par openwrt :- on ne met rien dans /etc/rc.local
- /etc/init.d/openvpn enable
- dans /etc/config/openvpn configurer un tunnel avec une "custom_config" :
openvpn.custom_config=openvpn openvpn.custom_config.enabled=1 openvpn.custom_config.config=/etc/openvpn/client.conf
- dans /etc/openvpn créer un fichier de configuration openvpn "classique" client.conf
- créer deux scripts vpn.up et vpn.down, leur donner les droits d'exécution (chmod +x)
- dans client.conf ajouter les directives permettant de lancer des scripts après l'établissement du tunnel et avant son extinction
script-security 2 up /etc/openvpn/vpn.up down /etc/openvpn/vpn.down
- dans /etc/openvpn/vpn.up
#!/bin/sh ip route add default dev tunmts table 25 # etc.. (cf la suite)
- dans /etc/openvpn/vpn.down on met l'inverse
#!/bin/sh ip route del default dev tunmts table 25 # etc.. (cf plus bas)
Ainsi, le tunnel est créé après que le network et le firewall soient configurés, et les routes sont bien enregistrées - /etc/init.d/openvpn restart
Reseau 2015¶
Normalement deux plages sont assignés : 10.0.XXX.0/24 pour l'interco tunnel et 172.31.XXX.0/24 pour le LAN antenne, IP et PORT pour le VPN sont aussi assignés.
Mettre 172.31.XXX.0/24 sur le br-lan du routeur 740N et desactiver le serveur DHCP sur br-lan.
Dans /etc/rc.local :
sleep 20 # since barrier breaker interface not up when rc.local called openvpn --mktun --dev-type tun --dev tunmts ip link set tunmts up openvpn --dev tunmts --dev-type tun --lport 0 --proto udp --daemon --remote IP PORT --keepalive 10 60 ip addr add 10.0.XXX.2/24 dev tunmts ip route add default dev tunmts table 25 priority 10000 ip -6 route add default dev tunmts table 25 priority 10001 ip rule add from all iif tunmts table 25 priority 10002 ip -6 rule add from all iif tunmts table 25 priority 10003 ip rule add from all iif br-lan table 25 priority 10004 ip -6 rule add from all iif br-lan table 25 priority 10005 ip rule add from 10.0.XXX.2 table 25 priority 10006 ip rule add from 172.31.XXX.1 table 25 priority 10007 ip route add 172.31.XXX.0/24 dev br-lan table 25 ip -6 addr add fe80::31/64 dev br-lan ip addr add 89.234.156.0/32 dev br-lan # Par adherent ip route add 89.234.156.XX/32 dev br-lan table 25 ip -6 route add 2a01:6600:8083:YY00::/56 via fe80::83:YY dev br-lan table 25
Si le tunnel est fait sur une machine Linux (et pas un 740N) ne pas oublier de rajouter dans /etc/rc.local :
echo 1 > /proc/sys/net/ipv4/ip_forward for i in /proc/sys/net/ipv6/conf/*; do for j in autoconf accept_ra; do echo 0 > $i/$j; done;done echo 1 > /proc/sys/net/ipv6/conf/all/forwarding