Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[HOWTO IPTABLES] Un petit script pour dire merci [13/01/05]
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
jpopcenter
n00b
n00b


Joined: 12 Jan 2005
Posts: 18

PostPosted: Wed Jan 12, 2005 3:14 pm    Post subject: [HOWTO IPTABLES] Un petit script pour dire merci [13/01/05] Reply with quote

Bonjour tout le monde,

Celà fait des siècles que je n'arrête pas de traverser le web dans tous les sens afin de trouver tel ou tel information sur tel ou tel problème et je doit dire qu'aujourd'hui c'est grâce à toi, posteur fou, habitué des forums, spécialiste du tutorial, webmaster hacker ou tout simplement blogueur à temps partiel que je suis devenu en (grande ?) partie le mec qu'on appelle au moindre problème informatique dans mon entourage (voire sur l'irc).
Ajourd'hui, je me rends compte que le temps est venu de vraiment apporter une aide "écrite" et stockable pour toi qui sera peut-être en galère demain.

Après cette longue introduction, passons aux choses sérieuses à savoir l'écriture d'une configuration de firewall (iptables).
Le but de ce script est avant tout éducatif et c'est pour celà que j'ai retenu les critères suivant avant de l'écrire :
    -> report en en-tête d'une partie du manpage iptable
    -> utilisation d'un mode de debug/logging des règles
    -> utilisation des options en mode "complet" (c'est-à-dire --append et non pas -a) pour une meilleur lisibilité

N'hésitez SURTOUT pas à m'aider à l'améliorer et merci encore...

Code:

#!/bin/sh

################################################################################
# QUELQUES EXPLICATIONS
#
# La commande iptables en quelques lignes :
#   *  iptables [-t table] -[AD] chaîne règle [options]
#   *  iptables [-t table] -I chaîne [numéro-de-règle] règle [options]
#   *  iptables [-t table] -R chaîne numéro-de-règle règle [options]
#   *  iptables [-t table] -D chaîne numéro-de-règle [options]
#   *  iptables [-t table] -[LFZ] [chaîne] [options]
#   *  iptables [-t table] -N chaîne
#   *  iptables [-t table] -X [chaîne]
#   *  iptables [-t table] -P chaîne cible [options]
#   *  iptables [-t table] -E ancien-nom-de-chaîne nouveau-nom-de-chaîne
#
# Les tables :
# [filter] ==> c'est la table par défaut.
# ---> INPUT   : pour modifier les paquets entrants dans la machine
# ---> FORWARD : pour modifier les paquets routés à travers la machine
# ---> OUTPUT  : pour modifier les paquets générés localement
#
# [nat] ==> Cette table est consultée lorsqu'on rencontre un paquet qui crée
#           une nouvelle connexion.
# ---> PREROUTING  : pour modifier les paquets dès qu'ils rentrent
# ---> OUTPUT      : pour modifier les paquets générés localement (avant routage)
# ---> POSTROUTING : pour modifier les paquets sur le point de sortir
#
# [mangle] ==> Cette table est employée pour effectuer une modification
#              spéciale des paquets.
# ---> INPUT       : pour modifier les paquets entrants destinés à la machine
# ---> PREROUTING  : pour modifier les paquets entrants (avant routage)
# ---> FORWARD     : pour modifier les paquets routés à travers la machine
# ---> OUTPUT      : pour modifier les paquets générés localement (avant routage)
# ---> POSTROUTING : pour modifier les paquets sur le point de sortir
#
################################################################################

################################################################################
# DEBUGGING
################################################################################
DEBUG="true"
if [ $DEBUG = "true" ]; then
  DEBUG_LOOPBACK="true"
  DEBUG_LAN1="true"
  DEBUG_LAN2="true"
else
  DEBUG_MASQUERADE="false"
  DEBUG_LOOPBACK="false"
  DEBUG_LAN1="false"
  DEBUG_LAN2="false"
fi

################################################################################
# VARIABLES
#
# Il s'agit ici de mettre les paramètres concernant les différents réseaux
# Le but de cette configuration est de configurer le firewall du { ROUTEUR BOX }.
# Il s'agit d'un machine faisant partie de plusieurs réseaux différent, notemment
# un réseau public (internet par exemple) et un ou plusieurs réseaux locaux (lan1,
# et lan2 par exemple)
# La présence des deux réseaux locaux (assez rare en configuration de type "home")
# est présentée seulement pour montrer que la présence d'internet dans la
# configuration ne change rien au principe de configuration du firewall
#
#
#
#                      OUT_IP
#                      OUT_INTERFACE
#                      |
#                      |
#    ________          |
#  /          \        |
# (  INTERNET  ) : : : o { ROUTEUR BOX }
#  \ ________ /          o       o----------- IN1_IP / IN1_INTERFACE
#                       /¨       ¨
#                      / ¨       ¨
#                     /  ¨     (lan1) <------------- NETWORK1_IP / NETWORK1_MASK / NETWORK1_BITMASK
#                    /   ¨       ¨
# IN2_IP / IN2_INTERFACE ¨       ¨          +------- M1_1_IP / M1_1_INTERFACE
#                        ¨       ¨          |
#                        ¨       ¨          |
#                        ¨       ¨: : : : : o { MACHINE 1_1 }
#                        ¨       ¨
#                        ¨       ¨
#                        ¨       ¨: : : : : o { MACHINE 1_2 }
#                        ¨                  |
#                        ¨                  +------- M1_2_IP / M1_2_INTERFACE
#                        ¨
#                        ¨
#                        ¨
#                      (lan2) <------------- NETWORK2_IP / NETWORK2_MASK / NETWORK2_BITMASK
#                        ¨
#                        ¨              +------- M1_1_IP / M1_1_INTERFACE
#                        ¨              |
#                        ¨              |
#                        ¨: : : : : : : o { MACHINE 2_1 }
#                        ¨
#                        ¨
#                        ¨: : : : : : : o { MACHINE 2_1 }
#                                       |
#                                       +------- M1_1_IP / M1_1_INTERFACE
#
################################################################################
# configuration du réseau local (LAN1)
NETWORK1_IP=192.168.1.0             # Adresse "réseau" du réseau local (LAN1)
NETWORK1_NETMASK=255.255.255.0      # Netmask du réseau local (LAN1)
NETWORK1_BITMASK=24                 # Bitmask du réseau local (LAN1)

# configuration du réseau local (LAN2)
NETWORK2_IP=192.168.2.0             # Adresse "réseau" du réseau local (LAN2)
NETWORK2_NETMASK=255.255.255.0      # Netmask du réseau local (LAN2)
NETWORK2_BITMASK=24                 # Bitmask du réseau local (LAN2)

# configuration du { ROUTEUR BOX }
IN1_IP=192.168.1.1            # Adresse IP du { ROUTEUR BOX } "côté" lan1
IN1_INTERFACE=eth1            # Interface du { ROUTEUR BOX } "côté" lan1

IN2_IP=192.168.2.1            # Adresse IP du { ROUTEUR BOX } "côté" lan2
IN2_INTERFACE=eth2            # Interface du { ROUTEUR BOX } "côté" lan2

OUT_IP=XXX.XXX.XXX.XXX        # Adresse IP du { ROUTEUR BOX } "côté" internet
OUT_INTERFACE=eth0            # Interface du { ROUTEUR BOX } "côté" internet

###
# N.B.
# Ici, j'utilise eth0 car je suis connecté directement à internet via ma
# carte réseau. Néanmois dans le cas d'une configuration adsl avec connection
# pppoe, je pense que c'est ppp0 qui est utilisé. A vérifier sur votre
# configuration à l'aide de /sbin/ifconfig
###

################################################################################
# DESACTIVATION DU FORARDING IP
################################################################################
echo 0 > /proc/sys/net/ipv4/ip_forward

################################################################################
# INITIALISATION DES TABLES
#
# Il s'agit de vider puis effacer toutes les chaînes
# des tables filter/nat/mangle
#
# TODO
# Vider de l'espace kernel les modules chargés enpechant parfois la
# réinitialisation des tables...
################################################################################
iptables --table filter --flush
iptables --table filter --delete-chain

iptables --table mangle --flush
iptables --table mangle --delete-chain

iptables --table nat --flush
iptables --table nat --delete-chain

################################################################################
# INITIALISATION DES LOGGERS
#
# Pour créer un logger, on fait les choses suivantes :
# - On commence par créer une nouvelle chaîne pour la table ciblée.
# - On vide la chaîne fraîchement créée.
# - On loggue dans un premier temps le paquet (via --jump LOG)
# - On le traite comme il se doit par la ensuite
#
# C'est ainsi que la chaîne DEBUG_FILTER_DROP (resp. DEBUG_FILTER_ACCEPT) se
# comporte comme la chaîne DROP (resp. ACCEPT) mais avec une phase pré-phase
# de logging.
################################################################################
FILTER_DROP="DROP"
FILTER_ACCEPT="ACCEPT"

NAT_DROP="DROP"
NAT_ACCEPT="ACCEPT"
NAT_MASQUERADE="MASQUERADE"

MANGLE_DROP="DROP"
MANGLE_ACCEPT="ACCEPT"

if [ $DEBUG = "true" ]; then
  iptables --table filter --new-chain DEBUG_FILTER_DROP
  iptables --table filter --flush DEBUG_FILTER_DROP
  iptables --table filter --append DEBUG_FILTER_DROP --jump LOG --log-prefix '[debug] FILTER DROP : '
  iptables --table filter --append DEBUG_FILTER_DROP --jump DROP
  FILTER_DROP="DEBUG_FILTER_DROP"
  iptables --table filter --new-chain DEBUG_FILTER_ACCEPT
  iptables --table filter --flush DEBUG_FILTER_ACCEPT
  iptables --table filter --append DEBUG_FILTER_ACCEPT --jump LOG --log-prefix '[debug] FILTER ACCEPT : '
  iptables --table filter --append DEBUG_FILTER_ACCEPT --jump ACCEPT
  FILTER_ACCEPT="DEBUG_FILTER_ACCEPT"

  iptables --table nat --new-chain DEBUG_NAT_DROP
  iptables --table nat --flush DEBUG_NAT_DROP
  iptables --table nat --append DEBUG_NAT_DROP --jump LOG --log-prefix '[debug] NAT DROP : '
  iptables --table nat --append DEBUG_NAT_DROP --jump DROP
  NAT_DROP="DEBUG_NAT_DROP"
  iptables --table nat --new-chain DEBUG_NAT_ACCEPT
  iptables --table nat --flush DEBUG_NAT_ACCEPT
  iptables --table nat --append DEBUG_NAT_ACCEPT --jump LOG --log-prefix '[debug] NAT ACCEPT : '
  iptables --table nat --append DEBUG_NAT_ACCEPT --jump ACCEPT
  NAT_MASQUERADE="DEBUG_NAT_MASQUERADE"
  iptables --table nat --new-chain DEBUG_NAT_MASQUERADE
  iptables --table nat --flush DEBUG_NAT_MASQUERADE
  iptables --table nat --append DEBUG_NAT_MASQUERADE --jump LOG --log-prefix '[debug] NAT MASQUERADE : '
  iptables --table nat --append DEBUG_NAT_MASQUERADE --jump MASQUERADE
  NAT_MASQUERADE="DEBUG_NAT_MASQUERADE"

  iptables --table mangle --new-chain DEBUG_MANGLE_DROP
  iptables --table mangle --flush DEBUG_MANGLE_DROP
  iptables --table mangle --append DEBUG_MANGLE_DROP --jump LOG --log-prefix '[debug] MANGLE DROP : '
  iptables --table mangle --append DEBUG_MANGLE_DROP --jump DROP
  MANGLE_DROP="DEBUG_MANGLE_DROP"
  iptables --table mangle --new-chain DEBUG_MANGLE_ACCEPT
  iptables --table mangle --flush DEBUG_MANGLE_ACCEPT
  iptables --table mangle --append DEBUG_MANGLE_ACCEPT --jump LOG --log-prefix '[debug] MANGLE ACCEPT : '
  iptables --table mangle --append DEBUG_MANGLE_ACCEPT --jump ACCEPT
  MANGLE_ACCEPT="DEBUG_MANGLE_ACCEPT"
fi

################################################################################
# POLITIQUE DE SECURITE PAR DEFAUT
#
# --> On rejette tout les paquets par défaut dans la table [filter]
# --> On accepte les autres paquets circulant "en interne" [nat/mangle]
################################################################################
iptables --table filter --policy INPUT DROP
iptables --table filter --policy OUTPUT DROP
iptables --table filter --policy FORWARD DROP

iptables --table nat --policy PREROUTING ACCEPT
iptables --table nat --policy POSTROUTING ACCEPT

iptables --table mangle --policy PREROUTING ACCEPT
iptables --table mangle --policy POSTROUTING ACCEPT
iptables --table mangle --policy OUTPUT ACCEPT

################################################################################
# POLITIQUE DE SECURITE SUR LE LOOPBACK
################################################################################
LOOPBACK_DROP="$FILTER_DROP"
LOOPBACK_ACCEPT="$FILTER_ACCEPT"

if [ $DEBUG_LOOPBACK = "true" ]; then
  iptables --table filter --new-chain DEBUG_LOOPBACK_DROP
  iptables --table filter --flush DEBUG_LOOPBACK_DROP
  iptables --table filter --append DEBUG_LOOPBACK_DROP --jump LOG --log-prefix '[debug] LOOPBACK DROP : '
  iptables --table filter --append DEBUG_LOOPBACK_DROP --jump DROP
  LOOPBACK_DROP="DEBUG_LOOPBACK_DROP"
  iptables --table filter --new-chain DEBUG_LOOPBACK_ACCEPT
  iptables --table filter --flush DEBUG_LOOPBACK_ACCEPT
  iptables --table filter --append DEBUG_LOOPBACK_ACCEPT --jump LOG --log-prefix '[debug] LOOPBACK ACCEPT : '
  iptables --table filter --append DEBUG_LOOPBACK_ACCEPT --jump ACCEPT
  LOOPBACK_ACCEPT="DEBUG_LOOPBACK_ACCEPT"
fi

iptables --table filter --append INPUT --in-interface lo $LOOPBACK_ACCEPT
iptables --table filter --append OUTPUT --out-interface lo $LOOPBACK_ACCEPT
iptables --table filter --append FORWARD --in-interface lo $LOOPBACK_ACCEPT
iptables --table filter --append FORWARD --out-interface lo $LOOPBACK_ACCEPT

################################################################################
# POLITIQUE DE SECURITE SUR LE RESEAU LOCAL (LAN1)
################################################################################
LAN1_DROP="$FILTER_DROP"
LAN1_ACCEPT="$FILTER_ACCEPT"

if [ $DEBUG_LAN1 = "true" ]; then
  iptables --table filter --new-chain DEBUG_LAN1_DROP
  iptables --table filter --flush DEBUG_LAN1_DROP
  iptables --table filter --append DEBUG_LAN1_DROP --jump LOG --log-prefix '[debug] LAN1 DROP : '
  iptables --table filter --append DEBUG_LAN1_DROP --jump DROP
  LAN1_DROP="DEBUG_LAN1_DROP"
  iptables --table filter --new-chain DEBUG_LAN1_ACCEPT
  iptables --table filter --flush DEBUG_LAN1_ACCEPT
  iptables --table filter --append DEBUG_LAN1_ACCEPT --jump LOG --log-prefix '[debug] LAN1 ACCEPT : '
  iptables --table filter --append DEBUG_LAN1_ACCEPT --jump ACCEPT
  LAN1_ACCEPT="DEBUG_LAN1_ACCEPT"
fi

iptables --table filter --append INPUT --in-interface $IN1_INTERFACE --jump $LAN1_ACCEPT
iptables --table filter --append OUTPUT --out-interface $IN1_INTERFACE --jump $LAN1_ACCEPT
iptables --table filter --append FORWARD --in-interface $IN1_INTERFACE --jump $LAN1_ACCEPT
iptables --table filter --append FORWARD --out-interface $IN1_INTERFACE --jump $LAN1_ACCEPT

################################################################################
# POLITIQUE DE SECURITE SUR LE RESEAU LOCAL (LAN2)
################################################################################
LAN2_DROP="$FILTER_DROP"
LAN2_ACCEPT="$FILTER_ACCEPT"

if [ $DEBUG_LAN2 = "true" ]; then
  iptables --table filter --new-chain DEBUG_LAN2_DROP
  iptables --table filter --flush DEBUG_LAN2_DROP
  iptables --table filter --append DEBUG_LAN2_DROP --jump LOG --log-prefix '[debug] LAN2 DROP : '
  iptables --table filter --append DEBUG_LAN2_DROP --jump DROP
  LAN2_DROP="DEBUG_LAN2_DROP"
  iptables --table filter --new-chain DEBUG_LAN2_ACCEPT
  iptables --table filter --flush DEBUG_LAN2_ACCEPT
  iptables --table filter --append DEBUG_LAN2_ACCEPT --jump LOG --log-prefix '[debug] LAN2 ACCEPT : '
  iptables --table filter --append DEBUG_LAN2_ACCEPT --jump ACCEPT
  LAN2_ACCEPT="DEBUG_LAN2_ACCEPT"
fi

iptables --table filter --append INPUT --in-interface $IN2_INTERFACE --jump $LAN2_ACCEPT
iptables --table filter --append OUTPUT --out-interface $IN2_INTERFACE --jump $LAN2_ACCEPT
iptables --table filter --append FORWARD --in-interface $IN2_INTERFACE --jump $LAN2_ACCEPT
iptables --table filter --append FORWARD --out-interface $IN2_INTERFACE --jump $LAN2_ACCEPT

################################################################################
# REGLES PERSONALISEES
################################################################################
iptables --table filter --append INPUT --in-interface $OUT_INTERFACE -m state --state NEW,INVALID --jump $FILTER_DROP
iptables --table filter --append INPUT --in-interface $OUT_INTERFACE -m state --state ESTABLISHED,RELATED --jump $FILTER_DROP
iptables --table filter --append OUTPUT --out-interface $OUT_INTERFACE -m state --state NEW,ESTABLISHED,RELATED --jump $FILTER_DROP

################################################################################
# PARTAGE DE LA CONNECTION [masquage des machines locales derrière le firewall]
################################################################################
iptables --table nat --append POSTROUTING -o $OUT_INTERFACE --jump $NAT_MASQUERADE

################################################################################
# REACTIVATION DU FORARDING IP
################################################################################
echo 1 > /proc/sys/net/ipv4/ip_forward


P.S. pour les loggers
Vous vous demandez peut-être porquoi j'ai mis tant de loggers et bien s'est parce que j'ai un ordinateur sous XP en local et que je ne sais pas trop ce qu'il fout parfois d'où la présence de multiple logger afin de vérifier ce qu'il se passer exactement à un endroit précis des reglès.

CHANGELOG
---------------
13/01/2005 :
--> corrections de "bugs"
--> quelques annotations pour une meilleur compréhension
12/01/2005
--> initialisation du script

TODO
-------
--> finir la configuration pour un accès à internet
--> quelques explications & règles pour divers clients (irc, ftp, p2p, etc...)
--> explications sur le port fowarding (hebrgement d'un serveur sur le reseau local accessible depuis l'extérieur)
--> génération du script via un outils (peut-être XML)
--> meilleure prise en compte des loggeurs (notement au niveau de la lisibilité du script)
--> Implémentation de la vidange des modules (via rmmod) chargés dans le noyau lors de l'initialisation des tables


Last edited by jpopcenter on Thu Jan 13, 2005 4:49 pm; edited 1 time in total
Back to top
View user's profile Send private message
zdra
Veteran
Veteran


Joined: 30 Nov 2003
Posts: 1693
Location: Bruxelles, Belgique

PostPosted: Wed Jan 12, 2005 4:25 pm    Post subject: Reply with quote

C'est magnifique tout ça !

Moi je penses qu'il faut mettre un titre du style
[HOWTO] configuration d'iptables
Et ajouter le poste dans la liste des howto :)

J'ajouterais peut-etre une petite explication pour lancer tout ça:
Code:

<sauver le script dans /root/iptable_config>
# cd /root
# chmod +x iptable_config
# ./iptable_config
# /etc/init.d/iptables save
# rc-update add iptables default


Puis ajouter une note qui dit de pas oublier de modifer les interfaces et les ip dans le script. par exemple souvent OUT_INTERFACE=ppp0 ;)

Ah oui, et j'ai une question aussi qui est +/- en rapport:
Code:
echo 1 > /proc/sys/net/ipv4/ip_forward

C'est pour activer le forward, il faut le faire à chaque boot du pc. Mais si je comprends bien la politique de gentoo, les regles iptables se retorent au boot avec un "/etc/init.d/iptables start".... et on met où alors la ligne pour activer le forward ?? pour l'instant moi je l'ai mis dans /etc/conf.d/local.start

Voilà, et encore merci ;)
Back to top
View user's profile Send private message
Pachacamac
Veteran
Veteran


Joined: 22 Nov 2003
Posts: 1264
Location: Paris - France

PostPosted: Wed Jan 12, 2005 5:30 pm    Post subject: Reply with quote

Tu peux mettre directement la règle dans /etc/sysctl.conf
# Enables packet forwarding
net.ipv4.ip_forward = 1
Back to top
View user's profile Send private message
babykart
Guru
Guru


