159
modifications
(→Autoriser au cas par cas en sortie : Correction orthographique) |
(Ajout section NAT si variable ISROUTERNAT=true, suppression d'un if de Misterfreeze car erreur (mais peut-être nécessaire?)) |
||
Ligne 32 : | Ligne 32 : | ||
### END INIT INFO | ### END INIT INFO | ||
# | #------------------------Explications----------------------------------# | ||
# | # | ||
# Défauts : | # Défauts : | ||
Ligne 39 : | Ligne 39 : | ||
# utilisez '-i INTERFACE' dans la variables $IPTABLES. | # utilisez '-i INTERFACE' dans la variables $IPTABLES. | ||
# | # | ||
# - Par défaut, le script autorise tout en sortie. Pour changer ce comportement | # - Par défaut, le script autorise tout en sortie. | ||
# Pour changer ce comportement veuillez indiquer les numéros | |||
# | # de port en question dans les variables | ||
# $REMOTE_TCP_SERVICES | |||
# et/ou $REMOTE_UDP_SERVICES | |||
# | |||
# - Pour configurer une machine routeur, | |||
# changez la valeur de la variable | |||
# ISROUTERNAT à true, ainsi que | |||
# les interfaces ethx et ethy selon votre configuration | |||
# ethx correspond à l'interface du LAN | |||
# ethy correspond à l'interface reliée à la truc-box | |||
# | # | ||
# description: Active/Désactive le pare-feu au démarrage | # description: Active/Désactive le pare-feu au démarrage | ||
# | # | ||
#--------------------------------------------------------------- | #----------------------------------------------------------------------# | ||
#------------------------VARIABLES-------------------------------------# | |||
readonly IPTABLES=/sbin/iptables | readonly IPTABLES=/sbin/iptables | ||
# Services que le système offrira au réseau, à séparer avec des espaces | # Services que le système offrira au réseau, à séparer avec des espaces | ||
# ftp : 21, ssh : 22, serveur web : 80, cups : 631, jabber : 5222 | # ftp : 21, ssh : 22, serveur web : 80, cups : 631, jabber : 5222 | ||
Ligne 57 : | Ligne 67 : | ||
REMOTE_TCP_SERVICES="" | REMOTE_TCP_SERVICES="" | ||
REMOTE_UDP_SERVICES="" | REMOTE_UDP_SERVICES="" | ||
# Pour une machine faisant office de routeur avec NAT, | |||
# changer la valeur de la variable ISROUTERNAT à 1. | |||
ISROUTERNAT=false | |||
# ethx correspond à l'interface du LAN | |||
# ethy correspond à l'interface reliée à la truc-box | |||
ethx="eth1" | |||
ethy="eth0" | |||
#----------------------------------------------------------------------# | |||
if ! [ -x $IPTABLES ]; then | if ! [ -x $IPTABLES ]; then | ||
exit 0 | exit 0 | ||
fi | fi | ||
#----------------------------FONCTIONS---------------------------------# | |||
fw_start () { | fw_start () { | ||
Ligne 85 : | Ligne 105 : | ||
$IPTABLES -t filter -A INPUT -p icmp -j DROP | $IPTABLES -t filter -A INPUT -p icmp -j DROP | ||
# Sortie autorisée, si aucun port autorisé en n'est défini | # Sortie autorisée, si aucun port autorisé en sortie n'est défini | ||
if [ | if [ -z "$REMOTE_TCP_SERVICES"] && [ -z "$REMOTE_UDP_SERVICES" ]; then | ||
$IPTABLES -t filter -P OUTPUT ACCEPT | |||
fi | fi | ||
Ligne 94 : | Ligne 114 : | ||
$IPTABLES -A INPUT -p tcp --dport ${PORT} -j ACCEPT | $IPTABLES -A INPUT -p tcp --dport ${PORT} -j ACCEPT | ||
done | done | ||
for PORT in $UDP_SERVICES; do | for PORT in $UDP_SERVICES; do | ||
$IPTABLES -A INPUT -p udp --dport ${PORT} -j ACCEPT | $IPTABLES -A INPUT -p udp --dport ${PORT} -j ACCEPT | ||
Ligne 107 : | Ligne 127 : | ||
$IPTABLES -A OUTPUT -p udp --dport ${PORT} -j ACCEPT | $IPTABLES -A OUTPUT -p udp --dport ${PORT} -j ACCEPT | ||
done | done | ||
echo "Parefeu - Mise en place des règles : [OK]" | |||
if $ISROUTERNAT ; then | |||
$IPTABLES -A INPUT -i $ethx -j ACCEPT | |||
$IPTABLES -A INPUT -p icmp -j ACCEPT | |||
$IPTABLES -A FORWARD -i $ethy -o $ethx -m state --state RELATED,ESTABLISHED -j ACCEPT | |||
$IPTABLES -A FORWARD -o $ethy -j ACCEPT | |||
$IPTABLES -t nat -A POSTROUTING -o $ethy -j MASQUERADE | |||
echo "Parefeu - Routeur avec NAT : [OK]" | |||
fi | |||
# Toutes les autres connexions sont enregistrées dans syslog | # Toutes les autres connexions sont enregistrées dans syslog | ||
Ligne 166 : | Ligne 178 : | ||
$IPTABLES -L --line-numbers | $IPTABLES -L --line-numbers | ||
} | } | ||
message_touvabien () { | |||
echo " |//" | |||
echo " (o o)" | |||
echo "+------------oOO----(_)------------------+" | |||
echo "|~~~~~~~~~~¤ Bonne nouvelle! ¤~~~~~~~~~~~|" | |||
echo "|~~~~¤ Votre parefeu est configuré ¤~~~~ |" | |||
echo "|~~~~~~~~~~~~¤ avec succès ¤ ~~~~~~~~~~~~|" | |||
echo "----------------------oOO----------------+" | |||
echo " |__|__|" | |||
echo " || ||" | |||
echo " ooO Ooo" | |||
} | |||
#----------------------------------------------------------------------# | |||
case "$1" in | case "$1" in | ||
Ligne 172 : | Ligne 198 : | ||
fw_stop | fw_stop | ||
fw_start | fw_start | ||
if [ $? -eq 0 ]; then | |||
message_touvabien | |||
fi | |||
echo "done." | echo "done." | ||
;; | ;; |
modifications