AtelierNuitDebout¶
Mise en place OpenWRT+OpenVPN pour partage de connection a travers un tunnel pour Nuit Debout place du capitole
Technique¶
Prendre deux routeurs supportés par Linux ou OpenWRT, ici on a pris 2 TP-Link 740N v4Flasher OpenWRT sur les deux routeurs, ici on a pris Chaos Chalmer 15.05.1
Ensuite sur les deux routeur
- mettre un mot de passe a root
- desactiver le firewall
- changer la plage d'ip sur le LAN pour eviter 192.168.1.* et les conflits d'IP LAN/WAN, ici on a pris 192.168.111.0/24
- connecter le port WAN a internet, puis ssh dessus et faire :
# opkg update # opkg install ip openvpn-nossl # ip link show dev eth1 # noter l'adresse MAC
Serveur OpenVPN¶
Un des deux routeurs, le "serveur" va faire serveur OpenVPN, il va etre branché en filaire via son port WAN (bleu) sur la box de la personne qui va preter son addresse IP fixe (identité), ici la box tetaneutral.net de Mix'Art Myrys le PC "chaussette" avec comme IP publique IP_PUBLIQUE_BOX_PRETEUSE
Sur cette box il faut donner une IP fixe dans le LAN pour le routeur serveur (via MAC <=> IP dans DHCP), et rediriger sur cette IP LAN fixe un port UDP PORT.
Dans notre cas sur chaussette qui est un PC Linux :
# IFACE_WAN est l'interface wan de chaussette : iptables -t nat -A PREROUTING -p udp -i IFACE_WAN -d IP_PUBLIQUE_BOX_PRETEUSE --dport PORT -j DNAT --to-destination IP_LAN:PORT # Dans /etc/dnsmasq.d/my.conf ajouter : dhcp-host=00:11:22:33:44:55,nuitdebout,IP_LAN # remplace 00:11 par la MAC de eth1 du routeur. # Puis : /etc/init.d/dnsmasq restart
Sur le routeur editer /etc/rc.local en remplaçant PORT et IP_LAN par les bonnes valeurs :
sleep 20 openvpn --mktun --dev-type tun --dev tunndb ip link set tunndb up openvpn --dev tunndb --dev-type tun --port PORT --verb 3 --proto udp --local IP_LAN --daemon --keepalive 10 60 ip addr add 10.0.111.1/24 dev tunndb iptables -t nat -A POSTROUTING -s 192.168.111.0/24 -o eth1 -j MASQUERADE ip route add 192.168.111.0/24 dev tunndb
Puis redemarrer le routeur
Client OpenVPN¶
L'autre routeur, le "client" va etre client OpenVPN, il va etre branché en filaire via son port WAN (bleu) sur la box d'un sympathisant pas loin du capitole.
Editer /etc/rc.local en remplacant IP_PUBLIQUE_BOX_PRETEUSE et PORT par les bonnes valeurs.
sleep 10 openvpn --mktun --dev-type tun --dev tunndb ip link set tunndb up openvpn --dev tunndb --dev-type tun --lport 0 --proto udp --daemon --remote IP_PUBLIQUE_BOX_PRETEUSE PORT --keepalive 10 60 ip addr add 10.0.111.2/24 dev tunndb ip route add default dev tunndb table 31 ip route add 192.168.111.0/24 dev br-lan table 31 ip rule add iif br-lan table 31 prio 1000
Mettre sur le LAN du routeur 192.168.111.1/24 et comme serveur DNS 10.0.111.1
Activer et configurer le wifi si besoin.
TODO: IPv6 si disponible, sinon supprimer par sécurité l'interface WAN6 du routeur.