Joined: 08 Oct 2004
Posts: 415

PostPosted: Thu Jan 13, 2005 8:23 am    Post subject: Reply with quote

si toi tu dis "un petit script pour dire merci", moi je te dit "merci pour le script"... :wink:
_________________
>> Gentoo-FR <<
-----
Back to top
View user's profile Send private message
DaiKo
Apprentice
Apprentice


Joined: 07 Apr 2004
Posts: 161
Location: Mendes (France)

PostPosted: Thu Jan 13, 2005 10:50 am    Post subject: Reply with quote

Exactement ce que je cherchais :) un grand merci !! :D
Back to top
View user's profile Send private message
anigel
Bodhisattva
Bodhisattva


Joined: 14 Apr 2003
Posts: 1894
Location: Un petit bled pas loin de Limoges ;-)

PostPosted: Thu Jan 13, 2005 10:52 am    Post subject: Reply with quote

Joli travail, merci à toi, et... bienvenue parmi nous : ça te fera un chouette premier post sur ce forum ;-) !
_________________
Il y a 10 sortes d'individus en ce bas-monde : ceux qui causent binaire, et les autres.
Back to top
View user's profile Send private message
jpopcenter
n00b
n00b


Joined: 12 Jan 2005
Posts: 18

PostPosted: Thu Jan 13, 2005 5:03 pm    Post subject: Reply with quote

zdra wrote:

Moi je penses qu'il faut mettre un titre du style
[HOWTO] configuration d'iptables
Et ajouter le poste dans la liste des howto :)

J'ai fait quelques retouches dessus et rajouté HOWTO dans le titre mais je ne voudrais pas le poster dans la liste des HOWTOs tout de suite car il n'est pas encore finalisé.
Par contre, j'ai rajouté quelques explications sur le fonctionnement mais aussi une petite liste de TODO que je pense utile pour la suite.
J'espère que les TODO vous inspireront notemment celui sur la génération du script à partir du XML qui apporterait en "lisibilité" et en maintenance de la configuration (et puis je ne cache pas que j'ai un faible pour les générations en tout genre :oops: )

Merci pour vos encouragements et à bientôt ^^

P.S.
une fois fini la configuration iptables, viendra le temps de la configuration d'un bon FVWM à l'ancienne histoire de faire baver vos camarades de classe lors d'un TP d'info sur votre "station sun" miteuse des années 80 ou tout simplement pour trouver une raison valable de créer un compte linux pour votre copine sans justification du genre "si, si, tu vas voir, tu vas trouver ça terrible" alors qu'elle s'en fout (en tout cas pour moi, ça a marché :D ) (cf http://ibonobo.free.fr/_save_/screenshot-pink.png )
De plus, pour les fans de wallpaper d'animés, il y aura une petite surprise made in perso :roll:
Back to top
View user's profile Send private message
Pachacamac
Veteran
Veteran


Joined: 22 Nov 2003
Posts: 1264
Location: Paris - France

PostPosted: Thu Jan 13, 2005 5:18 pm    Post subject: Reply with quote

C'est mimi comme tout !
J'attend la suite de ta config avec impatience.
Back to top
View user's profile Send private message
yuk159
Veteran
Veteran


Joined: 18 Apr 2003
Posts: 1802
Location: noumea ,nouvelle-caledonie

PostPosted: Thu Jan 13, 2005 9:17 pm    Post subject: Reply with quote

Hé bien je le mets dans la liste car c'est déjà fort intéressant tout ça.
Donc, merci beaucoup. :)
_________________
The box said: "Requires Windows 98/2000/XP/NT, or better."
So, I installed LINUX!
Instagram
Back to top
View user's profile Send private message
Marsu
Guru
Guru


