On regroupe ici les travaux fédérées sur le VPN. Il y a une [[https://lists.ffdn.org/wws/info/vpn|liste de diffusion]] Il y a aussi la page [[transmission:vpn|transmission VPN]] ===== OpenVPN ===== Plusieurs patches openvpn: ==== Variables d'environnement IPv6 ==== Pour avoir les variables d'environnement contenant les IPv6 * `ifconfig_ipv6_pool_remote_ip` * `ifconfig_ipv6_pool_local_ip` * `ifconfig_ipv6_pool_netbits` * Au moins FDN et Aquilenet l'utilisent * Un équivalent a été commité dans upstream openvpn le 25 novembre 2015: a8f8b9267183c3cfc065f344d61effe6c55c3da6: * `ifconfig_pool_remote_ip6` * `ifconfig_pool_local_ip6` * `ifconfig_pool_ip6_netbits` * backporté dans openvpn 2.3.9 (donc disponible dans Stretch) ==== Proto static ==== Pour ajouter les routes avec "protocol static" pour que bird les attrape pour les pousser en bgp. En cours de soumission: https://sourceforge.net/p/openvpn/mailman/message/35169222/ ===== openvpn-auth-radius ===== ==== Support IPv6 ==== De nouveau, pour le support IPv6, utilisé par FDN * http://bugs.debian.org/745446 * framed-ipv6-address.patch , pour supporter l'attribut radius Framed-IPv6-Address qui permet de pousser l'adresse IPv6 configurée côté client du tunnel. * framed-ipv6-route.patch , pour supporter l'attribut radius Framed-IPv6-Route qui permet de configurer le routage de préfixes. ==== Correction blocage ==== Lorsqu'on utilise radius, par défaut openvpn se bloque complètement pendant l'interrogation radius, utiliser ''useauthcontrolfile=true'' permet d'éviter en partie le souci * http://bugs.debian.org/794593 * Il faut également désactiver l'accounting: {{:travaux:disable-acct.txt}} ===== VPN-rw (range wide) ===== Pour permettre aux abonnés de se connecter au VPN même en environnement hostile avec que quelques ports ouverts, on peut ouvrir une IP sur tous les ports d'un coup avec un NAT (à partir de Linux 3.7 pour IPv6): iptables -t nat -A PREROUTING -p tcp -d $CATCHALL4 -j DNAT --to-destination $VPN4:1194 iptables -t nat -A PREROUTING -p udp -d $CATCHALL4 -j DNAT --to-destination $VPN4:1194 ip6tables -t nat -A PREROUTING -p tcp -d $CATCHALL6 -j DNAT --to-destination $VPN6:1194 ip6tables -t nat -A PREROUTING -p udp -d $CATCHALL6 -j DNAT --to-destination $VPN6:1194 ===== VPN everywhere ===== Pour se connecter facilement depuis n'importe où sans connaître les histoires de ports TCP/UDP, juste en cliquant sur un bouton. * ''git clone https://code.ffdn.org/vpn-everywhere/vpn-everywhere.git' ===== Configuration du serveur VPN FDN ===== https://www.ffdn.org/wiki/doku.php?id=documentation:openvpn:fdn