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:
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:
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.