Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:reseau:iptables-pare-feu-pour-une-passerelle [15/11/2014 17:18] Hypathie [Un pare-feu avancé pour le routeur-debian] |
doc:reseau:iptables-pare-feu-pour-une-passerelle [16/11/2014 07:35] Hypathie [Les règles du pare-feu pas à pas] |
||
---|---|---|---|
Ligne 343: | Ligne 343: | ||
- Interdire par défaut (DROP) la chaîne FORWARD | - Interdire par défaut (DROP) la chaîne FORWARD | ||
- Filter ce qui passe par FORWARD | - Filter ce qui passe par FORWARD | ||
- | - Autoriser (provisoirement) les entrées et sorties entre le <nowiki>LAN</nowiki> et le web. | + | - Par exemple pour autoriser la connexion au web du <nowiki>LAN</nowiki> on autorise tcp |
- | - Autoriser les pings depuis le pare-feu vers l'internet, uniquement si ceux-ci proviennent de connexions déjà établies ou dépendantes d'une connexion en cours. | + | - On autorise ICMP pour les pings |
- | - Autoriser la réponse du ping, que ce soit depuis le réseau interne, ou de la box-machin. | + | - Et bien sûr, ne pas oublier si on a "flushé" la table NAT, la commande avec MASQUERADE |
- | - Et bien sûr, ne pas oublier après avoir flusher la table NAT, la commande avec MASQUERADE | + | |
(//Puisque la politique par défaut de la table FILTER des chaînes INPUT et OUTPUT n'ont pas encore été modifiées, on peut déjà tester ces commandes.//) | (//Puisque la politique par défaut de la table FILTER des chaînes INPUT et OUTPUT n'ont pas encore été modifiées, on peut déjà tester ces commandes.//) | ||
Ligne 354: | Ligne 353: | ||
iptables -P FORWARD DROP | iptables -P FORWARD DROP | ||
... | ... | ||
- | iptables -t filter -A FORWARD -i eth1 -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT | ||
- | iptables -t filter -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT | + | /sbin/iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/24 -d 0.0.0.0/0 -p\ |
- | ... | + | tcp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT |
- | iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE | + | |
+ | /sbin/iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/24 -p\ | ||
+ | tcp -m state --state ESTABLISHED,RELATED -j ACCEPT | ||
+ | |||
+ | /sbin/iptables -t filter -A FORWARD -p icmp -j ACCEPT | ||
</code> | </code> | ||
- | <note> | + | <note tip> |
- | Ou sans suivi de connexion :\\ | + | **__Quelques exlications :__** |
+ | |||
+ | * Sans suivi de connexion : | ||
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT\\ | iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT\\ | ||
- | iptables -A FORWARD -o eth1 -i eth0 -j ACCEPT | + | iptables -A FORWARD -o eth1 -i eth0 -j ACCEPT\\ |
+ | |||
+ | > On autorise tout passage de eth1 à eth0 et de eth0 à eth1 | ||
+ | |||
+ | * Avec suivi de connexion : | ||
+ | iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/24\ | ||
+ | -d 0.0.0.0/0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT | ||
+ | |||
+ | iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0\ | ||
+ | -d 192.168.1.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPT | ||
+ | |||
+ | > On autorise tout passage avec suivi de connexion de eth1 à eth0 et inversement, en précisant les sous-réseaux. | ||
</note> | </note> | ||
* On vérifie si le ping fonctionne de la machine A vers la machine B : | * On vérifie si le ping fonctionne de la machine A vers la machine B : | ||
Ligne 451: | Ligne 466: | ||
iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0\ | iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0\ | ||
-d 192.168.1.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPT | -d 192.168.1.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPT | ||
- | |||
- | iptables -t filter -A FORWARD -p icmp -j ACCEPT | ||
iptables -t filter -A INPUT -p icmp -i eth0 -m conntrack\ | iptables -t filter -A INPUT -p icmp -i eth0 -m conntrack\ | ||
Ligne 621: | Ligne 634: | ||
iptables -P FORWARD DROP | iptables -P FORWARD DROP | ||
+ | #On remets "masquerade" car on a flushé: | ||
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE | iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE | ||
Ligne 652: | Ligne 666: | ||
--icmp-type echo-reply -j DROP | --icmp-type echo-reply -j DROP | ||
- | #On remets "masquerade" car on a flushé: | ||
- | iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE | ||
</code> | </code> | ||
====DROP sur INPUT et OUTPUT (chaîne filter) ==== | ====DROP sur INPUT et OUTPUT (chaîne filter) ==== | ||
Ligne 968: | Ligne 980: | ||
/sbin/iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/24 -d 0.0.0.0/0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT | /sbin/iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/24 -d 0.0.0.0/0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT | ||
/sbin/iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPT | /sbin/iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPT | ||
- | #/sbin/iptables -t filter -A FORWARD -p icmp -j ACCEPT #inutile | + | /sbin/iptables -t filter -A FORWARD -p icmp -j ACCEPT |
#accepter le ping entre les réseaux locaux | #accepter le ping entre les réseaux locaux | ||
/sbin/iptables -t filter -A INPUT -p icmp -i eth0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT | /sbin/iptables -t filter -A INPUT -p icmp -i eth0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT |