web-dev-qa-db-fra.com

Quelles règles iptables sont nécessaires pour autoriser un partage nfs sur 16.04?

Quelqu'un peut-il fournir la formulation/le code exact que je devrais ajouter à mon fichier /etc/iptables/rules.v4? Le serveur sur lequel je travaille a de nombreuses règles de pare-feu compliquées, et j’ai bien déterminé que c’est à coup sûr que iptables empêche le montage nfs comme je peux le faire si les iptables sont hors service. Ma version NFS est 4. Si je comprends bien, les ports 111 et 2049 doivent autoriser le trafic, mais j’ai l’impression que je ne tape pas correctement les règles. Le partage se fait sur un réseau privé. L'adresse IP du partage NFS est 172.16.10.25 et l'adresse IP privée du serveur 16.04 est 172.16.10.20.

REMARQUE: Plusieurs filtres sont en place, donc tout conseil sur l'emplacement des règles est très apprécié.

J'ai essayé ces deux réponses séparées trouvées sur le net ne feront pas plaisir.

# Portmap ports
-A INPUT -m state –state NEW -p tcp –dport 111 -j ACCEPT    
-A INPUT -m state –state NEW -p udp –dport 111 -j ACCEPT    
# NFS daemon ports    
-A INPUT -m state –state NEW -p tcp –dport 2049 -j ACCEPT    
-A INPUT -m state –state NEW -p udp –dport 2049 -j ACCEPT    

L'autre est

 iptables -P INPUT DROP    
   iptables -P OUTPUT DROP    
   iptables -A INPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p udp -m multiport --sports 10053,111,2049,32769,875,892 -m state --state ESTABLISHED -j ACCEPT 
   iptables -A INPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p tcp -m multiport --sports 10053,111,2049,32803,875,892 -m state --state ESTABLISHED -j ACCEPT 
   iptables -A OUTPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p udp -m multiport --dports 10053,111,2049,32769,875,892 -m state --state NEW,ESTABLISHED -j ACCEPT 
   iptables -A OUTPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p tcp -m multiport --dports 10053,111,2049,32803,875,892 -m state --state NEW,ESTABLISHED -j ACCEPT 
   iptables -I INPUT  -i lo -d 127.0.0.1 -j ACCEPT
   iptables -I OUTPUT  -o lo -s 127.0.0.1 -j ACCEPT
   iptables -L -n --line-numbers    

Utiliser ma propre adresse IP au lieu de ce qui est dans l'exemple ci-dessus.

1
gormantg

Voici ce qui a fonctionné pour moi pour les futurs demandeurs.

-A INPUT -s 172.16.10.25/32 -d 172.16.10.40/32 -i eth0 -p tcp --sport 111 -j ACCEPT
-A INPUT -s 172.16.10.25/32 -d 172.16.10.40/32 -i eth0 -p tcp --sport 2049 -j ACCEPT
-A INPUT -s 172.16.10.25/32 -d 172.16.10.40/32 -i eth0 -p udp --sport 111 -j ACCEPT
-A INPUT -s 172.16.10.25/32 -d 172.16.10.40/32 -i eth0 -p udp --sport 2049 -j ACCEPT
-A OUTPUT -s 172.16.10.40/32 -d 172.16.10.25/32 -o eth0 -p tcp --dport 111 -j ACCEPT
-A OUTPUT -s 172.16.10.40/32 -d 172.16.10.25/32 -o eth0 -p tcp --dport 2049 -j ACCEPT
-A OUTPUT -s 172.16.10.40/32 -d 172.16.10.25/32 -o eth0 -p udp --dport 111 -j ACCEPT
-A OUTPUT -s 172.16.10.40/32 -d 172.16.10.25/32 -o eth0 -p udp --dport 2049 -j ACCEPT

IP = .40 étant le client et .25 le serveur. .25 étant monté sur le .40. Si cela peut être fait avec moins de règles, j'espère que quelqu'un trouvera cette réponse à l'avenir.

1
gormantg