web-dev-qa-db-fra.com

Transférer le port vers l'invité LXC à l'aide de UFW

J'essaie de transférer le port 2222 de mon hôte 192.168.2.252 vers un invité LXC le 10.0.3.11. Comment puis-je le faire en utilisant le framework UFW?

En d'autres termes, je veux le faire, mais avec le framework ufw.

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2222 -j DNAT --to 10.0.3.11:2222

Cordialement, MB

4
mb21

Ajoutez en haut du /etc/ufw/before.rules avant le *filter (haut du fichier):

*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -i eth0 -p tcp --dport 2222 -j DNAT --to 10.0.3.11:2222
COMMIT

puis redémarrer/recharger le pare-feu

Sudo ufw disable && Sudo ufw enable

Puisque nous utilisons d'autres chaînes d'u uw ufw-before-*, ufw-after-* and ufw-reject-*, nous devons changer MANAGE_BUILTINS=no en MANAGE_BUILTINS=yes dans le fichier `/ etc/default/ufw. Vérifiez ce post pour plus de détails.

4
Steve Zhan

La réponse de Steve Zhan est correcte, une dernière chose à faire si vous êtes sur Vagrant est de changer DEFAULT_FORWARD_POLICY="DROP" en DEFAULT_FORWARD_POLICY="ACCEPT" dans /etc/default/ufw

2
Slava N

Quelques étapes de configuration supplémentaires sont nécessaires pour permettre au trafic général de circuler. ajouter simplement les lignes de pré-routage est insuffisant.

En supposant que vos règles UFW ne soient pas déjà fortement modifiées, les éléments suivants devraient suffire:

Au sommet de /etc/ufw/before.rules, avant la section *filter

*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -i enp0s8 -p tcp --dport 2222 -j DNAT --to 10.0.3.11:2222
COMMIT

Et près du bas, avant la finale COMMIT:

-A FORWARD -o lxcbr0 -j ACCEPT
-A FORWARD -i lxcbr0 -j ACCEPT

-A INPUT -p udp --dport 53 -i enp0s8 -m state --state NEW -j ACCEPT
-A INPUT -p tcp --dport 53 -i enp0s8 -m state --state NEW -j ACCEPT
-A INPUT -p udp --dport 67 -i enp0s8 -m state --state NEW -j ACCEPT
-A INPUT -p tcp --dport 67 -i enp0s8 -m state --state NEW -j ACCEPT

Et aussi, dans le /etc/ufw/after.rules, encore une fois avant la section *filter dont vous avez besoin

*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.0.3.0/24 ! -d 10.0.3.0/24 -j MASQUERADE
COMMIT
1
taifwa