1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
# DEBUT des règles de FIREWALLI
# activation du forwarding dans le noyau
echo 1 >/proc/sys/net/ipv4/ip_forward
iptables -A FORWORD -p tcp --dport 80 -j ACCEPT
iptables -A FORWORD -s 10.0.1.29 -d 172.16.20.19 -j ACCEPT
iptables -A FORWORD -s 10.0.0.254 -d 10.0.0.0/8 -j ACCEPT
iptables -A FORWORD -s 10.0.0.0/8 -d 10.0.0.254 -j ACCEPT
iptables -A FORWORD -s 172.16.20.254 -d 172.16.20.19 -j ACCEPT
iptables -A FORWORD -s 172.16.20.19 -d 172.16.20.254 -j ACCEPT
iptables -A FORWORD -s 172.16.20.254 -d 10.0.0.254 -j ACCEPT
iptables -A FORWORD -s 10.0.0.254 -d 172.16.20.254 -j ACCEPT
iptables -A OUTPUT -s 172.16.20.254 -d 172.16.20.19 -j ACCEPT
iptables -A INPUT -s 172.16.20.19 -d 172.16.20.254 -j ACCEPT
iptables -A INPUT -s 10.0.0.0/8 -d 10.0.0.254 -j ACCEPT
iptables -A OUTPUT -s 10.0.0.254 -d 10.0.0.0/8 -j ACCEPT
iptables -A FORWORD -s 10.0.0.0/8 -d 172.16.0.0/16 -j ACCEPT
iptables -A FORWORD -s 172.16.0.0/16 -d 10.0.0.0/8 -j ACCEPT
#stratégies par défaut
# Je veux que les connexions entrantes soient refusées par défaut
iptables -P INPUT ACCEPT
# Je veux que les connexions destinées à être forwardées soient acceptées par défaut
iptables -P FORWARD ACCEPT
# Je veux que les connexions sortantes soient acceptées par défaut
iptables -P OUTPUT ACCEPT
# FIN des politiques par défaut
#init des tables NAT et MANGLE (pas forcément nécessaire)
iptables -t nat -F
iptables -t nat -X
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
# Acceptation de toutes les connexions en local (un process avec l'autre)
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A OUTPUT -o eth0 -j ACCEPT
# J'autorise les connexions TCP entrantes sur le port 22
# (pour que mon serveur SSH soit joignable de l'extérieur)
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# J'autorise les connexions TCP entrantes sur le port 80
# (pour que mon serveur HTTP soit joignable de l'extérieur)
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# J'accepte le protocole ICMP (i.e. le "ping")
iptables -A INPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT
iptables -A INPUT -p icmp -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p icmp -j ACCEPT
# activation du forwarding dans le noyau
# mise en place du partage de connexion sur le réseau local
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 172.16.0.0/16 -o eth0 -j MASQUERADE
# exemple : on veut qu'un serveur HTTP ET SSH installé sur LES serveurs de l'organisation soient visible depuis l'extérieur.
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 172.16.20.19:80 |
Partager