11.3. Filtrage

Le filtrage pour OpenVPN est très simple : il suffit de laisser entrer les paquets à destination du port qui lui est dédié (1194/udp, éventuellement tcp selon configuration).

Exemple 11.1. OpenVPN : configuration du filtrage UDP en entrée

#
# ######################################
# UDP entrant
# L'appel à STATEFUL suffit pour accepter les réponses DNS
# Il faudra cependant ouvrir des ports au fil de l'eau lors de la mise en place
# de services UDP (DNS, NTP par exemple).
# ######################################
#
-A UDP_IN -j STATEFUL
# Ajouter les rêgles ici lors de l'installation de services UDP si ces services
# doivent être ouverts
-A UDP_IN -s adresse_ip_autorisée -p udp --dport 1194 -j ACCEPT ❶
# on peut aussi débloquer le port 1194 pour tout le monde
-A UDP_IN -p udp --dport 1194 -j ACCEPT ❷
#

Régle autorisant l'accès au port 1194/udp (openvpn) pour l'adresse adresse_ip_autorisée (qui peut aussi être un subnet). Cette règle peut être répétée autant de fois que nécessaire.

Régle autorisant l'accès au port 1194/udp (openvpn) pour tout le monde.


Le serveur OpenVPN sera probablement aussi routeur : il fera transiter les paquets reçus depuis les clients VPN vers le réseau local et vice-versa. On devra donc utiliser la chaîne FORWARD de manière intensive afin d'appliquer les règles de filtrage qui s'imposent. On notera que les interfaces créées par OpenVPN en mode tunnel sont appellées tun, et que l'on peut utiliser le wildcard tun+ avec IPtables pour désigner « toutes les interfaces tunnel ».