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?
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.
Le protocole (-p) est requis si vous utilisez --dport. Exemple:
-p tcp
@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 -P
niquement 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 :)