UFW, OpenVPN et Virtualbox sont installés sur mon serveur domestique. J'ai un réseau d'hôte uniquement pour mes invités de machine virtuelle (vboxnet0) configuré avec la plage d'adresses IP 10.0.1.0 et une autre plage d'adresses IP de 10.0.0.0 configurée à l'autre extrémité de la connexion OpenVPN.
Le transfert IP est configuré sur l'hôte. Ainsi, lorsque UFW est désactivé, ils peuvent se parler sans aucun problème. Cependant, j'aimerais utiliser UFW car cet hôte sera accessible sur le Web et j'aimerais un contrôle d'accès.
Comment configurer UFW pour autoriser ce type de trafic?
J'ai essayé diverses combinaisons de: ufw allow allow in|out on vboxnet0|tun0
sans succès.
Mes règles UFW sont:
root@gimli:~# ufw status
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
Anywhere ALLOW 10.0.0.0/16
Anywhere on vboxnet0 ALLOW Anywhere
Anywhere on tun0 ALLOW Anywhere
Anywhere ALLOW OUT Anywhere on vboxnet0
Anywhere ALLOW OUT Anywhere on tun0
Toute aide serait grandement appréciée.
Je l'ai compris.
Éditez /etc/default/ufw
et réglez DEFAULT_FORWARD_POLICY
sur ACCEPT:
DEFAULT_FORWARD_POLICY="ACCEPT"
C'est maintenant possible - depuis la page de manuel d'ufw:
Les règles applicables au trafic non destiné à l'hôte, mais au trafic devant être acheminé/acheminé via le pare-feu doivent spécifier le mot clé route avant la règle (les règles d'acheminement diffèrent sensiblement de la syntaxe de PF et tiennent compte des conventions de la chaîne netfilter FORWARD) . Par exemple:
ufw route allow in on eth1 out on eth2
Cela permettra à tout le trafic acheminé vers eth2 et entrant sur eth1 de traverser le pare-feu.
ufw route allow in on eth0 out on eth1 to 12.34.45.67 port 80 proto tcp
Cette règle permet à tout paquet entrant sur eth0 de traverser le pare-feu sur eth1 vers le port TCP 80 sur 12.34.45.67.
Outre les règles et la stratégie de routage, vous devez également configurer le transfert IP. Cela peut être fait en définissant ce qui suit dans /etc/ufw/sysctl.conf:
net/ipv4/ip_forward=1 net/ipv6/conf/default/forwarding=1 net/ipv6/conf/all/forwarding=1
puis en redémarrant le pare-feu:
ufw disable ufw enable
Sachez que la configuration des paramètres du noyau dépend du système d’exploitation et que les paramètres ufw sysctl peuvent être remplacés. Voir la page de manuel sysctl pour plus de détails.
si vous définissez DEFAULT_FORWARD_POLICY sur ACCEPT dans/etc/default/ufw, le pare-feu transmettra tous les paquets, quels que soient les paramètres de l'interface utilisateur.
Je pense que l'interface utilisateur est uniquement destinée à un simple filtrage in/out. Pour le transfert, vous devez ajouter les règles iptables dans /etc/ufw/before.rules comme ici:
-A ufw-before-forward -i eth1 -p tcp -d 192.168.1.11 --dport 22 -j ACCEPT
Vous avez probablement déjà une règle qui permet les connexions de l’intérieur et une autre qui permet aux paquets provenant de sessions TCP liées et établies de revenir.
Je ne suis pas un spécialiste d'iptables, cela m'a pris beaucoup de temps (avec ip6tables, mais ça devrait être pareil). Peut-être que ce n'est pas tout ce qu'il faut dans votre cas.
Salutations
Cette commande ufw a bien fonctionné pour moi: Sudo ufw default allow FORWARD
Pour être sûr que le changement est appliqué: Sudo service ufw restart