TUTOS.EU

Firewall nftables sous Linux CentOs

Désinstallation de firewalld

yum remove firewalld
Lien vers le fichier : cliquez ici Copier le code

Installation et configuration de nftables

yum install nftables
systemctl enable nftables.service
systemctl start nftables.service
Lien vers le fichier : cliquez ici Copier le code

Configuration de /nftables.conf pour lui indiquer le fichier à utiliser pour les règles de FW

yum install nano
nano /etc/nftables.conf
Lien vers le fichier : cliquez ici Copier le code

Le contenu doit être

#!/usr/sbin/nft -f
include "nftables.rules"
Lien vers le fichier : cliquez ici Copier le code

Pour la modification des règles FW, modifier /etc/nftables.rules avec

nano /etc/nftables.rules
Lien vers le fichier : cliquez ici Copier le code

Exemple de contenu

#!/sbin/nft -f

flush ruleset

table ip myfilter {
        chain myinput {
                type filter hook input priority 0; policy drop;
                ct state established accept
                tcp dport ssh accept
                tcp dport 53 accept
                udp dport 53 accept
                ip protocol icmp accept
                iif "lo" accept
                ip saddr 127.0.0.0/8 counter packets 0 bytes 0 drop
                ip saddr { 192.168.0.10, 192.168.0.11 } tcp dport {ntp,ldap,ldaps,88,445,464,3268} accept
                ip saddr { 192.168.0.10, 192.168.0.11 } udp dport {ntp,ldap,ldaps,88,445,464,3268} accept
                ip saddr 172.20.10.30 tcp dport { 5556, 5666 } accept
                ip saddr 172.20.10.30 udp dport snmp accept
                tcp dport {2181, 9092} accept

        }

        chain myoutput {
                type filter hook output priority 0; policy drop;
                ct state established accept
                tcp dport ssh accept
                tcp dport 53 accept
                udp dport 53 accept
                udp dport snmp accept
                tcp dport 5666 accept
                tcp dport {2181, 9092} accept
                tcp dport { http, https } accept
                ip protocol icmp accept
                ip daddr { 192.168.0.10, 192.168.0.11 } tcp dport {ntp,ldap,ldaps,88,445,464,3268} accept
                ip daddr { 192.168.0.10, 192.168.0.11 } udp dport {ntp,ldap,ldaps,88,445,464,3268} accept
        }

        chain forward {
                type filter hook forward priority 0; policy drop;
        }
}
Lien vers le fichier : cliquez ici Copier le code

Si vous voulez tous laisser passer (du coup ce n'est plus un firewall) vous pouvez mettre

#!/sbin/nft -f

flush ruleset
table ip myfilter {
        chain myinput {
                type filter hook input priority 0; policy accept;
                #policy accept
                ct state established accept
         }

        chain myoutput {
                type filter hook output priority 0; policy accept;
                #policy accept
                ct state established accept
        }

        chain forward {
                type filter hook forward priority 0; policy accept;
                #policy accept
                ct state established accept
        }
}
Lien vers le fichier : cliquez ici Copier le code

Check et reload des règles avec

sudo nft -f /etc/nftables.rules
Lien vers le fichier : cliquez ici Copier le code

Affichage des règles avec

nft list ruleset
Lien vers le fichier : cliquez ici Copier le code

Check de l'état du service

systemctl status nftables.service -l
Lien vers le fichier : cliquez ici Copier le code

Pages Web

Site WebDescription
wiki.nftables.orgQuick reference-nftables in 10 minutes

2