web-dev-qa-db-fra.com

"Sudo iptables -L" prend beaucoup de temps à charger

Pour une raison quelconque, lorsque j'essaie d'exécuter Sudo iptables -L le chargement est très long. Je charge les règles à partir d'un script et c'est sur une machine virtuelle de serveur Ubuntu via VMWare Fusion avec 2 Mo de RAM dédiée. J'ai également eu occasionnellement d'autres erreurs telles que "Une autre application détient actuellement le verrou xtables. Peut-être voulez-vous utiliser l'option -w?" lorsque j'essaie d'exécuter le script de Sudo iptables -L. Cette erreur a tendance à disparaître au redémarrage du serveur mais parfois quand je reviens mon script est corrompu. Je n'ai pas encore reçu cette erreur après avoir apporté certaines modifications au code.

Je ne peux publier que du code partiel de mon script car il s'agit d'un devoir, mais la résolution de ce problème NE fait PAS partie du devoir.

#flushing all the rules
iptables --flush
iptables -X

iptables --policy INPUT DROP
iptables --policy OUTPUT ACCEPT
iptables --policy FORWARD DROP

iptables -A INPUT -i lo -j LOG --log-prefix "LOOPBACK IN : "
iptables -A OUTPUT -o lo -j LOG --log-prefix "LOOPBACK OUT: "
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j LOG --log-prefix "Established-IN"
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j LOG --log-prefix "Established-OUT"

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT


...specific port acceptance per IP address, no NEW states (not sure if relevant)...

iptables -A INPUT -s $LOCAL_NETWORK -d $SERVER_IP -j LOG --log-prefix "Unauthorized local    connection: "

iptables -A INPUT -s $LOCAL_NETWORK -d $SERVER_IP -j REJECT
1
RandomPleb

iptables -L par défaut essaiera de résoudre les adresses IP en noms d'hôtes.

J'ai un petit ensemble de règles iptables sur ce seul système ici, mais cela prend un certain temps pour parcourir même cette petite liste à cause des règles.

En utilisant iptables -L -n, il affiche tout numériquement et ignore la résolution IP et l'affichage du nom commun du service de port. Il devrait également s'afficher plus rapidement. (Le -n option lui indique d'afficher les entrées numériques pour tout et n'essaiera PAS de résoudre les adresses IP. L'inconvénient est que les ports seront également affichés numériquement, plutôt que http pour le port 80 par exemple.)

3
Thomas Ward