Réduire les règles du pare-feu par une demi-une règle iptables pour tcp et udp

J'ai un certain nombre de règles iptables sur mon pare-feu qui ressemble à ceci:

iptables -A zone_lan_forward -p tcp -d 1.2.3.0/24 -j ACCEPT iptables -A zone_lan_forward -p udp -d 1.2.3.0/24 -j ACCEPT 

Existe-t-il un raccourci pour avoir deux règles – une pour tcp et une pour udp – pour chaque adresse? Je veux dire que je peux faire quelque chose comme ça:

 iptables -A zone_lan_forward -p tcp,udp -d 1.2.3.0/24 -j ACCEPT 

Créez une nouvelle string qui acceptera tous les packages TCP et UDP et sautez à cette string à partir des règles permissives IP / port individuelles:

 iptables -N ACCEPT_TCP_UDP iptables -A ACCEPT_TCP_UDP -p tcp -j ACCEPT iptables -A ACCEPT_TCP_UDP -p udp -j ACCEPT iptables -A zone_lan_forward -d 1.2.3.0/24 -j ACCEPT_TCP_UDP 

Cela ajoute les frais généraux de quelques lignes supplémentaires, mais réduit de moitié le nombre de règles TCP / UDP.

Je n'arrêterais pas l'argument -p , car vous n'ouvrez pas seulement le pare-feu pour ICMP, mais aussi tout autre protocole. À partir de la page de manuel iptables sur -p :

Le protocole spécifié peut être l'un de tcp, udp, icmp ou tout, ou il peut s'agir d'une valeur numérique, représentant l'un de ces protocoles ou un autre. Un nom de protocole de / etc / protocoles est également autorisé.

Vous ne pouvez peut-être pas écouter les protocoles à l'exception de TCP, UDP et ICMP, mais qui sait ce que l'avenir peut contenir. Il serait mal pratique de laisser le pare-feu ouvert inutilement.

Avertissement: les commands iptables sont hors de la tête; Je n'ai pas access à une boîte pour tester ATM.

Si vous ne vous souciez pas vraiment du trafic ICMP (que vous pouvez bloquer globalement avec une règle de toute façon), vous pouvez simplement omettre l'indicateur -p et cela couvrira tous les protocoles.