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 [07/11/2014 16:44] Hypathie [Le script de la passerelle] |
doc:reseau:iptables-pare-feu-pour-une-passerelle [15/11/2014 17:23] Hypathie [Un pare-feu avancé pour le routeur-debian] |
||
---|---|---|---|
Ligne 293: | Ligne 293: | ||
<code root> | <code root> | ||
- | iptables -P FORWARD DROP | ||
iptables -F | iptables -F | ||
iptables -X | iptables -X | ||
Ligne 355: | Ligne 354: | ||
iptables -P FORWARD DROP | iptables -P FORWARD DROP | ||
... | ... | ||
- | iptables -t filter -A FORWARD -i eth1 -o eth0 -p tcp -m multiport\ | + | iptables -t filter -A FORWARD -i eth1 -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT |
- | --dports 80,443,8000 -j ACCEPT | + | |
- | iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0\ | + | iptables -t filter -A FORWARD -i eth0 -o eth1 -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 state --state ESTABLISHED,RELATED -j ACCEPT | + | |
- | iptables -t filter -A OUTPUT -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT | + | |
... | ... | ||
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE | iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE | ||
Ligne 453: | Ligne 447: | ||
#mais on oublie pas eth1 ! | #mais on oublie pas eth1 ! | ||
iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/24\ | 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 | + | -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\ | 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 | + | -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 FORWARD -p icmp -j ACCEPT | ||
Ligne 627: | Ligne 621: | ||
iptables -P FORWARD DROP | iptables -P FORWARD DROP | ||
- | iptables -A FORWARD -i eth1 -o eth0 -d 192.168.1.0/24 -s 0.0.0.0/0 -j ACCEPT | + | #On remets "masquerade" car on a flushé: |
+ | iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE | ||
+ | |||
+ | iptables -A FORWARD -i eth1 -o eth0 -d 192.168.1.0/24 -s 0.0.0.0/0\ | ||
+ | -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT | ||
iptables -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0\ | iptables -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 | ||
Ligne 654: | Ligne 653: | ||
--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 695: | Ligne 692: | ||
# On garde nos règles concernant le DROP sur FORWARD (FILTER) | # On garde nos règles concernant le DROP sur FORWARD (FILTER) | ||
# et on oublie pas eth1 ! | # et on oublie pas eth1 ! | ||
- | iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/24\ | + | iptables -t filter -A FORWARD -i eth1 -o eth0 -d 192.168.1.0/24 -s 0.0.0.0/0\ |
- | -d 0.0.0.0/0 -p tcp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT | + | -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT |
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 -p tcp -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 FORWARD -p icmp -j ACCEPT | ||
Ligne 968: | Ligne 965: | ||
/sbin/iptables -A OUTPUT -o eth1 -j ACCEPT | /sbin/iptables -A OUTPUT -o eth1 -j ACCEPT | ||
#permettre le passage entre les deux interfaces eternet de la passerelle | #permettre le passage entre les deux interfaces eternet de la passerelle | ||
- | /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 | + | /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 -p tcp -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 | + | #/sbin/iptables -t filter -A FORWARD -p icmp -j ACCEPT #inutile |
#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 | ||
Ligne 1107: | Ligne 1104: | ||
exit $RETVAL | exit $RETVAL | ||
</code> | </code> | ||
+ | |||
+ | <note tip> | ||
+ | **Pour autoriser la plateforme de jeux STEAM** | ||
+ | |||
+ | <code root> | ||
+ | /sbin/iptables -A INPUT -i eth1 -p udp -m udp --sport 27000 -m\ | ||
+ | state --state NEW,RELATED,ESTABLISHED -j ACCEPT | ||
+ | /sbin/iptables -A INPUT -i eth0 -p udp -m udp --sport 27000 -m\ | ||
+ | state --state RELATED,ESTABLISHED -j ACCEPT | ||
+ | </code> | ||
+ | |||
+ | Merci à robert2a pour cet ajout 8-) | ||
+ | |||
+ | [[http://debian-facile.org/viewtopic.php?pid=102028#p102028|Voir ce fil]] | ||
+ | </note> | ||
* Pour l'installation du script | * Pour l'installation du script | ||
Ligne 1165: | Ligne 1177: | ||
On laisse le terminal (de la passerelle) en état d'attente, et on passe sur le terminal du client B. | On laisse le terminal (de la passerelle) en état d'attente, et on passe sur le terminal du client B. | ||
- | * Côté client DHCP (ordinateur B) : | + | * Côté **client** DHCP (ordinateur B) on annule le bail DHCP : |
- | + | ||
- | -On commence par annuler le bail DHCP.\\ Comme ceci : | + | |
<code root> | <code root> | ||
Ligne 1174: | Ligne 1184: | ||
- | -Il n'y a plus d'IP : | + | >Il n'y a plus d'IP : |
<code root>eth0 Link encap:Ethernet HWaddr 00:1e:0b:67:9b:b7 | <code root>eth0 Link encap:Ethernet HWaddr 00:1e:0b:67:9b:b7 | ||
adr inet6: xxxxxxxxxxxx Scope:Lien</code> | adr inet6: xxxxxxxxxxxx Scope:Lien</code> | ||
- | - On lance une requête DHCP | + | * On lance une requête DHCP |
<code root> | <code root> | ||
dhclient eth0 | dhclient eth0 | ||
</code> | </code> | ||
- | Observez ce que nous dit "tcpdump" (dans le terminal de la passerelle) au lancemant de la commande\\ ''dhclient eth0'' sur l'ordinateur B (client DHCP) : | + | * Côté serveur DHCP : |
+ | Observez ce que nous dit "tcpdump" : | ||
<code> | <code> | ||
Ligne 1203: | Ligne 1215: | ||
</code> | </code> | ||
- | - Et en plus l'IP de l'ordinateur B a bien changé ! | + | * Et l'IP de l'ordinateur client DHCP a bien changé ! |
<code>INET_IP=`ifconfig $INET_IFACE | grep inet | \ | <code>INET_IP=`ifconfig $INET_IFACE | grep inet | \ |