IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau Discussion :

iptables: interface "in" * inconnue/à chercher Ping IPFIRE


Sujet :

Réseau

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2009
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 87
    Points : 77
    Points
    77
    Par défaut iptables: interface "in" * inconnue/à chercher Ping IPFIRE
    Bonjour,

    J'ai installé une distribution IPFire, un fork d'IPCOP sur un petit PC portable. Aujourd'hui, je découvre iptables et les joies du ping.

    Mon réseau maison est composé d'un poste sous Ubuntu, d'une freebox et de ce fameux petit parfeu dont j’accède aux tables en https sur 444, y a un lien très intéressant nommé iptables sous l'onglet Parfeu.

    Mon objectif est de savoir quelle interface utilise le routeur quand je ping a partir de lui vers INTERNET.

    j'ai 4 interface, lo, green0, red0 et mon.green0.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    # ACCEPT DEPART de PING : ROUTEUR vers INTERNET
    Je vois bien les paquets sortir et les réponses arriver, mais aucune des 4 interfaces existantes est prises en comptes, il passe toujours par la petite étoiles, lol.

    Voici mes règles (ma question concerne à partir de la ligne 48 jusqu'à la ligne 56) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
     
    #!/bin/bash
     
    I_LAN=green0
    I_INTERNET=red0
     
    ADRESSE_PINGUEUR=192.168.10.1
    ADRESSE_DNS=212.27.40.240
    ADRESSE_LAN_ROUTEUR=192.168.10.10
    ADRESSE_INTERNET_ROUTEUR=192.168.0.3
    PORT_SSH=222
     
    # Flush all rules and delete all custom chains
    /sbin/iptables -F
    /sbin/iptables -t nat -F
    /sbin/iptables -t mangle -F
    /sbin/iptables -X
    /sbin/iptables -t nat -X
    /sbin/iptables -t mangle -X
     
    # Set up policies
    # Politique par défaut deny all
    /sbin/iptables -P INPUT DROP
    /sbin/iptables -P FORWARD DROP
    /sbin/iptables -P OUTPUT DROP
     
    #creation de la table LOG_DROP
     
    iptables -N LOG_DROP
    iptables -A LOG_DROP -m limit --limit 10/minute -j LOG
    iptables -A LOG_DROP -j DROP
     
    #Traitement ICMP...
    iptables -N ICMPS
    #iptables -t filters
    iptables -A INPUT -p icmp -j ICMPS
    iptables -A OUTPUT -p icmp -j ICMPS
    iptables -A FORWARD -p icmp -j ICMPS
     
    # DROP DEPART de PING : INTERNET vers ROUTEUR
    iptables -A ICMPS -i $I_INTERNET -p icmp --icmp-type echo-request -j LOG_DROP
    if test $? -eq 0 ;then echo "DROP DEPART de PING : INTERNET vers ROUTEUR";else echo "erreur!";fi
     
    # DROP RETOUR de PING : ROUTEUR vers INTERNET
    iptables -A ICMPS -o $I_INTERNET -p icmp --icmp-type echo-reply -j LOG_DROP
    if test $? -eq 0 ;then echo "DROP DEPART de PING : ROUTEUR vers INTERNET";else echo "erreur!";fi
     
    # ACCEPT DEPART de PING : ROUTEUR vers INTERNET
    #iptables -A ICMPS -s $ADRESSE_INTERNET_ROUTEUR -i $I_INTERNET -o $I_INTERNET -d 0/0 -p icmp --icmp-type echo-request -j ACCEPT
    iptables -A ICMPS -i mon.green0 -o $I_INTERNET -d 0/0 -p icmp --icmp-type echo-request -j ACCEPT && \
    iptables -A ICMPS -i green0 -o $I_INTERNET -d 0/0 -p icmp --icmp-type echo-request -j ACCEPT && \
    iptables -A ICMPS -i red0 -o $I_INTERNET -d 0/0 -p icmp --icmp-type echo-request -j ACCEPT && \
    iptables -A ICMPS -i lo -o $I_INTERNET -d 0/0 -p icmp --icmp-type echo-request -j ACCEPT && \
    iptables -A ICMPS -s $ADRESSE_INTERNET_ROUTEUR -o $I_INTERNET -d 0/0 -p icmp --icmp-type echo-request -j ACCEPT && \
    iptables -A ICMPS -o red0 -d 0/0 -p icmp --icmp-type echo-request -j ACCEPT
    if test $? -eq 0 ;then echo "ACCEPT DEPART de PING : ROUTEUR vers INTERNET";else echo "erreur!";fi
     
    # ACCEPT RETOUR de PING : INTERNET ver ROUTEUR
    iptables -A ICMPS -i $I_INTERNET -o $I_INTERNET -s 0/0 -d $ADRESSE_INTERNET_ROUTEUR -p icmp --icmp-type echo-reply -j ACCEPT
    if test $? -eq 0 ;then echo "ACCEPT RETOUR de PING : INTERNET vers ROUTEUR";else echo "erreur!";fi
    iptables -A ICMPS -i red0 -s 0/0 -p icmp --icmp-type echo-reply -j ACCEPT
     
    #ACCEPT PING de IPFIRE vers COMPAQ ALLER + RETOUR  
    iptables -A ICMPS -o $I_LAN -i $I_LAN -s $ADRESSE_LAN_ROUTEUR -d $ADRESSE_PINGUEUR -p icmp --icmp-type echo-request -j ACCEPT && \
    iptables -A ICMPS -i $I_LAN -o $I_LAN -s $ADRESSE_PINGUEUR -d $ADRESSE_LAN_ROUTEUR -p icmp --icmp-type echo-reply -j ACCEPT ;
    if test $? -eq 0 ;then echo "ACCEPT PING de IPFIRE vers COMPAQ ALLER + RETOUR (vérifiez si $ADRESSE_PINGUEUR n'a pas de parfeu!)";else echo "erreur!";fi
     
    #ACCEPT PING de COMPAQ vers IPFIRE
    iptables -A ICMPS -o $I_LAN -d $ADRESSE_PINGUEUR -p icmp --icmp-type echo-reply -j ACCEPT && \
    iptables -A ICMPS -i $I_LAN -s $ADRESSE_PINGUEUR -p icmp --icmp-type echo-request -j ACCEPT
    if test $? -eq 0 ;then echo "ACCEPT PING de COMPAQ vers IPFIRE";else echo "erreur!";fi
     
    # ACCEPT DEPART de PING : LAN vers INTERNET
    iptables -A ICMPS -i $I_LAN -o $I_INTERNET -d 0/0 -s $ADRESSE_PINGUEUR -p icmp --icmp-type echo-request -j ACCEPT
    if test $? -eq 0 ;then echo "DROP DEPART de PING : INTERNET vers LAN";else echo "erreur!";fi
     
    # ACCEPT RETOUR de PING : INTERNET vers LAN
    iptables -A ICMPS -o $I_LAN -i $I_INTERNET -s 0/0 -d $ADRESSE_PINGUEUR -p icmp --icmp-type echo-reply -j ACCEPT
    if test $? -eq 0 ;then echo "DROP DEPART de PING : LAN     vers INTERNET";else echo "erreur!";fi
     
    #
    iptables -A ICMPS -o lo -i lo -s 127.0.0.1 -p icmp -d 127.0.0.1 -j ACCEPT
    iptables -A ICMPS -j LOG_DROP
     
    # MASQUERADE en POSTROUTING : NAT pour LAN
    iptables -t nat -A POSTROUTING -o $I_INTERNET -j MASQUERADE 
    if test $? -eq 0 ;then echo "";else echo "erreur!";fi
     
    #DNS
    iptables -A INPUT -p udp --sport 53 -j ACCEPT
    iptables -A INPUT -p udp --dport 53 -j ACCEPT
    iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
    iptables -A OUTPUT -p udp --sport 53 -j ACCEPT
     
    iptables -A FORWARD -p udp --dport 53 -j ACCEPT
    iptables -A FORWARD -p udp --sport 53 -j ACCEPT
    iptables -A FORWARD -p udp --dport 53 -j ACCEPT
    iptables -A FORWARD -p udp --sport 53 -j ACCEPT 
     
    # https de Client vers web via Serveur 								         ESTABLISHED
    iptables -A FORWARD -p tcp -s 0/0 -d $ADRESSE_PINGUEUR -m multiport --sport 80,443 -j ACCEPT -m state --state ESTABLISHED
    iptables -A FORWARD -p tcp -d 0/0 -s $ADRESSE_PINGUEUR -m multiport --dport 80,443 -j ACCEPT -m state --state NEW,ESTABLISHED
     
    iptables -I INPUT 1 -i green0 -s $ADRESSE_PINGUEUR -p tcp --dport $PORT_SSH -j ACCEPT
    iptables -I OUTPUT 1 -o green0 -d $ADRESSE_PINGUEUR -p tcp --sport $PORT_SSH -j ACCEPT
     
    # ACCEPT $ADRESSE_PINGUEUR pour administrer par le web le routeur
    iptables -A INPUT  -i green0 -s $ADRESSE_PINGUEUR -p tcp --dport 444 -j ACCEPT
    iptables -A OUTPUT  -o green0 -d $ADRESSE_PINGUEUR -p tcp --sport 444 -j ACCEPT
     
    exit 0
    Merci de votre aide.

  2. #2
    Membre régulier
    Inscrit en
    Septembre 2009
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 87
    Points : 77
    Points
    77
    Par défaut
    Je m'autorépond, lol

    Après avoir mis au propre mes regles sur le ping. J'ai comme l'impression d'être dans les tables INPUT/OUTPUT, c'est inspécifiable. Par contre quand il s'agit de routage, il prend bien en compte l'option i et o.

    Ce qui est remarquable, c'est qu'iptables prend bien en compte l'option -s et -d, quelques soit l'histoire.


    encore un petit coup?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
     
    #!/bin/bash
     
    I_LAN=green0
    I_INTERNET=red0
     
    ADRESSE_PINGUEUR=192.168.10.1
    ADRESSE_DNS=212.27.40.240
    ADRESSE_LAN_ROUTEUR=192.168.10.10
    ADRESSE_INTERNET_ROUTEUR=192.168.0.3
    PORT_SSH=222
     
    # Flush all rules and delete all custom chains
    /sbin/iptables -F
    /sbin/iptables -t nat -F
    /sbin/iptables -t mangle -F
    /sbin/iptables -X
    /sbin/iptables -t nat -X
    /sbin/iptables -t mangle -X
     
    # Set up policies
    # Politique par défaut deny all
    /sbin/iptables -P INPUT DROP
    /sbin/iptables -P FORWARD DROP
    /sbin/iptables -P OUTPUT DROP
     
    #creation de la table LOG_DROP
     
    iptables -N LOG_DROP
    iptables -A LOG_DROP -m limit --limit 10/minute -j LOG
    iptables -A LOG_DROP -j DROP
     
    #Traitement ICMP...
    iptables -N ICMPS
    #iptables -t filters
    iptables -A INPUT -p icmp -j ICMPS
    iptables -A OUTPUT -p icmp -j ICMPS
    iptables -A FORWARD -p icmp -j ICMPS
     
    # DROP DEPART de PING : INTERNET vers ROUTEUR
    iptables -A ICMPS -i $I_INTERNET -p icmp --icmp-type echo-request -j LOG_DROP
    if test $? -eq 0 ;then echo "DROP DEPART de PING : INTERNET vers ROUTEUR";else echo "erreur!";fi
     
    # DROP RETOUR de PING : ROUTEUR vers INTERNET
    iptables -A ICMPS -o $I_INTERNET -p icmp --icmp-type echo-reply -j LOG_DROP
    if test $? -eq 0 ;then echo "DROP DEPART de PING : ROUTEUR vers INTERNET";else echo "erreur!";fi
     
    # ACCEPT DEPART de PING : ROUTEUR vers INTERNET
    iptables -A ICMPS -s $ADRESSE_INTERNET_ROUTEUR -o $I_INTERNET -d 0/0 -p icmp --icmp-type echo-request -j ACCEPT #&& \
    if test $? -eq 0 ;then echo "ACCEPT DEPART de PING : ROUTEUR vers INTERNET";else echo "erreur!";fi
     
    # ACCEPT RETOUR de PING : INTERNET ver ROUTEUR
    iptables -A ICMPS -i $I_INTERNET -s 0/0 -d $ADRESSE_INTERNET_ROUTEUR -p icmp --icmp-type echo-reply -j ACCEPT
    if test $? -eq 0 ;then echo "ACCEPT RETOUR de PING : INTERNET vers ROUTEUR";else echo "erreur!";fi
    #iptables -A ICMPS -i red0 -s 0/0 -p icmp --icmp-type echo-reply -j ACCEPT
     
    #ACCEPT PING de IPFIRE vers COMPAQ ALLER + RETOUR  
    iptables -A ICMPS -o $I_LAN -s $ADRESSE_LAN_ROUTEUR -d $ADRESSE_PINGUEUR -p icmp --icmp-type echo-request -j ACCEPT && \
    iptables -A ICMPS -i $I_LAN -s $ADRESSE_PINGUEUR -d $ADRESSE_LAN_ROUTEUR -p icmp --icmp-type echo-reply -j ACCEPT ;
    if test $? -eq 0 ;then echo "ACCEPT PING de IPFIRE vers COMPAQ ALLER + RETOUR (vérifiez si $ADRESSE_PINGUEUR n'a pas de parfeu!)";else echo "erreur!";fi
     
    #ACCEPT PING de COMPAQ vers IPFIRE
    iptables -A ICMPS -o $I_LAN -d $ADRESSE_PINGUEUR -s $ADRESSE_LAN_ROUTEUR -p icmp --icmp-type echo-reply -j ACCEPT && \
    iptables -A ICMPS -i $I_LAN -s $ADRESSE_PINGUEUR -d $ADRESSE_LAN_ROUTEUR -p icmp --icmp-type echo-request -j ACCEPT
    #if test $? -eq 0 ;then echo "ACCEPT PING de COMPAQ vers IPFIRE";else echo "erreur!";fi
     
    # ACCEPT DEPART de PING : LAN vers INTERNET
    iptables -A ICMPS -i $I_LAN -o $I_INTERNET -d 0/0 -s $ADRESSE_PINGUEUR -p icmp --icmp-type echo-request -j ACCEPT
    if test $? -eq 0 ;then echo "DROP DEPART de PING : INTERNET vers LAN";else echo "erreur!";fi
     
    # ACCEPT RETOUR de PING : INTERNET vers LAN
    iptables -A ICMPS -o $I_LAN -i $I_INTERNET -s 0/0 -d $ADRESSE_PINGUEUR -p icmp --icmp-type echo-reply -j ACCEPT
    if test $? -eq 0 ;then echo "DROP DEPART de PING : LAN     vers INTERNET";else echo "erreur!";fi
     
    #
    iptables -A ICMPS -i lo -s 127.0.0.1 -p icmp -d 127.0.0.1 -j ACCEPT
    iptables -A ICMPS -o lo -s 127.0.0.1 -p icmp -d 127.0.0.1 -j ACCEPT
    iptables -A ICMPS -j LOG_DROP
     
    # MASQUERADE en POSTROUTING : NAT pour LAN
    iptables -t nat -A POSTROUTING -o $I_INTERNET -j MASQUERADE 
    if test $? -eq 0 ;then echo "";else echo "erreur!";fi
     
    #DNS
    iptables -A INPUT -p udp --sport 53 -j ACCEPT
    iptables -A INPUT -p udp --dport 53 -j ACCEPT
    iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
    iptables -A OUTPUT -p udp --sport 53 -j ACCEPT
     
    iptables -A FORWARD -p udp --dport 53 -j ACCEPT
    iptables -A FORWARD -p udp --sport 53 -j ACCEPT
    iptables -A FORWARD -p udp --dport 53 -j ACCEPT
    iptables -A FORWARD -p udp --sport 53 -j ACCEPT 
     
    # https de Client vers web via Serveur 								         ESTABLISHED
    iptables -A FORWARD -p tcp -s 0/0 -d $ADRESSE_PINGUEUR -m multiport --sport 80,443 -j ACCEPT -m state --state ESTABLISHED
    iptables -A FORWARD -p tcp -d 0/0 -s $ADRESSE_PINGUEUR -m multiport --dport 80,443 -j ACCEPT -m state --state NEW,ESTABLISHED
     
    iptables -I INPUT 1 -i green0 -s $ADRESSE_PINGUEUR -p tcp --dport $PORT_SSH -j ACCEPT
    iptables -I OUTPUT 1 -o green0 -d $ADRESSE_PINGUEUR -p tcp --sport $PORT_SSH -j ACCEPT
     
    # ACCEPT $ADRESSE_PINGUEUR pour administrer par le web le routeur
    iptables -A INPUT  -i green0 -s $ADRESSE_PINGUEUR -p tcp --dport 444 -j ACCEPT
    iptables -A OUTPUT  -o green0 -d $ADRESSE_PINGUEUR -p tcp --sport 444 -j ACCEPT
     
    exit 0
    Merci de m'avoir lu

  3. #3
    Invité
    Invité(e)
    Par défaut
    Salut,

    quel est ton problème exactement ?

    J'ai "survolé" tes posts (sorry, un peu fainéant en cette fin de journée) aussi je préfère te poser la question avant de partir sur une envolée lyrique concernant les iptables

    Si tu n'es pas familiarisé avec Netfilter, tu peux aussi jeter un oeil sur cette discussion :

    http://www.developpez.net/forums/d12...-forward-drop/

    Steph

  4. #4
    Membre régulier
    Inscrit en
    Septembre 2009
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 87
    Points : 77
    Points
    77
    Par défaut Lol
    En faite, la deuxième partie est un script (non fini bien sur ^^, manque gestion d"erreur, etc ...), mais intéressante/pédagogique pour voir la mécanique d'iptables au travers des ping.

    ftp://ftp.linux-france.org/pub/prj/i...s-tutorial.pdf

    Merci Steph, mais j'ai super bien compris.

    Parcontre à te lire, je trouve des choses intéressantes, encore merci.


    Julien

  5. #5
    Invité
    Invité(e)
    Par défaut
    En faite, la deuxième partie est un script (non fini bien sur ^^, manque gestion d"erreur, etc ...), mais intéressante/pédagogique pour voir la mécanique d'iptables au travers des ping.
    OK... J'ai regardé un peu plus attentivement cette fois-ci, merci pour le partage

    ftp://ftp.linux-france.org/pub/prj/i...s-tutorial.pdf

    Merci Steph, mais j'ai super bien compris.
    Je suis d'accord, cette doc de Philippe Latu est très bien faite.

    Bon, ben, bonne config alors

    Steph

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo