Outils pour utilisateurs

Outils du site


technique:bcp38

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
technique:bcp38 [2017/07/30 13:14]
lg [Filtrage en entrée]
technique:bcp38 [2017/07/30 13:17] (Version actuelle)
lg [Filtrage en entrée]
Ligne 103: Ligne 103:
 **Pour l'​instant,​ rien n'est packagé dans Debian pour gérer la persistance des ipsets. En revanche, netfilter-persistent se contente d'​exécuter des scripts** (avec run-parts donc ordonnés). Ainsi, pour les règles de filtrage, netfilter-persistent exécute simplement les scripts fournis par iptables-persistent. Attention à bien **installer ces deux logiciels** car ils sont complémentaires ! **Pour l'​instant,​ rien n'est packagé dans Debian pour gérer la persistance des ipsets. En revanche, netfilter-persistent se contente d'​exécuter des scripts** (avec run-parts donc ordonnés). Ainsi, pour les règles de filtrage, netfilter-persistent exécute simplement les scripts fournis par iptables-persistent. Attention à bien **installer ces deux logiciels** car ils sont complémentaires !
  
-Il nous suffit d'​écrire [[http://​gitlab.netlib.re/​arn/​arn-confs/​blob/​master/​bcp38/​05-ipsets|notre script]] sur le modèle de ceux fournis par iptables-persistent (à mettre dans /​usr/​share/​netfilter-persistent/​plugins.d/​05-ipsets).+Il nous suffit d'​écrire [[http://​gitlab.netlib.re/​arn/​arn-confs/​blob/​master/​bcp38/​05-ipsets|notre script]] sur le modèle de ceux fournis par iptables-persistent (à mettre dans /​usr/​share/​netfilter-persistent/​plugins.d/​05-ipsets). Ne pas oublier de lui **donner les droits d'​exécution**.
  
  
Ligne 110: Ligne 110:
 **Mais pour que cela fonctionne, il faudra modifier le fonctionnement de netfilter-persistent**. En effet, l'​utilisation d'un ipset dans une règle de filtrage nécessite que le set existe donc il faut d'​abord exécuter le script /​usr/​share/​netfilter-persistent/​plugins.d/​05-ipsets avant d'​exécuter /​usr/​share/​netfilter-persistent/​plugins.d/​15-iptables. En revanche, lors d'un reload ou arrêt du filtrage, il faut d'​abord supprimer la règle de filtrage afin de pouvoir supprimer un ipset. **Or, netfilter-persistent lance run-parts de la même façon quelle que soit l'​action demandée** (start, flush, reload). Donc le script ipset est toujours exécuté en premier... et échoue pour les actions stop/​reload. **Mais pour que cela fonctionne, il faudra modifier le fonctionnement de netfilter-persistent**. En effet, l'​utilisation d'un ipset dans une règle de filtrage nécessite que le set existe donc il faut d'​abord exécuter le script /​usr/​share/​netfilter-persistent/​plugins.d/​05-ipsets avant d'​exécuter /​usr/​share/​netfilter-persistent/​plugins.d/​15-iptables. En revanche, lors d'un reload ou arrêt du filtrage, il faut d'​abord supprimer la règle de filtrage afin de pouvoir supprimer un ipset. **Or, netfilter-persistent lance run-parts de la même façon quelle que soit l'​action demandée** (start, flush, reload). Donc le script ipset est toujours exécuté en premier... et échoue pour les actions stop/​reload.
  
-[[http://​gitlab.netlib.re/​arn/​arn-confs/​blob/​master/​bcp38/​netfilter-persistent|Notre script /​usr/​sbin/​netfilter-persistent modifié]] est disponible dans notre dépôt git.+[[http://​gitlab.netlib.re/​arn/​arn-confs/​blob/​master/​bcp38/​netfilter-persistent|Notre script /​usr/​sbin/​netfilter-persistent modifié]] est disponible dans notre dépôt git. Ne pas oublier de lui **donner les droits d'​exécution**.
  
 Évidement, pour que celui-ci ne soit pas écrasé lors d'une mise à jour, nous devons avoir recours à un dpkg-divert avant de stocker le script modifié en /​usr/​sbin/​netfilter-persistent : Évidement, pour que celui-ci ne soit pas écrasé lors d'une mise à jour, nous devons avoir recours à un dpkg-divert avant de stocker le script modifié en /​usr/​sbin/​netfilter-persistent :
technique/bcp38.txt · Dernière modification: 2017/07/30 13:17 par lg