2017-10-06 5 views
0

J'ai un routeur avec le système linux basé. J'ai le SDK associé pour personnaliser le système Linux du routeur.comment arrêter les sessions crontrack

Lorsque je désactive une redirection de port à partir de règles iptables, les sessions crontack en cours ne descendent pas et restent établies.

Je souhaite arrêter toutes les sessions crontack en cours d'exécution lorsque je désactive une redirection de port à partir des règles iptable. Je veux dire, seulement supprimer les sessions crontack liées à la règle supprimée. Donc, arrêtez toutes les sessions crontack avec dest IP (lan IP) = l'adresse IP dest de la règle supprimée.

Comment faire cela dans l'espace noyau? comment développer un module de noyau qui va sur toute la session de crontack et vérifie l'IP de destination et enlève seulement la session avec une adresse IP donnée? Y a-t-il un lien pour cela?

Autrement, un espace utilisateur (fonctions C ou commandes Linux) permet-il d'arrêter des sessions crontack spécifiques?

+0

Stack Overflow est un site pour les questions de programmation et de développement. Cette question semble être hors sujet car il ne s'agit pas de programmation ou de développement. Voir [Quels sujets puis-je poser à ce sujet?] (Http://stackoverflow.com/help/on-topic) dans le centre d'aide. Peut-être [Super User] (http://superuser.com/) ou [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/) serait un meilleur endroit à demander. – jww

Répondre

0

https://www.kernel.org/doc/Documentation/networking/nf_conntrack-sysctl.txt

nf_conntrack_tcp_loose - BOOLEAN
0 - disabled not 0 - enabled (default)
If it is set to zero, we disable picking up already established connections.

Ainsi, la connexion déjà établie est détectée sur la volée (sans SYN/SYN + ACK/ACK impliqués) et ajouté en tant que nouvelle entrée conntrack. Comme il s'agit d'une nouvelle entrée conntrack, la table nat sera à nouveau parcourue et la règle DNAT appliquée à nouveau. Même si une méthode ne fonctionne pas immédiatement (s'il n'y a pas SNAT/MASQUERADE défini en plus de la règle DNAT, les paquets sortants du serveur http peuvent apparaître sur le réseau WAN comme 192.168.3.17 pendant un court moment et être rejetés/ignorés par 192.168.33.13) , dès que l'autre sens essaie à nouveau (ACK réessayer de 192.168.33.13 ...) cela va correspondre.

Type de ceci:

echo 0 > /proc/sys/net/netfilter/nf_conntrack_tcp_loose 

Et essayez de supprimer à nouveau l'entrée conntrack avec conntrack -D ...

Cela devrait être d'éviter une nouvelle entrée conntrack à créer et couper le téléchargement.

Cette réponse est copiée à partir de:https://superuser.com/questions/1258689/conntrack-delete-does-not-stop-runnig-copy-of-big-file