AtelierNuitDebout » Historique » Version 7
Version 6 (Laurent GUERBY, 13/04/2016 18:57) → Version 7/8 (Laurent GUERBY, 13/04/2016 18:57)
{{>toc}}
h1. AtelierNuitDebout
Mise en place OpenWRT+OpenVPN pour partage de connection a travers un tunnel pour Nuit Debout place du capitole
h2. Technique
Prendre deux routeurs supportés par Linux ou OpenWRT, ici on a pris 2 TP-Link 740N v4
Flasher 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 :
<pre>
# opkg update
# opkg install ip openvpn-nossl
# ip link show dev eth1 # noter l'adresse MAC
</pre>
h3. 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 :
<pre>
# IFACE_WAN est l'interface wan de chaussette :
iptables -t nat -A PREROUTING -p udp -i IFACE_WAN br3131 -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
</pre>
Sur le routeur editer /etc/rc.local en remplaçant PORT et IP_LAN par les bonnes valeurs :
<pre>
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
</pre>
Puis redemarrer le routeur
h3. 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.
<pre>
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
</pre>
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.
h1. AtelierNuitDebout
Mise en place OpenWRT+OpenVPN pour partage de connection a travers un tunnel pour Nuit Debout place du capitole
h2. Technique
Prendre deux routeurs supportés par Linux ou OpenWRT, ici on a pris 2 TP-Link 740N v4
Flasher 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 :
<pre>
# opkg update
# opkg install ip openvpn-nossl
# ip link show dev eth1 # noter l'adresse MAC
</pre>
h3. 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 :
<pre>
# IFACE_WAN est l'interface wan de chaussette :
iptables -t nat -A PREROUTING -p udp -i IFACE_WAN br3131 -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
</pre>
Sur le routeur editer /etc/rc.local en remplaçant PORT et IP_LAN par les bonnes valeurs :
<pre>
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
</pre>
Puis redemarrer le routeur
h3. 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.
<pre>
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
</pre>
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.