Joined: 18 Jun 2003
Posts: 329
Location: Lyon

PostPosted: Sun Jun 12, 2005 9:32 pm    Post subject: Reply with quote

bonjour, avant tou, merci pour le script, je l'ai réutilisé, y'a quand même un truc qui me tracasse :
la machine ROUTEUR fonctionne bien en tant que passerelle, mais impossible une fois le script lancé d'acceder à internet à partir d'elle (c'est un comble, c'est elle qui est connectée à internet ! lol)
est-ce normal par rapport à ton script (à ce moment là, j'ai pas tout compris) ou bien non ?

parce que c'est un peu gênant de plus pouvoir syncer...
_________________
qui ne tente rien n'a rien
Back to top
View user's profile Send private message
jpopcenter
n00b
n00b


Joined: 12 Jan 2005
Posts: 18

PostPosted: Wed Jun 22, 2005 1:33 pm    Post subject: Reply with quote

Salut,

Le fait que le routeur ne puisse pas accéder au net est "normal" à cause de la politique par défaut appliquée à la table "filter"
Pour t'en convaincre, il y a ceci à un moment :

Code:
################################################################################
# POLITIQUE DE SECURITE PAR DEFAUT
#
# --> On rejette tout les paquets par défaut dans la table [filter]
# --> On accepte les autres paquets circulant "en interne" [nat/mangle]
################################################################################
iptables --table filter --policy INPUT DROP
iptables --table filter --policy OUTPUT DROP
iptables --table filter --policy FORWARD DROP


Ainsi, pour que la machine faisant routeur puisse "aller" sur Internet, il faut que tu précises explicitement les règles d'accès à la main (par exemple : à la fin du fichier de configuration)
Tu peux parx exemple autoriser les sorties de paquet se dirigent vers un port destination 80 et les paquets entrants des réponses en provenance du port 80 et ainsi, tu pourras surfer sur Internet à partir du routeur.
Bonne chance pour la suite.
Back to top
View user's profile Send private message
kwenspc
Advocate
Advocate


Joined: 21 Sep 2003
Posts: 4954

PostPosted: Wed Jun 22, 2005 1:46 pm    Post subject: Reply with quote

moi j'attends avec impatience les règles et explications pour les logiciels clients :P
Back to top
View user's profile Send private message
dyurne
Guru
Guru


Joined: 19 Aug 2003
Posts: 475
Location: Lille, France

PostPosted: Wed Jun 22, 2005 8:37 pm    Post subject: Reply with quote

kwenspc wrote:
moi j'attends avec impatience les règles et explications pour les logiciels clients :P
+1
la génération via xml m'intéresse aussi pas mal.
En tout cas, excellent howto, bravo.
_________________
- Ah bah nan...
- Si !
Back to top
View user's profile Send private message
jpopcenter
n00b
n00b


Joined: 12 Jan 2005
Posts: 18

PostPosted: Thu Jun 23, 2005 8:37 am    Post subject: Reply with quote

dyurne wrote:
la génération via xml m'intéresse aussi pas mal.

Il est vrai que ce mini howto, je l'ai posté il y a un petit bout de temps mais ne t'inquiète pas pour ce qui concerne la génération via XML, ça va bientôt venir...
Vivement dans un mois, j'aurais enfin du temps de dispo pour me repencher enfin sur le sujet :wink:
Back to top
View user's profile Send private message
truz
Apprentice
Apprentice


Joined: 26 Feb 2005
Posts: 293
Location: France - Paris

PostPosted: Sun Jun 26, 2005 11:20 am    Post subject: Reply with quote

Merci pour ce script très instructif ! Juste une remarque dans le code suivant:
Code:
iptables --table filter --append INPUT --in-interface lo $LOOPBACK_ACCEPT
iptables --table filter --append OUTPUT --out-interface lo $LOOPBACK_ACCEPT
iptables --table filter --append FORWARD --in-interface lo $LOOPBACK_ACCEPT
iptables --table filter --append FORWARD --out-interface lo $LOOPBACK_ACCEPT

Il ne manquerait pas un "--jump" devant chaque "$LOOPBACK_ACCEPT" ? car sans ça j'ai l'erreur suivante au lancement du script:
Code:
Bad argument `DEBUG_LOOPBACK_ACCEPT'
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `DEBUG_LOOPBACK_ACCEPT'
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `DEBUG_LOOPBACK_ACCEPT'
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `DEBUG_LOOPBACK_ACCEPT'
Try `iptables -h' or 'iptables --help' for more information.

Peut-être certaines syntaxes sont-elles autorisées selon la version d'iptables (v1.3.1 chez moi) ?
_________________
Je sais que mes droits s'arrêtent là où commencent ceux des autres. Mais est-ce ma faute si les droits des autres commencent si loin ? [Quino] -- Mafalda
Back to top
View user's profile Send private message
Marsu
Guru
Guru


Joined: 18 Jun 2003
Posts: 329
Location: Lyon

PostPosted: Sun Jun 26, 2005 12:18 pm    Post subject: Reply with quote

ouais, moi aussi j'ai du rajouter un --jump devant ces lignes, mais si ça se trouve, c'était pour bien nous tester et nous forcer à comprendre le script
_________________
qui ne tente rien n'a rien
Back to top
View user's profile Send private message
truz
Apprentice
Apprentice


Joined: 26 Feb 2005
Posts: 293
Location: France - Paris

PostPosted: Sun Jun 26, 2005 3:21 pm    Post subject: Reply with quote

Marsu wrote:
ouais, moi aussi j'ai du rajouter un --jump devant ces lignes, mais si ça se trouve, c'était pour bien nous tester et nous forcer à comprendre le script
C'est vrai que ça a été le cas pour moi, mais je pense à ceux n'auraient pas pris ce temps et mis le firewall au boot. Ca va leur faire drole ! :lol:
_________________
Je sais que mes droits s'arrêtent là où commencent ceux des autres. Mais est-ce ma faute si les droits des autres commencent si loin ? [Quino] -- Mafalda
Back to top
View user's profile Send private message
Marsu
Guru
Guru


Joined: 18 Jun 2003
Posts: 329
Location: Lyon

PostPosted: Mon Jun 27, 2005 5:34 am    Post subject: Reply with quote

mais pour le sauvegarder, fallait l'appliquer avant, donc y'avait peu de chances que ça arrive
_________________
qui ne tente rien n'a rien
Back to top
View user's profile Send private message
truz
Apprentice
Apprentice


Joined: 26 Feb 2005
Posts: 293
Location: France - Paris

PostPosted: Mon Jun 27, 2005 7:14 am    Post subject: Reply with quote

Marsu wrote:
mais pour le sauvegarder, fallait l'appliquer avant, donc y'avait peu de chances que ça arrive
Ne sous-estimes jamais la force de celui qui ne cherche pas à comprendre :lol: :lol: Mais c'est vrai que quelque part c'est mérité dans ce cas :twisted:
_________________
Je sais que mes droits s'arrêtent là où commencent ceux des autres. Mais est-ce ma faute si les droits des autres commencent si loin ? [Quino] -- Mafalda
Back to top
View user's profile Send private message
Marsu
Guru
Guru


Joined: 18 Jun 2003
Posts: 329
Location: Lyon

PostPosted: Mon Jun 27, 2005 8:31 pm    Post subject: Reply with quote

truz wrote:
Ne sous-estimes jamais la force de celui qui ne cherche pas à comprendre :lol: :lol:


faut avouer que l'utilisateur paresseux peut parfois faire des trucs puissants, qui savent bien planter une machine :lol:
_________________
qui ne tente rien n'a rien
Back to top
View user's profile Send private message
lbr
Guru
Guru


Joined: 05 Apr 2004
Posts: 503
Location: Paris

PostPosted: Fri Aug 05, 2005 8:07 am    Post subject: Reply with quote

as-tu utilisé fwbuilder ? si oui que penses tu de ce soft ? si non, pourquoi ?

Merci.
Back to top
View user's profile Send private message
siDeb_31
Apprentice
Apprentice


Joined: 03 Oct 2004
Posts: 175
Location: Toulouse (FR)

PostPosted: Tue Aug 09, 2005 9:32 pm    Post subject: Reply with quote

j'ai un probleme, j'arrive pas a trouver d'ou ça vient :(
j'ai composé un script à l'aide de celui si dessus est quand le l execute j'ai droit à une erreur:
Quote:

./iptable_config
FATAL: Module ip_tables not found.
iptables v1.2.11: can't initialize iptables table `filter': iptables who? (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
FATAL: Module ip_tables not found.


Je suppose que c'est un une option du kernel a activer mais je sais pas laquelle.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum