nftables status " active (exited) " Le sujet est résolu

Demande d'aide : c'est ici.
Répondre
tony
Membre
Membre
Messages : 402
Inscription : 10 juil. 2023, 00:54
Status : Hors-ligne

hello ,

Je viens de passer de iptables à nftables mais j'ai un doute sur son fonctionnement :

Code : Tout sélectionner

 
 ~# systemctl status nftables.service
● nftables.service - nftables
     Loaded: loaded (/lib/systemd/system/nftables.service; enabled; vendor preset: e>
     Active: active (exited) since Fri 2023-09-01 19:54:05 CEST; 4min 59s ago
       Docs: man:nft(8)
             http://wiki.nftables.org
    Process: 238 ExecStart=/usr/sbin/nft -f /etc/nftables.conf (code=exited, status=>
   Main PID: 238 (code=exited, status=0/SUCCESS)
        CPU: 14ms

Warning: journal has been rotated since unit was started, output may be incomplete.

:~# systemctl status nftables
● nftables.service - nftables
     Loaded: loaded (/lib/systemd/system/nftables.service; enabled; vendor preset: e>
     Active: active (exited) since Fri 2023-09-01 19:54:05 CEST; 8min ago
       Docs: man:nft(8)
             http://wiki.nftables.org
    Process: 238 ExecStart=/usr/sbin/nft -f /etc/nftables.conf (code=exited, status=>
   Main PID: 238 (code=exited, status=0/SUCCESS)
        CPU: 14ms

Warning: journal has been rotated since unit was started, output may be incomplete.
 
Pour que nftables charge ses règles au démarrage je les ai mises dans le fichier /etc/nftables.conf et j'ai purgé iptables avec iptables -F

Code : Tout sélectionner

 ~# cat /etc/nftables.conf
#!/usr/sbin/nft -f

flush ruleset


table inet filter {
	chain input {
		type filter hook input priority filter; policy drop;
		iifname "lo" accept
		ct state established,related accept
				tcp dport 631 accept		
	}

	chain forward {
		type filter hook forward priority filter; policy drop;
	}

	chain output {
		type filter hook output priority filter; policy accept;
	}
}
 
  • je viens de vérifier la sortie de pstree et je ne vois aucun processus pouvant être associé à nftables ; idem avec ps x pas de n° 238 . On dirait qu'il y a eu un démarrage et un arrêt de ce processus , non ?
  • voici ce qu'en dit le site stackexchange :
    State active (exited) means that systemd has successfully run the commands but that it does not know there is a daemon to monitor.

    If there is you must define it in the unit file by configuring the Type and ExecStart options appropriately according to whether the process you start is the main proces, forks child processes and exits etc.


    mais ça ne me parle pas du tout du tout
  • ça c'est déjà mieux , mais comment en décider ?
    active (exited) is not a problem in itself. For example, if the unit file sets RemainAfterExit=true, a service that exits is reported as active. Example: On my Ubuntu server, the ufw service initializes the firewall at system startup. It's a oneshot service, which performs one task then exits. However, it's still considered active, perhaps because inactive would confuse users. After all, the firewall is in place.
Debian 12/ Xfce
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Le service fonctionne,
il est en attente d'un événement qui déclenchera une tâche à accomplir.

La commande :

Code : Tout sélectionner

# nft list ruleset
affiche le jeu de règles qui sont actuellement en usage.
**Simple Utilisateur** -- Debian stable - XFCE
tony
Membre
Membre
Messages : 402
Inscription : 10 juil. 2023, 00:54
Status : Hors-ligne

dezix a écrit : 01 sept. 2023, 21:55 Le service fonctionne,
il est en attente d'un événement qui déclenchera une tâche à accomplir.
OK ! donc il devrait bien y avoir un processus associé non ? C'est peut-être que je ne l'ai pas reconnu dans l'arbre de la sortie de pstree . Même avec la commande ps -e je ne vois rien .
There is no such thing as "iptables is running" - there is no dedicated firewall process to monitor. If the kernel modules are loaded and rules defined (both of which are proven by showing a valid rules table), the filtering is active. It is done in-kernel on events (packet rcv/snd) and not on a separate process.
--> supseruser.com et comme indiqué plus haut par @dezix

Affaire classée donc .
Debian 12/ Xfce
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Voici un test que je viens de réaliser avec une règle qui rejette les requêtes émises vers l'adresse IP du forum :

Code : Tout sélectionner

# cat /etc/nftables.conf

#!/usr/sbin/nft -f

flush ruleset


table inet test_table {
	chain test_chain {
		type filter hook output priority filter; policy accept;
		ip daddr 144.76.60.126 drop;
	}
}




# systemctl restart nftables

# systemctl status nftables.service
● nftables.service - nftables
     Loaded: loaded (/lib/systemd/system/nftables.service; enabled; vendor preset: enabled)
     Active: active (exited) since Sat 2023-09-02 16:19:18 CEST; 13s ago
       Docs: man:nft(8)
             http://wiki.nftables.org
    Process: 2764 ExecStart=/usr/sbin/nft -f /etc/nftables.conf (code=exited, status=0/SUCCESS)
   Main PID: 2764 (code=exited, status=0/SUCCESS)
        CPU: 18ms

sept. 02 16:19:18 model.virt systemd[1]: Starting nftables...
sept. 02 16:19:18 model.virt systemd[1]: Finished nftables.


# pgrep nft
(vide)

# nft list ruleset
table inet test_table {
	chain test_chain {
		type filter hook output priority filter; policy accept;
		ip daddr 144.76.60.126 drop
	}
}


 
# ping -c3 144.76.60.126
PING 144.76.60.126 (144.76.60.126) 56(84) bytes of data.

--- 144.76.60.126 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2034ms


Tu peux constater que la règle est chargée, qu'elle fonctionne
et que pourtant il n'y apas de tâche de fond correspondant à nft


Sans avoir les connaissances pour en être certain,
j'en déduis que la surveillance du trafic est faite à un niveau inférieur au service nftables.service

ça doit se passer au niveau de systemd et/ou du module netfilter dans le noyau.


J'espère que ce n'est pas trop FAUX.
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
diesel
Membre
Membre
Messages : 271
Inscription : 29 oct. 2022, 22:43
Status : Hors-ligne

Il n'y a aucune raison pour qu'il y ait un processus nftables (ou nft) qui tourne en tâche de fond.

Le filtrage des paquets est réalisé en temps réel par netfilter qui est intégré au noyau (ce n'est donc pas une tâche visible par la commande ps) et nftables (ou son ancêtre iptables) n'est qu'une interface qui permet de programmer et administrer netfilter. la tâche nft n'a donc qu'une durée de vie très brève au moment où la commande nft ... est lancée via bash.

Voir : https://www.netfilter.org/

Amicalement.

Jean-Marie
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

@diesel Merci !


Oui, bien sûr, nftables n'est là que pour fournir les règles... voilà qui m'éclaircit l'esprit :rolleyes:
**Simple Utilisateur** -- Debian stable - XFCE
tony
Membre
Membre
Messages : 402
Inscription : 10 juil. 2023, 00:54
Status : Hors-ligne

dezix a écrit : 02 sept. 2023, 16:37 Voici un test que je viens de réaliser avec une règle qui rejette les requêtes émises vers l'adresse IP du forum :
j'ai fait quelque chose de similaire et qui doit certainement être un grand classique : pinguer mon portable ( bien sûr j'ai enlevé la règle qui le permettait ) à partir d'un autre appareil domestique : refus de mon appareil . Donc mon parefeu rudimentaire fonctionne .

En tout cas merci pour vos réponses .
Debian 12/ Xfce
Répondre