web-dev-qa-db-fra.com

erreur iptables: option inconnue --dport

La commande iptables ne reconnaît plus l'une des options les plus couramment utilisées lors de la définition des règles: --dport.

Je reçois cette erreur:

[root@dragonweyr /home/calyodelphi]# iptables -A INPUT --dport 7777 -j ACCEPT_TCP_UDP
iptables v1.4.7: unknown option `--dport'
Try `iptables -h' or 'iptables --help' for more information.

La commande add rule ci-dessus n'est qu'un exemple d'activation des connexions Terraria.

Voici ce que j'ai actuellement en tant que configuration iptables barebones (listiptables est un alias de iptables -L -v --line-numbers), et il est évident que --dport a travaillé dans le passé:

root@dragonweyr /home/calyodelphi]# listiptables 
Chain INPUT (policy DROP 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1       39  4368 ACCEPT     all  --  lo     any     anywhere             anywhere            
2      114 10257 ACCEPT     all  --  any    any     anywhere             anywhere            state RELATED,ESTABLISHED 
3        1    64 ACCEPT     tcp  --  eth1   any     anywhere             anywhere            tcp dpt:EtherNet/IP-1 
4       72 11610 ACCEPT     all  --  eth1   any     anywhere             anywhere            

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 91 packets, 10045 bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain ACCEPT_TCP_UDP (0 references)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere            

J'essaie également de définir une chaîne personnalisée (inspirée de cette question ) pour accepter les connexions tcp et udp afin de ne pas avoir à définir deux règles pour tout ce que je veux activer tcp et udp pour (comme un serveur Minecraft ou Terraria, ou un autre service entièrement). Mais même cela ne fonctionne pas:

[root@dragonweyr /home/calyodelphi]# iptables -P ACCEPT_TCP_UDP DROP
iptables: Bad built-in chain name.

Cela devient très frustrant, en termes polis (la quantité de bavardages impliqués avec cela ferait qu'un marin me dise de surveiller ma bouche). Mon Google-fu est terrible, donc je n'ai pas encore trouvé de solution de travail pour tout cela. J'exécute CentOS 6.5 sur le routeur. Toute aide et pointeurs que vous pourriez offrir serait génial.

ÉDITER:

Question bonus: je prévois également de configurer la redirection de port. Est-il encore nécessaire de définir des règles pour accepter les connexions entrantes sur des ports spécifiques?

19
Calyo Delphi

Donnez d'abord un -p option comme -p tcp ou -p udp.

Exemples:

iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j DROP

iptables -A INPUT -p udp --dport 53 --sport 1024: 65535 -j ACCEPT

Vous pouvez également essayer -p all mais je ne l'ai jamais fait et je ne trouve pas trop de support dans les exemples.

32
dmourati

Le protocole (-p) est requis si vous utilisez --dport. Exemple:

-p tcp
9
Diego Woitasen

@dmourati et @diegows ont déjà répondu à votre première question, je vais donc aborder votre deuxième question. Et question bonus. Et je vais aussi ajouter un pourboire bonus;)

iptables -Pniquement accepte les chaînes BUILT-IN. Dans la table filter, il s'agirait des chaînes INPUT, OUTPUT et FORWARD.

La redirection de port n'est pas gérée par la chaîne INPUT, vous n'avez donc pas à ouvrir le port dans la chaîne INPUT. Il ne est cependant géré par la chaîne FORWARD. Soyez prudent là-dessus.

Astuce bonus: Lors de l'apprentissage et/ou du dépannage de iptables, la sortie de iptables-save est meilleur de la tête et des épaules que la sortie de iptables -L -v --line-numbers. Essayez-le, vous serez agréablement surpris :)

3
pepoluan