Ceci marche bien chez moi
Tout est expliqué là :

http://lea-linux.org/pho/read/3/227949/228105/quote


#!/bin/sh 
# firewall v1.0.1 Oct 13 09:48:57 PDT 2003 written by : Kernel
<[EMAIL PROTECTED]> 
# this script is free software according to the GNU General Public
License (see [www.gnu.org]) 
# Start/stop/restart/status firewall: 

firewall_start() { 

echo "[Démarrage du firewall]" 

############################### REGLES PAR DEFAUT
########################### 

echo "[Initialisation de la table filter]" 
iptables -F 
iptables -X 

echo "[Politique par défaut de la table filter]" 

# On ignore tout ce qui entre ou transite par la passerelle 
iptables -P INPUT DROP 
iptables -P FORWARD DROP 

# On accepte, ce qui sort 
iptables -P OUTPUT ACCEPT 

# Pour éviter les mauvaises suprises, on va autoriser l'accès à la
loopback : 
iptables -A INPUT -i lo -j ACCEPT 
iptables -A OUTPUT -o lo -j ACCEPT 

############################### LOCAL-INTERNET
########################### 

echo "[On autorise les clients à accéder à internet]" 

#On créé une nouvelle chaîne, le nom est indifférent 
# appelons-la "local-internet" 
iptables -N local-internet 

# On définit le profil de ceux qui appartiendront à "local-internet" 
# "local-internet" concerne toutes les connections sauf celles venant
d'internet ( ! = non) 
# En gros avec ça, vous rendez, vos serveurs inaccessibles depuis
internet. 
# Pas de panique, certains serveurs seront autorisés explicitement dans
la suite. 
iptables -A local-internet -m state --state NEW -i ! ppp0 -j ACCEPT 

#Evidemment, une fois acceptées comme "local-internet", les connections
peuvent continuer 
# et faire des petits image : content
iptables -A local-internet -m state --state ESTABLISHED,RELATED -j
ACCEPT 

# On termine en indiquant que les connections appartenant à
"local-internet" 
# accèdent à internet de manière transparente. 
iptables -A INPUT -j local-internet 
iptables -A FORWARD -j local-internet 

############################### LES TABLES NAT ET MANGLE
############################# 

echo "[Initialisation des tables nat et mangle]" 

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 

#################################### LE MASQUERADING
######################################## 

# Commentez ces 2 lignes, si vous ne faîtes pas du masquerading (nat) 
echo "[Mise en place du masquerading]" 
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE 

################################# ACTIVATION DE LA PASSERELLE
################## 

echo "[Activation de la passerelle]" 
echo 1 > /proc/sys/net/ipv4/ip_forward 

################################# PAS DE SPOOFING
############################ 

echo "[Pas de spoofing]" 
if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ] ; then 
for filtre in /proc/sys/net/ipv4/conf/*/rp_filter 
do 
echo 1 > $filtre 
done 
fi 

########################## PAS DE SYNFLOOD #################### 

echo "[Pas de synflood]" 
if [ -e /proc/sys/net/ipv4/tcp_syncookies ] ; then 
echo 1 > /proc/sys/net/ipv4/tcp_syncookies 
fi 

################################## PAS DE PING
############################### 

# commentez ces 6 lignes, si vous autorisez les pings sur votre
passerelle 
echo "[Pas ping]" 
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 
if [ -e /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses ] ; then 
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses 
fi 

############# Priorisation de la bande passante et des connections - QoS
############ 
image : rireroll// ça, tu n'en auras pas forcément besoin (d'ailleurs,
ici c'est encore incomplet, la priorisation (QoS) ne fonctionne que pour
les données que j'envoie (upload) mais pas pour le download.)image :
rireroll

echo "[priorisation des connections ssh ...]"; 
iptables -A PREROUTING -t mangle -p tcp --sport 443 -j TOS --set-tos
Minimize-Delay 

echo "[priorisation des connections http ...]"; 
iptables -A PREROUTING -t mangle -p tcp --sport http -j TOS --set-tos
Maximize-throughput 
iptables -A PREROUTING -t mangle -p tcp --sport 3129 -j TOS --set-tos
Maximize-throughput 

echo "[priorisation des connections Diablo 2 ...]"; 
iptables -A PREROUTING -t mangle -p tcp --sport 6112:6119 -j TOS
--set-tos Minimize-Delay 
iptables -A PREROUTING -t mangle -p udp --sport 6112:6119 -j TOS
--set-tos Minimize-Delay 
iptables -A PREROUTING -t mangle -p tcp --sport 4000 -j TOS --set-tos
Minimize-Delay 
iptables -A PREROUTING -t mangle -p udp --sport 4000 -j TOS --set-tos
Minimize-Delay 

# Maximum de débit à Diablo 2 
iptables -A PREROUTING -t mangle -p tcp --sport 6112:6119 -j TOS
--set-tos Maximize-Throughput 
iptables -A PREROUTING -t mangle -p udp --sport 6112:6119 -j TOS
--set-tos Maximize-Throughput 
iptables -A PREROUTING -t mangle -p tcp --sport 4000 -j TOS --set-tos
Maximize-Throughput 
iptables -A PREROUTING -t mangle -p udp --sport 4000 -j TOS --set-tos
Maximize-Throughput 

############################ Fonctionnalités serveurs
##################################### 

echo "[Etude des fonctionalités serveurs, visibles depuis internet]" 

# A ce stade, tous vos clients du réseau local et de la passerelle ont
accès à internet. Mieux, 
# vos clients du réseau local, ont accès à vos serveurs apache,
proftp ... localement. Mais personne 
# depuis internet ne peux accéder à l'un des serveurs que vous
hébergez. 

# Il est bien-sûr possible de dévérrouiller pontuellement l'accès à un
serveur depuis internet, 
# en décommentant les 2 ou 3 lignes correspondantes. 

#echo "[autorisation du serveur ssh(22) ...]" 
#iptables -A INPUT -p tcp --dport ssh -j ACCEPT 

#echo "[autorisation du serveur smtp(25) ...]" 
#iptables -A INPUT -p tcp --dport smtp -j ACCEPT 

echo "[autorisation du serveur http(80) ...]" 
iptables -A INPUT -p tcp --dport www -j ACCEPT 

echo "[autorisation du serveur https(443) ...]" 
iptables -A INPUT -p tcp --dport 443 -j ACCEPT 

#echo "[autorisation du serveur DNS(53) ...]" 
#iptables -A INPUT -p udp --dport domain -j ACCEPT 
#iptables -A INPUT -p tcp --dport domain -j ACCEPT 

#echo "[autorisation du serveur irc(6667) ...]" 
#iptables -A INPUT -p tcp --dport ircd -j ACCEPT 

#echo "[autorisation du serveur cvs (2401) ...]" 
#iptables -A INPUT -p tcp --dport cvspserver -j ACCEPT 

#echo "[autorisation du serveur FTP(21 et 20) ...]" 
#iptables -A INPUT -p tcp --dport ftp -j ACCEPT 
#iptables -A INPUT -p tcp --dport ftp-data -j ACCEPT 

# Ne pas décommenter les 3 lignes qui suivent. 
# Plus généralement : 
#echo "[autorisation du serveur Mon_truc(10584) ...]" 
#iptables -A INPUT -p tcp --dport 10584 -j ACCEPT 

# Ports visibles depuis l'extérieur pour Freenet : 
echo "[autorisation du serveur Freenet (23050/tcp) ...]" 
iptables -A INPUT -p tcp --dport 23050 -j ACCEPT 

echo "[autorisation du serveur aMule (4662/tcp) ...]" 
iptables -A INPUT -p tcp --dport 4662 -j ACCEPT 

echo "[autorisation du serveur BitTorrent (6881-6889/tcp) ...]" 
iptables -A INPUT -p tcp --dport 6881:6889 -j ACCEPT 

echo "[firewall activé !]" 
} 

firewall_stop() { 


iptables -F 
iptables -X 
iptables -P INPUT ACCEPT 
iptables -P FORWARD ACCEPT 
iptables -P OUTPUT ACCEPT 

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 

echo " [firewall descativé!]" 
} 

firewall_restart() { 
firewall_stop 
sleep 2 
firewall_start 
} 

case "$1" in 
'start') 
firewall_start 
;; 
'stop') 
firewall_stop 
;; 
'restart') 
firewall_restart 
;; 
'status') 
iptables -L 
iptables -t nat -L 
iptables -t mangle -L 
;; 
*) 
echo "Usage: firewall {start|stop|restart|status}" 
esac


Le mercredi 28 février 2007 à 18:30 +0100, Jean-Yves F. Barbier a
écrit :

> Le mercredi 28 février 2007 17:57, mess-mate a écrit :
> > Bonjour,
> > le firewall de mon routeur(debian) est le 'arno-iptables-firewall'
> > qui jusqu'à présent donnait pleine satisfaction.
> >
> > Ayant maintenant installé un dmz, celui-ci n'a pas l'air d'être à la
> > page ou c'est moi qui n'arrive pas à le configurer à ce niveau.
> >
> > Quoi qu'il en soit j'adopterais volontiers pour un autre firewall
> > pas trop compliqué (disons facile) car il faut qu'il marche au plus
> > vite afin de remettre mes pages sur le net.
> > De préférence un firewall en mode console.
> > Que me conseillez-vous ?
> > cordialement
> > mess-mate
> 
> shorewall (pas mal de HOWTOs, même en fr sur le net)
> 
> 

Répondre à