GNU/Linux >> Tutoriels Linux >  >> Linux

Iptables :-p udp --state ÉTABLI

Solution 1 :

Ainsi, iptables se souvient essentiellement du numéro de port qui a été utilisé pour le paquet sortant (de quoi d'autre pourrait-il se souvenir pour un paquet UDP ?),

Je suis à peu près sûr que pour UDP, les ports et adresses source et de destination sont stockés.

Si vous souhaitez inspecter les tables d'état, installez conntrack et/ou netstat-nat.

(Que se passerait-il si j'essayais accidentellement de démarrer un service sur ce port dans le délai imparti - cette tentative serait-elle refusée/bloquée ?)

Puisque vous utilisez OUTPUT et INPUT, vous parlez de services locaux. Le port est déjà utilisé Je ne pense pas que votre système vous permettra de démarrer un autre service puisque quelque chose écoute déjà sur ce port. Je suppose que vous pourriez arrêter le premier service et en démarrer un autre si vous le vouliez vraiment, dans ce cas, la réponse arriverait probablement à votre service. Ce que le service fait avec le paquet dépend de son contenu et de quel service il s'agit.

Solution 2 :

NB :Cette réponse a été modifiée.

Malgré ce que disent les pages de manuel, ESTABLISHED semble signifier "avec état". Pour UDP, cela signifie simplement (comme vous le suggérez) se souvenir de chaque paquet UDP sortant (le tuple "src ip, src port dst ip, dst port") pendant un certain temps et reconnaître ses réponses.

FWIW, mes règles normales pour le trafic DNS ressembleraient à ceci :

# permit any outbound DNS request (NB: TCP required too)
iptables -A OUTPUT -p udp --sport 1024:65535 --dport 53  -j ACCEPT
iptables -A OUTPUT -p tcp --sport 1024:65535 --dport 53  -j ACCEPT

# accept any packet that's a response to anything we sent
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

c'est-à-dire contrôler le trafic sur le OUTPUT chaîne, puis laissez le iptables les modules d'état gèrent tout le reste sur le INPUT chaîne.

Voir aussi cette question connexe.


Linux
  1. Comment ouvrir le port Http (80) dans Iptables sur CentOS

  2. Comment ouvrir un port sous Linux

  3. scp ssh :connexion à l'hôte 10.0.0.109 port 22 :aucune route vers l'hôte n'a perdu la connexion

  4. AWS VPC + IPtables + NAT :le transfert de port ne fonctionne pas

  5. Comment configurer iptables pour qu'un port indésirable ne soit pas signalé comme filtré

Comment ouvrir le port 2195 dans iptables CentOS 6 pour activer l'APNS

Pourquoi NTP nécessite-t-il un accès bidirectionnel du pare-feu au port UDP 123 ?

iptables redirige les connexions locales vers le système/port distant

Autoriser FTP avec IPTables

REJECT vs DROP lors de l'utilisation d'iptables

iptables supprime les réponses DNS négatives