Malgré avoir lu en détail la page man et l'article de léa linux, je n'ai
pas réussi à configurer correctement mes iptables, je n'ai pas de page
qui s'affiche dans mon navigateur :-(
Pourriez-vous m'aider à comprendre ce qui ne va pas dans ce script ?
sachant que mon PC est connecté au net par ppp0 et qu'un autre PC est
connecté au mien par eth0 ...
J'utilise une Mandrake 9.2 avec noyau 2.4.22 et iptables 1.2.8
#!/bin/sh
#
# Script de démarrage du firewall
echo 1 > /proc/sys/net/ipv4/ip_forward
# Bloquer le 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
# Bloquer ICMP
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Chargement des modules
modprobe ip_tables
modprobe iptable_filter
modprobe iptable_nat
modprobe ip_nat_ftp
modprobe ip_nat_irc
# Nettoyage des règles
iptables --flush
iptables --delete-chain
# Gestion des logs
iptables --new-chain LOG_DROP
iptables --append LOG_DROP --jump LOG --log-prefix '[IPTABLES DROP] : '
iptables --append LOG_DROP --jump DROP
iptables --new-chain LOG_ACCEPT
iptables --append LOG_ACCEPT --jump LOG --log-prefix '[IPTABLES ACCEPT] :
' iptables --append LOG_ACCEPT --jump ACCEPT
# Cible par défaut (rejet)
iptables --policy INPUT DROP
iptables --policy OUTPUT DROP
iptables --policy FORWARD DROP
# Autoriser la boucle locale
iptables --append INPUT --in-interface lo --jump ACCEPT
iptables --append OUTPUT --out-interface lo --jump ACCEPT
# Connexion internet
iptables --append INPUT --in-interface ppp0 --match state
--state ESTABLISHED --protocol tcp --source-port 80 --jump ACCEPT
iptables --append OUTPUT --out-interface ppp0 --match state
--state NEW,ESTABLISHED --protocol tcp --source-port 80 --jump ACCEPT
# Accepter le forwarding
iptables --append FORWARD --in-interface ppp0 --out-interface eth0
--destination 192.168.13.2
--protocol tcp --source-port 80 --match state --state NEW,ESTABLISHED
--jump ACCEPT
iptables --append FORWARD --in-interface eth0 --out-interface ppp0
--source 192.168.13.2
--protocol tcp --source-port 80 --match state --state ESTABLISHED
--jump ACCEPT
# Masquerading
iptables --table nat --append POSTROUTING --source 192.168.13.0/24
--jump MASQUERADE
# Le reste ...
iptables --append INPUT --jump LOG_DROP
iptables --append OUTPUT --jump LOG_DROP
iptables --append FORWARD --jump LOG_DROP
Merci d'avance pour votre aide.
Malgré avoir lu en détail la page man et l'article de léa linux, je n'ai
pas réussi à configurer correctement mes iptables, je n'ai pas de page
qui s'affiche dans mon navigateur :-(
Pourriez-vous m'aider à comprendre ce qui ne va pas dans ce script ?
sachant que mon PC est connecté au net par ppp0 et qu'un autre PC est
connecté au mien par eth0 ...
J'utilise une Mandrake 9.2 avec noyau 2.4.22 et iptables 1.2.8
#!/bin/sh
#
# Script de démarrage du firewall
echo 1 > /proc/sys/net/ipv4/ip_forward
# Bloquer le 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
# Bloquer ICMP
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Chargement des modules
modprobe ip_tables
modprobe iptable_filter
modprobe iptable_nat
modprobe ip_nat_ftp
modprobe ip_nat_irc
# Nettoyage des règles
iptables --flush
iptables --delete-chain
# Gestion des logs
iptables --new-chain LOG_DROP
iptables --append LOG_DROP --jump LOG --log-prefix '[IPTABLES DROP] : '
iptables --append LOG_DROP --jump DROP
iptables --new-chain LOG_ACCEPT
iptables --append LOG_ACCEPT --jump LOG --log-prefix '[IPTABLES ACCEPT] :
' iptables --append LOG_ACCEPT --jump ACCEPT
# Cible par défaut (rejet)
iptables --policy INPUT DROP
iptables --policy OUTPUT DROP
iptables --policy FORWARD DROP
# Autoriser la boucle locale
iptables --append INPUT --in-interface lo --jump ACCEPT
iptables --append OUTPUT --out-interface lo --jump ACCEPT
# Connexion internet
iptables --append INPUT --in-interface ppp0 --match state
--state ESTABLISHED --protocol tcp --source-port 80 --jump ACCEPT
iptables --append OUTPUT --out-interface ppp0 --match state
--state NEW,ESTABLISHED --protocol tcp --source-port 80 --jump ACCEPT
# Accepter le forwarding
iptables --append FORWARD --in-interface ppp0 --out-interface eth0
--destination 192.168.13.2
--protocol tcp --source-port 80 --match state --state NEW,ESTABLISHED
--jump ACCEPT
iptables --append FORWARD --in-interface eth0 --out-interface ppp0
--source 192.168.13.2
--protocol tcp --source-port 80 --match state --state ESTABLISHED
--jump ACCEPT
# Masquerading
iptables --table nat --append POSTROUTING --source 192.168.13.0/24
--jump MASQUERADE
# Le reste ...
iptables --append INPUT --jump LOG_DROP
iptables --append OUTPUT --jump LOG_DROP
iptables --append FORWARD --jump LOG_DROP
Merci d'avance pour votre aide.
Malgré avoir lu en détail la page man et l'article de léa linux, je n'ai
pas réussi à configurer correctement mes iptables, je n'ai pas de page
qui s'affiche dans mon navigateur :-(
Pourriez-vous m'aider à comprendre ce qui ne va pas dans ce script ?
sachant que mon PC est connecté au net par ppp0 et qu'un autre PC est
connecté au mien par eth0 ...
J'utilise une Mandrake 9.2 avec noyau 2.4.22 et iptables 1.2.8
#!/bin/sh
#
# Script de démarrage du firewall
echo 1 > /proc/sys/net/ipv4/ip_forward
# Bloquer le 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
# Bloquer ICMP
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Chargement des modules
modprobe ip_tables
modprobe iptable_filter
modprobe iptable_nat
modprobe ip_nat_ftp
modprobe ip_nat_irc
# Nettoyage des règles
iptables --flush
iptables --delete-chain
# Gestion des logs
iptables --new-chain LOG_DROP
iptables --append LOG_DROP --jump LOG --log-prefix '[IPTABLES DROP] : '
iptables --append LOG_DROP --jump DROP
iptables --new-chain LOG_ACCEPT
iptables --append LOG_ACCEPT --jump LOG --log-prefix '[IPTABLES ACCEPT] :
' iptables --append LOG_ACCEPT --jump ACCEPT
# Cible par défaut (rejet)
iptables --policy INPUT DROP
iptables --policy OUTPUT DROP
iptables --policy FORWARD DROP
# Autoriser la boucle locale
iptables --append INPUT --in-interface lo --jump ACCEPT
iptables --append OUTPUT --out-interface lo --jump ACCEPT
# Connexion internet
iptables --append INPUT --in-interface ppp0 --match state
--state ESTABLISHED --protocol tcp --source-port 80 --jump ACCEPT
iptables --append OUTPUT --out-interface ppp0 --match state
--state NEW,ESTABLISHED --protocol tcp --source-port 80 --jump ACCEPT
# Accepter le forwarding
iptables --append FORWARD --in-interface ppp0 --out-interface eth0
--destination 192.168.13.2
--protocol tcp --source-port 80 --match state --state NEW,ESTABLISHED
--jump ACCEPT
iptables --append FORWARD --in-interface eth0 --out-interface ppp0
--source 192.168.13.2
--protocol tcp --source-port 80 --match state --state ESTABLISHED
--jump ACCEPT
# Masquerading
iptables --table nat --append POSTROUTING --source 192.168.13.0/24
--jump MASQUERADE
# Le reste ...
iptables --append INPUT --jump LOG_DROP
iptables --append OUTPUT --jump LOG_DROP
iptables --append FORWARD --jump LOG_DROP
Merci d'avance pour votre aide.
Merci beaucoup,
je comprends mieux mes erreurs (et celles présentes sur lea-linux).
ICMP, qu'est-ce ?
Parce que si je comprends bien, dans votre
script, on le bloque au début (comme de le mien),
puis on l'autorise à la fin.
Ou peut-être y a-t-il une nuance ...
Encore merci ;-)
Merci beaucoup,
je comprends mieux mes erreurs (et celles présentes sur lea-linux).
ICMP, qu'est-ce ?
Parce que si je comprends bien, dans votre
script, on le bloque au début (comme de le mien),
puis on l'autorise à la fin.
Ou peut-être y a-t-il une nuance ...
Encore merci ;-)
Merci beaucoup,
je comprends mieux mes erreurs (et celles présentes sur lea-linux).
ICMP, qu'est-ce ?
Parce que si je comprends bien, dans votre
script, on le bloque au début (comme de le mien),
puis on l'autorise à la fin.
Ou peut-être y a-t-il une nuance ...
Encore merci ;-)
J'ai remplacé OUTPUT par FORWARD à la 4ème ligne dans ceci :
# Trafic établi et suivi
iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED
-j ACCEPT
iptables -A OUTPUT -o ppp0 -m state --state ESTABLISHED,RELATED
-j ACCEPT
iptables -A FORWARD -i ppp0 -o eth0
-m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o ppp0 -i eth0
-m state --state ESTABLISHED,RELATED -j ACCEPT
Je pense qu'il y avait une erreur.
Cela marche bien pour ma machine principale, mais il y a encore quelques
petits soucis.
Le 2° PC connecté au 1° n'accède pas à internet. Le navigateur cherche
la page puis dis que le délai est dépassé. Pourtant, le 2° à l'IP du 1°
comme GATEWAY ...
J'ai voulu ouvrir le port 1863 (MSN), le serveur synchronise, mais ça
bloque au moment de l'envoi du mot de passe sous gaim ...
Savez-vous s'il y a un moyen de savoir ce que traffique un programme
lorsqu'il essaye de se connecter à quelquechose ?
Auriez-vous des idées pour mes problèmes ?
J'ai relu et relu le script et il me semble nickel pour que mon deuxième
PC puisse se connecter à internet via MASQUERADE ...
J'ai remplacé OUTPUT par FORWARD à la 4ème ligne dans ceci :
# Trafic établi et suivi
iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED
-j ACCEPT
iptables -A OUTPUT -o ppp0 -m state --state ESTABLISHED,RELATED
-j ACCEPT
iptables -A FORWARD -i ppp0 -o eth0
-m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o ppp0 -i eth0
-m state --state ESTABLISHED,RELATED -j ACCEPT
Je pense qu'il y avait une erreur.
Cela marche bien pour ma machine principale, mais il y a encore quelques
petits soucis.
Le 2° PC connecté au 1° n'accède pas à internet. Le navigateur cherche
la page puis dis que le délai est dépassé. Pourtant, le 2° à l'IP du 1°
comme GATEWAY ...
J'ai voulu ouvrir le port 1863 (MSN), le serveur synchronise, mais ça
bloque au moment de l'envoi du mot de passe sous gaim ...
Savez-vous s'il y a un moyen de savoir ce que traffique un programme
lorsqu'il essaye de se connecter à quelquechose ?
Auriez-vous des idées pour mes problèmes ?
J'ai relu et relu le script et il me semble nickel pour que mon deuxième
PC puisse se connecter à internet via MASQUERADE ...
J'ai remplacé OUTPUT par FORWARD à la 4ème ligne dans ceci :
# Trafic établi et suivi
iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED
-j ACCEPT
iptables -A OUTPUT -o ppp0 -m state --state ESTABLISHED,RELATED
-j ACCEPT
iptables -A FORWARD -i ppp0 -o eth0
-m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o ppp0 -i eth0
-m state --state ESTABLISHED,RELATED -j ACCEPT
Je pense qu'il y avait une erreur.
Cela marche bien pour ma machine principale, mais il y a encore quelques
petits soucis.
Le 2° PC connecté au 1° n'accède pas à internet. Le navigateur cherche
la page puis dis que le délai est dépassé. Pourtant, le 2° à l'IP du 1°
comme GATEWAY ...
J'ai voulu ouvrir le port 1863 (MSN), le serveur synchronise, mais ça
bloque au moment de l'envoi du mot de passe sous gaim ...
Savez-vous s'il y a un moyen de savoir ce que traffique un programme
lorsqu'il essaye de se connecter à quelquechose ?
Auriez-vous des idées pour mes problèmes ?
J'ai relu et relu le script et il me semble nickel pour que mon deuxième
PC puisse se connecter à internet via MASQUERADE ...
;-) ;-) ;-)
Je suis tout à fait d'accord pour le FORWARD, c'est vous qui aviez fait
une petite erreur de syntaxe dans votre première réponse.
Rien de grave.
J'ai fais la modif pour le MASQUERADE, et magie, ça marche superbement
bien.
Voici les règles que j'ai mise pour MSN :
iptables -A INPUT -i ppp0 -p tcp --sport 1863 -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport 1863 -j ACCEPT
J'accepte les entrées/sorties sur le port 1863 qu'utilise les serveurs
de Hotmail Messenger. Mais la connexion de mon client gaim se bloque à
l'envoie du mot de passe ... Voyez vous le problème ?
Je vais essayer de
fouiner sur Google, et sinon, je retirerais la règle iptables -A OUTPUT
-j LOG_DROP, et mettrais ma OUTPUT policy à ACCEPT.
Je voyais iptables, ses tables, ses règles et le masquerading comme des
monstres tout droit sortis des comptes que l'on lit au petit
administrateur avant qu'ils s'endorment. Mais grâce à vous, je commence
à bien comprendre leur utilité, et je vais continuer mes recherches
là-dessus pour un jour, pouvoir me faire un petit serveur qui protègera
mes 2 PC.
Merci pour l'attention que vous avez apporté à mon problème :-)
;-) ;-) ;-)
Je suis tout à fait d'accord pour le FORWARD, c'est vous qui aviez fait
une petite erreur de syntaxe dans votre première réponse.
Rien de grave.
J'ai fais la modif pour le MASQUERADE, et magie, ça marche superbement
bien.
Voici les règles que j'ai mise pour MSN :
iptables -A INPUT -i ppp0 -p tcp --sport 1863 -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport 1863 -j ACCEPT
J'accepte les entrées/sorties sur le port 1863 qu'utilise les serveurs
de Hotmail Messenger. Mais la connexion de mon client gaim se bloque à
l'envoie du mot de passe ... Voyez vous le problème ?
Je vais essayer de
fouiner sur Google, et sinon, je retirerais la règle iptables -A OUTPUT
-j LOG_DROP, et mettrais ma OUTPUT policy à ACCEPT.
Je voyais iptables, ses tables, ses règles et le masquerading comme des
monstres tout droit sortis des comptes que l'on lit au petit
administrateur avant qu'ils s'endorment. Mais grâce à vous, je commence
à bien comprendre leur utilité, et je vais continuer mes recherches
là-dessus pour un jour, pouvoir me faire un petit serveur qui protègera
mes 2 PC.
Merci pour l'attention que vous avez apporté à mon problème :-)
;-) ;-) ;-)
Je suis tout à fait d'accord pour le FORWARD, c'est vous qui aviez fait
une petite erreur de syntaxe dans votre première réponse.
Rien de grave.
J'ai fais la modif pour le MASQUERADE, et magie, ça marche superbement
bien.
Voici les règles que j'ai mise pour MSN :
iptables -A INPUT -i ppp0 -p tcp --sport 1863 -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport 1863 -j ACCEPT
J'accepte les entrées/sorties sur le port 1863 qu'utilise les serveurs
de Hotmail Messenger. Mais la connexion de mon client gaim se bloque à
l'envoie du mot de passe ... Voyez vous le problème ?
Je vais essayer de
fouiner sur Google, et sinon, je retirerais la règle iptables -A OUTPUT
-j LOG_DROP, et mettrais ma OUTPUT policy à ACCEPT.
Je voyais iptables, ses tables, ses règles et le masquerading comme des
monstres tout droit sortis des comptes que l'on lit au petit
administrateur avant qu'ils s'endorment. Mais grâce à vous, je commence
à bien comprendre leur utilité, et je vais continuer mes recherches
là-dessus pour un jour, pouvoir me faire un petit serveur qui protègera
mes 2 PC.
Merci pour l'attention que vous avez apporté à mon problème :-)