#26 Le 07/08/2013, à 18:30
- canard-gras
Re : (résolu) iptables : separation deux sous réseau mais laisser internet
Bon, je donne le contenu du fichier qui va finalement bien, au cas où quelqu'un soit dans le besoin. Attention l'ordre des lignes est importante, car elle conditionne l'ordre des tests => si la condition est remplie, le test suivant ne se réalise pas !!!
/etc/ini.d/iptables
#!/bin/sh
#
# Script de démarrage qui lance l'interface réseau internet (adresse publique),
# met en place un firewall basique et un partage de connexion qui
# sépare les réseaux 10.0.81.0/24 et 192.168.1.0/24
# auteur bruno marten
# interface adresse internet publique
interface=eth3
start() {
# init du périphérique internet eth3 (ici en lien direct avec internet, ip fixe)
/sbin/ifup $interface
# Dans cette partie, on met en place le firewall
#vidage des chaines
iptables -F
#destruction des chaines personnelles
iptables -X
#stratégies par défaut
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
#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
# accepter et ouvrir les ports ssh car j'ai besoin d'accéder en ssh au serveur d'internet
iptables -A INPUT -p tcp -i eth3 --dport ssh -j ACCEPT
# accepter et ouvrir les ports ftp pour pureftp installé localement car j'ai besoin de donnerr des aaccès ftp à des externes sur inetrnet
iptables -A INPUT -p tcp -i eth3 --dport 20 -j ACCEPT
iptables -A INPUT -p tcp -i eth3 --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -i eth3 --dport 5010 -j ACCEPT
iptables -A INPUT -p tcp -i eth3 --dport 5011 -j ACCEPT
iptables -A INPUT -p tcp -i eth3 --dport 5012 -j ACCEPT
iptables -A INPUT -p tcp -i eth3 --dport 5013 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW ! -i $interface -j ACCEPT
#Chaines FORWARD ATTENTION, l'ordre des règles est importantes
#car c'est la 1° règle rencontrée qui s'applique si la condition est remplie sinon on passe à la deuxième etc...
iptables -A FORWARD -s 10.0.81.0/24 -d 192.168.1.0/24 -j REJECT
iptables -A FORWARD -s 192.168.1.0/24 -d 10.0.81.0/24 -j REJECT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state NEW ! -i $interface -j ACCEPT
# activation du forwarding dans le noyau
# mise en place du partage de connexion sur le réseau local
echo 1 >/proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o $interface -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.0.81.0/24 -o $interface -j MASQUERADE
}
stop() {
echo 0 >/proc/sys/net/ipv4/ip_forward
ifdown $interface
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop && start
;;
*)
echo "Usage $0 {start|stop|restart}"
exit 1
esac
exit 0
Dernière modification par canard-gras (Le 08/08/2013, à 08:02)
Bravo à Linux, les logiciels libres et Ubuntu !
PS : Ne pas oublier de poster ses expériences pour aider les autres.
Hors ligne
#27 Le 07/08/2013, à 18:32
- tiramiseb
Re : (résolu) iptables : separation deux sous réseau mais laisser internet
Tu aurais quand même pu mettre ça entre balises "[ code ]", histoire de ne pas péter les yeux (et les méninges) de ceux qui liront...
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne