# Digression Installation parefeu (iptables & ip6tables) "pour les nuls"

**URL:** <https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771>\
**Category:** Support Debian\
**Created:** [Février 19, 2016, 12:17 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771 "2016-02-19T00:17:08Z")\
**Posts on this page:** 20\
**Page:** 28

<div class="post-metadata">

**Author:** ![bertaudmarc](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/b/ce73a5/32.png) [@bertaudmarc](https://www.debian-fr.org/u/bertaudmarc)\
**Post date:** [Février 21, 2017, 1:28 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/542 "2017-02-21T13:28:38Z")

</div>

Les lignes commençant avec “:” me troublent, il n’y en a pas dans le tutorial.  
Peut-on dire que le tutorial est toujours à jour car de nombreuses personnes ont fait des remarques ?

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Février 21, 2017, 2:05 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/543 "2017-02-21T14:05:10Z")

</div>

> [@bertaudmarc](#):
>
> Les lignes commençant avec «&nbsp;:&nbsp;» me troublent

Dans la syntaxe de la sortie d’iptables-save, «&nbsp;:&nbsp;» permet à la fois de définir la politique par défaut des chaînes de base (équivalent de `iptables -P`) et de créer les chaînes utilisateur (équivalent de `iptables -N`).

---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Novembre 19, 2017, 9:02 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/544 "2017-11-19T21:02:47Z")

</div>

A scindé ce sujet (le Novembre 19, 2017, 9:02 UTC)

2 messages ont été déplacés vers un nouveau sujet : [Problème firewall](https://www.debian-fr.org/t/probleme-firewall/75144)

---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Novembre 19, 2017, 9:01 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/546 "2017-11-19T21:01:28Z")

</div>

A fermé ce sujet (le Novembre 19, 2017, 9:01 UTC)



---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Novembre 19, 2017, 9:01 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/547 "2017-11-19T21:01:48Z")

</div>

A ouvert ce sujet (le Novembre 19, 2017, 9:01 UTC)



---

<div class="post-metadata">

**Author:** ![txj](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/d78d45/32.png) [@txj](https://www.debian-fr.org/u/txj)\
**Post date:** [Février 21, 2018, 6:45 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/548 "2018-02-21T18:45:50Z")

</div>

Bonsoir, ca fonctionne toujours avec stretch?  
J’ai l’impression que le parefeu ne boot plus au redémarrage.

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 21, 2018, 6:55 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/549 "2018-02-21T18:55:10Z")

</div>

Il y a une partie obsolète, c’est la partie configuration du service pour qu’il s’execute au reboot.  
Il faudrait reprendre toute la partie qui parle d’init.d et la transformer pour systemd.

---

<div class="post-metadata">

**Author:** ![txj](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/d78d45/32.png) [@txj](https://www.debian-fr.org/u/txj)\
**Post date:** [Février 21, 2018, 7:03 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/550 "2018-02-21T19:03:24Z")

</div>

cela signifie qu’il faut simplement remplacer init.d par systemd? je suis pas sûr de comprendre les implications

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Février 21, 2018, 7:58 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/551 "2018-02-21T19:58:33Z")

</div>

Systemd dans Stretch a abandonné la compatibilité avec les initscripts SystemV ?

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 21, 2018, 8:52 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/552 "2018-02-21T20:52:22Z")

</div>

> [@PascalHambourg](#):
>
> Systemd dans Stretch a abandonné la compatibilité avec les initscripts SystemV ?

Je ne sais pas, ça fait 10 ans que je n’ai pas fait de script init, donc bon.  
Mais il y a quelques jours, quelqu’un sur le forum était dans le cas ou il avait droppé le script iptables dans init.d et ça ne fonctionnait pas.  
Je n’ai malheureusement plus en tête le fil, ni noté comment le pb s’était résolu, mais ça a nécessité un ajustement entre la config sysv et systemd.

---

<div class="post-metadata">

**Author:** ![txj](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/d78d45/32.png) [@txj](https://www.debian-fr.org/u/txj)\
**Post date:** [Février 22, 2018, 10:02 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/553 "2018-02-22T10:02:43Z")

</div>

tu parles de ce fil? [Iptables non appelé au démarrage](https://www.debian-fr.org/t/iptables-non-appele-au-demarrage/75863/9)

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 22, 2018, 10:33 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/554 "2018-02-22T10:33:56Z")

</div>

Oui, c’est celui là.

---

<div class="post-metadata">

**Author:** ![Xisqu4re](https://www.debian-fr.org/user_avatar/www.debian-fr.org/xisqu4re/32/6278_2.png) [@Xisqu4re](https://www.debian-fr.org/u/Xisqu4re)\
**Post date:** [Février 22, 2018, 10:36 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/555 "2018-02-22T22:36:27Z")

</div>

En effet je pouvais lancer le script manuellement mais il n’était pas exécuté au démarrage.  
J’ai donc fait comme proposé par @grandtoubab, c’est-à-dire installer ufw. La syntaxe des règles est simplifiée, exemple :

```
$ sudo ufw allow 50886/tcp

$ sudo ufw allow out 50886/tcp

$ sudo ufw status
Status: active

To Action From
-- ------ ----
50886/tcp ALLOW Anywhere                  
50886/tcp (v6) ALLOW Anywhere (v6)             

50886/tcp ALLOW OUT Anywhere                  
50886/tcp (v6) ALLOW OUT Anywhere (v6)   

```

Je ne sais pas comment travaille ufw avec le système d’init, mais en tout cas le firewall est actif au reboot.

---

<div class="post-metadata">

**Author:** ![txj](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/d78d45/32.png) [@txj](https://www.debian-fr.org/u/txj)\
**Post date:** [Février 22, 2018, 11:50 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/556 "2018-02-22T23:50:28Z")

</div>

et moi j’ai finalement opté pour iptables-persistent ^^

---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Février 23, 2018, 5:42 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/557 "2018-02-23T17:42:59Z")

</div>

Pure digression je ne suis toujours pas arrivé à faire fonctionner networkd et firewalld (gérer avec systemd en gros) en double stack V4/V6 sur du Debian alors que c’est fonctionnel sur du système Redhat et consorts 😕

Si d’ici là quelqu’un à une méthode fonctionnel sur Stretch je suis preneur 😃

---

<div class="post-metadata">

**Author:** ![txj](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/d78d45/32.png) [@txj](https://www.debian-fr.org/u/txj)\
**Post date:** [Mars 26, 2018, 9:18 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/558 "2018-03-26T21:18:01Z")

</div>

A l’heure de l’IPV6 ce serait bien d’avoir aussi les instructions de bases en IPV6 si vous avez le temps  
vu que là soit je désactive l’IPV6 soit mon parefeu ne sert pas a grand chose 😕

---

<div class="post-metadata">

**Author:** ![grandtoubab](https://www.debian-fr.org/user_avatar/www.debian-fr.org/grandtoubab/32/4505_2.png) [@grandtoubab](https://www.debian-fr.org/u/grandtoubab)\
**Post date:** [Mars 27, 2018, 8:00 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/559 "2018-03-27T08:00:08Z")

</div>

ufw le fait très bien

```auto
 grep -i ipv6 /etc/default/ufw
# Set to yes to apply rules to support IPv6 (no means only IPv6 on loopback
IPV6=yes

```

```auto
 ufw status
Status: active

To Action From
-- ------ ----
192.168.0.22 ALLOW 192.168.0.15              
192.168.0.15 ALLOW 192.168.0.22              
6566/tcp ALLOW Anywhere                  
1718/udp ALLOW Anywhere                  
1900/udp ALLOW Anywhere                  
8200/tcp ALLOW Anywhere                  
6566/tcp (v6) ALLOW Anywhere (v6)             
1718/udp (v6) ALLOW Anywhere (v6)             
1900/udp (v6) ALLOW Anywhere (v6)             
8200/tcp (v6) ALLOW Anywhere (v6)             

192.168.0.22 ALLOW OUT 192.168.0.15              
192.168.0.15 ALLOW OUT 192.168.0.22              
1718/udp ALLOW OUT Anywhere                  
1900/udp ALLOW OUT Anywhere                  
8200/tcp ALLOW OUT Anywhere                  
1718/udp (v6) ALLOW OUT Anywhere (v6)             
1900/udp (v6) ALLOW OUT Anywhere (v6)             
8200/tcp (v6) ALLOW OUT Anywhere (v6)             

```

> **[Set Up a Firewall with UFW on Ubuntu and Debian | DigitalOcean](https://www.digitalocean.com/community/tutorials/how-to-setup-a-firewall-with-ufw-on-an-ubuntu-and-debian-cloud-server)**
>
> Learn to set up a UFW firewall on Ubuntu and Debian. Configure rules, allow ports and services, manage IPv6, and secure your cloud server step-by-step.

---

<div class="post-metadata">

**Author:** ![txj](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/d78d45/32.png) [@txj](https://www.debian-fr.org/u/txj)\
**Post date:** [Mai 16, 2018, 1:40 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/560 "2018-05-16T13:40:53Z")

</div>

Donc je peut traduire ce script IPV4

```nohighlight
#!/bin/sh

iptables -t filter -F
iptables -t nat -F
iptables -t mangle -F
iptables -t raw -F
iptables -t filter -P INPUT ACCEPT
iptables -t filter -P OUTPUT ACCEPT
iptables -t filter -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P INPUT ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT
iptables -t mangle -P FORWARD ACCEPT
iptables -t mangle -P INPUT ACCEPT
iptables -t raw -P OUTPUT ACCEPT
iptables -t raw -P PREROUTING ACCEPT

############################ INPUT ############################
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#A-Requêtes de ping entrantes
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
#B-Réponses entrantes aux requêtes de ping sortantes
iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT

#### SSH ####
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
### HTTP
#iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
### HTTPS
#iptables -A INPUT -p tcp --dport 443 -j ACCEPT

iptables -P INPUT DROP
############################ OUTPUT ###########################
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#### ICMP (PING) ####
#A-Réponses sortantes aux requêtes de ping entrantes
iptables -A OUTPUT -p icmp --icmp-type 0 -j ACCEPT
#B-Requêtes de ping sortantes
iptables -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT

### SSH
#iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT
### HTTP
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT

### HTTPS
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
#iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT #UDP serveur de nom

iptables -P OUTPUT DROP
############################ FORWARD ##########################
iptables -P FORWARD DROP
############################ FIN ##############################

```

Par ce script IPV6 ???

```nohighlight
#!/bin/sh
ip6tables -t filter -F
ip6tables -t nat -F
ip6tables -t mangle -F
ip6tables -t raw -F
ip6tables -t filter -P INPUT ACCEPT
ip6tables -t filter -P OUTPUT ACCEPT
ip6tables -t filter -P FORWARD ACCEPT
ip6tables -t nat -P PREROUTING ACCEPT
ip6tables -t nat -P POSTROUTING ACCEPT
ip6tables -t nat -P INPUT ACCEPT
ip6tables -t nat -P OUTPUT ACCEPT
ip6tables -t mangle -P PREROUTING ACCEPT
ip6tables -t mangle -P OUTPUT ACCEPT
ip6tables -t mangle -P POSTROUTING ACCEPT
ip6tables -t mangle -P FORWARD ACCEPT
ip6tables -t mangle -P INPUT ACCEPT
ip6tables -t raw -P OUTPUT ACCEPT
ip6tables -t raw -P PREROUTING ACCEPT
############################ INPUT ############################
ip6tables -A INPUT -i lo -j ACCEPT
ip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#### ICMP (PING) ####
ip6tables -A INPUT -p icmpv6 --icmpv6-type neighbour-solicitation -m hl --hl-eq 255 -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type neighbour-advertisement -m hl --hl-eq 255 -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type router-advertisement -m hl --hl-eq 255 -j ACCEPT

#### SSH ####
ip6tables -A INPUT -p tcp --dport 22 -j ACCEPT
### HTTP
#ip6tables -A OUTPUT -p tcp --dport 80 -j ACCEPT
### HTTPS
#ip6tables -A INPUT -p tcp --dport 443 -j ACCEPT

ip6tables -P INPUT DROP
############################ OUTPUT ###########################
ip6tables -A OUTPUT -o lo -j ACCEPT
ip6tables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#### ICMP (PING) ####
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type neighbour-solicitation -j ACCEPT
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type neighbour-advertisement -j ACCEPT
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type router-solicitation -j ACCEPT

### SSH
#ip6tables -A OUTPUT -p tcp --dport 22 -j ACCEPT
### HTTP
ip6tables -A OUTPUT -p tcp --dport 80 -j ACCEPT

### HTTPS
ip6tables -A OUTPUT -p tcp --dport 443 -j ACCEPT
#ip6tables -A OUTPUT -p tcp --dport 25 -j ACCEPT
ip6tables -A OUTPUT -p udp --dport 53 -j ACCEPT #UDP serveur de nom

ip6tables -P OUTPUT DROP
############################ FORWARD ##########################
ip6tables -P FORWARD DROP
############################ FIN ##############################

```

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Mai 16, 2018, 3:52 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/561 "2018-05-16T15:52:38Z")

</div>

Il manque la traduction des règles autorisant le ping.

---

<div class="post-metadata">

**Author:** ![txj](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/d78d45/32.png) [@txj](https://www.debian-fr.org/u/txj)\
**Post date:** [Mai 16, 2018, 5:42 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/562 "2018-05-16T17:42:20Z")

</div>

> [@PascalHambourg](#):
>
> Il manque la traduction des règles autorisant le ping.

Je pensais que c’était ca la traduction

> [@txj](#):
>
> ip6tables -A INPUT -p icmpv6 --icmpv6-type neighbour-solicitation -m hl --hl-eq 255 -j ACCEPT  
> ip6tables -A INPUT -p icmpv6 --icmpv6-type neighbour-advertisement -m hl --hl-eq 255 -j ACCEPT  
> ip6tables -A INPUT -p icmpv6 --icmpv6-type router-advertisement -m hl --hl-eq 255 -j ACCEPT

Du coup elles servent à quoi les lignes ci-dessus?

Si certains codes ne sont pas disponible en IPV6 je dois traduire comment?

> iptables -A OUTPUT -p icmp --icmp-type 0 -j ACCEPT  
> iptables -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT

Je peux juste faire :

> ip6tables -A OUTPUT -p icmpv6 --icmp-type 0 -j ACCEPT  
> ip6tables -A OUTPUT -p icmpv6 --icmp-type 8 -j ACCEPT

?

[Page précédente](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771.md?page=27)

[Page suivante](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771.md?page=29)
