Iptables -L vide

Je suis une grande débutante en Linux et j’ai suivi toutes les indications données par ricardo et thuban dans leurs tutos concernant iptables. Mais il y a quelque chose qui doit m’échapper, sans doute.
Le problème est le suivant: Une fois toutes les manipulations préconisées dans les tutos en question, toute contente de moi, je fais un iptables -L et là … paf, la grosse baffe. Le résultat de la commande est vide, totalement vide, comment si je n’avais rien écrit, rien fait … Depuis fin janvier j’essai, en vain, de trouver la solution par moi-même en lisant, en me documentant en exécutant d’autres scripts avec toujours le même résultat : iptables -L vide, désespérément vide ! Quelque chose m’échappe, mais quoi ?
Pourriez-vous me donner un coup de … main ?
Merci d’avance.
Nova.

Les tutos en question :
thuban -
isalo.org/wiki.debian-fr/ind … lifi%C3%A9

ricardo -
debian-fr.org/installation-p … t1901.html

Mille excuses, j’ai oublié un respectueu "Bonjour à toutes et tous "

Nova.

Hello,

Déjà, il faut essayer une chose :
"/tonscript" puis “enter”

Après, tu fais un “iptables -L” et tu regardes s’il y a quelque chose.

S’il n’y a rien, tu prends une seule ligne comme “iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT” et tu refais un “iptables -L” voir s’il y a quelque chose.

Je ne sais pas mais je pense juste que tu redémarres entre deux et ton script n’est pas lancé au démarrage donc c’est vide. Mais test quand même ces deux petits trucs :wink:

iptables-save, c’est mieux que iptables -L.

Merci pour ces réponses rapides.

warnings :

sudo /etc/init.d/mon_parafeu
[sudo] password for sigzay:
/etc/init.d/mon_parafeu: 2: : not found
/etc/init.d/mon_parafeu: 16: : not found
/etc/init.d/mon_parafeu: 40: : not found
/etc/init.d/mon_parafeu: 43: : not found
/etc/init.d/mon_parafeu: 52: : not found
/etc/init.d/mon_parafeu: 61: : not found
/etc/init.d/mon_parafeu: 62: if !: not found

PascalHambourg :
sudo iptables-save

Generated by iptables-save v1.4.8 on Mon Mar 19 18:47:07 2012

*filter
:INPUT ACCEPT [14257]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [10371:1135864]
COMMIT

Completed on Mon Mar 19 18:47:07 2012


Je ne sais pas trop comment m’y prendre pour insérer les résultats des commendes dans les réponses que je dois vous donner. Il faut que j’apprenne.
nova.

Tu vois au dessus de là où tu tapes ton message pour répondre, tu as plusieurs boutons (B pour mettre en gras, etc). Celui qui t’intéresse c’est le bouton “Code” pour mettre les retours de commande entre les balises [ code ] qu’il insère.

Concernant ton problème, donne nous le contenu de ton script : il y a des erreurs dedans.

Merci.
Dejà je vais voir si la façon d’insérer un texte ou autre est la bonne façon ou non.

Je croise les doigts !

Bon maintenant il manque le “syam à écrit” sur fond rouge bordeaux …
nova.

Et le script, on a le droit de le voir ?


Gloups ! 
Mais oui, je sais. J’essai d’envoyer le contenu ... que dois-je faire ? Un copier-coller de ce qui est édité avec, par exemple, nano ? Ou carrément joindre le script ? Aucune iddée.
De toutes façons ce script est celui que thuban propose dans le wiki ... j’en ai fait un copier-coller au mois de janvier, puis février plusierus fois ...

nova

Gloups !
Mais oui, je sais. J’essai d’envoyer le contenu … que dois-je faire ? Un copier-coller de ce qui est édité avec, par exemple, nano ? Ou carrément joindre le script ? Aucune iddée.
De toutes façons ce script est celui que thuban propose dans le wiki … j’en ai fait un copier-coller au mois de janvier, puis février plusierus fois …

nova

Bon, voilà le contenu du script iptables. J’espère que c’est bien fait.

#!/bin/sh 
### BEGIN INIT INFO
# Provides:           mon_parefeu
# Required-Start:     $local_fs 
# Should-Start:
# Required-Stop:      $local_fs 
# Should-Stop:
# X-Start-Before:     $network
# X-Stop-After:       $network
# Default-Start:      S
# Default-Stop:       0 6
# Short-description:  Configure le parefeu
# Description:        Met en place les règles iptables.
### END INIT INFO
 
#------------------------Explications----------------------------------#
#
# Défauts :
# - Cette configuration s'applique à toutes les interfaces réseau.
#   Si vous voulez restreindre cela à une interface donnée,
#   utilisez '-i INTERFACE' dans la variables $IPTABLES.
#
# - Par défaut, le script autorise tout en sortie. 
#   Pour changer ce comportement veuillez indiquer les numéros
#   de port en question dans les variables
#	         $REMOTE_TCP_SERVICES
#   et/ou    $REMOTE_UDP_SERVICES
#
# - Pour configurer une machine routeur, 
#   changez la valeur de la variable
#   ISROUTERNAT à true, ainsi que 
#   les interfaces ethx et ethy selon votre configuration
#         ethx correspond à l'interface du LAN
#         ethy correspond à l'interface reliée à la truc-box
#
# description: Active/Désactive le pare-feu au démarrage
#
#----------------------------------------------------------------------#
 
#------------------------VARIABLES-------------------------------------#
readonly IPTABLES=/sbin/iptables
 
# Services que le système offrira au réseau, à séparer avec des espaces
# ftp : 21, ssh : 22, serveur web : 80, cups : 631, jabber : 5222
TCP_SERVICES="" 
UDP_SERVICES=""
# Services que le système utilisera du réseau
# (défaut : autorise tout en sortie)
REMOTE_TCP_SERVICES="" 
REMOTE_UDP_SERVICES="" 
 
# Pour une machine faisant office de routeur avec NAT,
# changer la valeur de la variable ISROUTERNAT à 1.
ISROUTERNAT=false
# ethx correspond à l'interface du LAN
# ethy correspond à l'interface reliée à la truc-box
ethx="eth1"
ethy="eth0"
#----------------------------------------------------------------------#
 
if ! [ -x $IPTABLES ]; then  
	exit 0
fi
 
#----------------------------FONCTIONS---------------------------------#
fw_start () {
 
# Vidage
	fw_clear
	echo "Parefeu - Suppression des règles : [OK]"
 
# Interdictions
	$IPTABLES -t filter -P INPUT DROP
	$IPTABLES -t filter -P FORWARD DROP
	$IPTABLES -t filter -P OUTPUT DROP
 
	echo "Parefeu - interdictions générales établies : [OK]"
 
# Loopback
	$IPTABLES -t filter -A INPUT -i lo -j ACCEPT
 
# Trafic d'entrée :
	$IPTABLES -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
 
# Refus du ping pour éviter de répondre aux scans des éventuels vilains
	$IPTABLES -t filter -A INPUT -p icmp -j LOG
	$IPTABLES -t filter -A INPUT -p icmp -j DROP
 
# Sortie autorisée, si aucun port autorisé en sortie n'est défini
        if [ -z "$REMOTE_TCP_SERVICES"] && [ -z "$REMOTE_UDP_SERVICES" ]; then
            $IPTABLES -t filter -P OUTPUT ACCEPT
        fi
 
# Services à autoriser en entrée
	for PORT in $TCP_SERVICES; do
		$IPTABLES -A INPUT -p tcp --dport ${PORT} -j ACCEPT
	done
 
	for PORT in $UDP_SERVICES; do
		$IPTABLES -A INPUT -p udp --dport ${PORT} -j ACCEPT
	done
 
# Services à autoriser en sortie
 
	for PORT in $REMOTE_TCP_SERVICES; do
		$IPTABLES -A OUTPUT -p tcp --dport ${PORT} -j ACCEPT
	done
	for PORT in $REMOTE_UDP_SERVICES; do
		$IPTABLES -A OUTPUT -p udp --dport ${PORT} -j ACCEPT
	done
	echo "Parefeu - Mise en place des règles : [OK]"
 
	if $ISROUTERNAT ; then
		$IPTABLES -A INPUT -i $ethx -j ACCEPT
		$IPTABLES -A INPUT -p icmp -j ACCEPT
		$IPTABLES -A FORWARD -i $ethy -o $ethx -m state --state RELATED,ESTABLISHED -j ACCEPT
		$IPTABLES -A FORWARD -o $ethy -j ACCEPT
		$IPTABLES -t nat -A POSTROUTING -o $ethy -j MASQUERADE
 		echo "Parefeu - Routeur avec NAT : [OK]"
	fi
 
# Toutes les autres connexions sont enregistrées dans syslog
	#$IPTABLES -t filter -A OUTPUT -j LOG
	$IPTABLES -t filter -A INPUT -j LOG --log-level=4
 
	echo "Parefeu - Logging : [OK]"
}
 
fw_stop () {
	#$IPTABLES -F
	#$IPTABLES -t nat -F
	#$IPTABLES -t mangle -F
	#$IPTABLES -P INPUT DROP
	#$IPTABLES -P FORWARD DROP
	#$IPTABLES -P OUTPUT ACCEPT
	echo "Arrêt du parefeu : [OK]"
}
 
fw_clear () {
	$IPTABLES -t filter -F
	$IPTABLES -t nat -F
	$IPTABLES -t mangle -F
	$IPTABLES -t raw -F
	$IPTABLES -t filter -P INPUT ACCEPT
	$IPTABLES -t filter -P OUTPUT ACCEPT
	$IPTABLES -t filter -P FORWARD ACCEPT
	$IPTABLES -t nat -P PREROUTING ACCEPT
	$IPTABLES -t nat -P POSTROUTING ACCEPT
	$IPTABLES -t nat -P OUTPUT ACCEPT
	$IPTABLES -t mangle -P PREROUTING ACCEPT
	$IPTABLES -t mangle -P OUTPUT ACCEPT
	$IPTABLES -t mangle -P POSTROUTING ACCEPT
	$IPTABLES -t mangle -P FORWARD ACCEPT
	$IPTABLES -t mangle -P INPUT ACCEPT
	$IPTABLES -t raw -P OUTPUT ACCEPT
	$IPTABLES -t raw -P PREROUTING ACCEPT
	$IPTABLES -F
}
 
fw_status () {
	$IPTABLES -L --line-numbers
}
 
#----------------------------------------------------------------------#
 
case "$1" in
	start|restart)
		echo "Starting firewall.."
 		fw_start
		echo "done."
 	;;
	stop)
		echo "Stopping firewall.."
 		fw_stop
 		echo "done."
 	;;
	clean)
 		echo "Clearing firewall rules.."
 		fw_clear
 		echo "done."
 	;;
	status)
		echo "Firewall status"
		fw_status
	;;
	*)
 		echo "Usage: $0 {start|stop|restart|clean|status}"
 		exit 1
 	;;
esac
exit 0


############################# FIN DU SCRIPT ####################################

Merci beaucoup à vous tous.
nova

Le script s’exécute bien chez moi. Les erreurs “not found” me font penser à un problème de copier/coller qui aurait affecté les caractères espace.

Vu qu’il y a un problème dès la deuxième ligne, je penche aussi pour un copier/coller avec des mauvaises fins de lignes, genre réalisé sous Windows… :mrgreen:

[code]# aptitude install dos2unix

dos2unix /etc/init.d/mon_parafeu[/code]

PascalHambourg :

Pourtant je vous-ai envoyé le script qui est dans mon ordinateur … ma machine est hantée, ma fois !
Alors peut-être qu’il faut que j’écrives ligne à ligne tout le script ? Pourquoi pas ?

syam :

Non, tout à été fait sous Linux … Dois-je donc écrire tout le script ?
Syam, que dois-je faire de ceci ? :

[code]# aptitude install dos2unix

dos2unix /etc/init.d/mon_parafeu[/code]

Merci beaucoup les amis !

[quote=“nova”]Non, tout à été fait sous Linux … Dois-je donc écrire tout le script ?
Syam, que dois-je faire de ceci ? :

[code]# aptitude install dos2unix

dos2unix /etc/init.d/mon_parafeu[/code][/quote]

En général sur ce forum quand on donne des commandes à taper, on les indique de cette manière. Une ligne qui commencerait par $ doit être tapée en tant que simple utilisateur (sans taper le $ lui-même), alors qu’une ligne qui commence par # doit être tapée avec les droits root (toujours sans taper le # lui-même) c’est à dire après avoir tapé su et saisi le mot de passe root.

Oh, et pour citer une personne, utilise le bouton Quote plutôt que Code. Tu peux aussi expérimenter avec les différentes possibilités de mise en forme, le bouton “Aperçu” juste à côté de “Envoyer” est là pour ça. :wink:

D’accord, j’ai donc installé dos2unix et exécuté la commande indiquée. Voilà le résultat :

# dos2unix /etc/init.d/mon_parafeu dos2unix: converting file /etc/init.d/mon_parafeu to UNIX format ...
Je suis perdue ?
Demain mercredi je dois partir pour deux ou trois jours sans possibilité d’avoir accès au forum … Alors je vous dis merci beaucoup et à plus tard dans la semaine.
nova.

Bonjour !
Me voilà de retour et me voilà très contente puisque mon problème est résolu.
PascalHambourg et syam avaient raison. Il est vrai en effet que le script que j’avais utilisé pour la première fois avait été copié à partir d’une machine sous Windows … Ils ont de l’expérience nos deux amis !
Alors

  1. J’ai viré le script mon_parafeu par un rm.
  2. J’ai mis dans /etc/init.d le même script que je vous ai envoyé mardi 19 mars et qui s’exécute bien chez PascalHambourg.
  3. J’ai fait un «chmod +x /etc/init.d/mon_parafeu» et un «insserv mon_parafeu», puisque c’est ainsi qu’il faut faire, d’après le tuto de thuban.
  4. Lorsque j’exécute la commande «sudo /etc/init.d/mon_parafeu», il n’y a plus d’erreur «not_found».
  5. En suite j’ai fait un «iptables-save» qui me donne ça:

[code]sudo iptables-save

Generated by iptables-save v1.4.8 on Mon Mar 26 17:31:22 2012

*raw
:PREROUTING ACCEPT [2316:2264901]
:OUTPUT ACCEPT [2075:385207]
COMMIT

Completed on Mon Mar 26 17:31:22 2012

Generated by iptables-save v1.4.8 on Mon Mar 26 17:31:22 2012

*mangle
:PREROUTING ACCEPT [2316:2264901]
:INPUT ACCEPT [2316:2264901]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [2075:385207]
:POSTROUTING ACCEPT [2084:387712]
COMMIT

Completed on Mon Mar 26 17:31:22 2012

Generated by iptables-save v1.4.8 on Mon Mar 26 17:31:22 2012

*nat
:PREROUTING ACCEPT [51:13008]
:POSTROUTING ACCEPT [173:10886]
:OUTPUT ACCEPT [173:10886]
COMMIT

Completed on Mon Mar 26 17:31:22 2012

Generated by iptables-save v1.4.8 on Mon Mar 26 17:31:22 2012

*filter
:INPUT DROP [60:15513]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [2075:385207]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j LOG
-A INPUT -p icmp -j DROP
-A INPUT -j LOG
COMMIT

Completed on Mon Mar 26 17:31:22 2012

[/code]

Résultat tout à fait différent à celui obtenu mardi 19 mars.

Mieux, en faisant «sudo vim /var/log/boot», je vois ceci :

Mon Mar 26 13:41:04 2012: Starting firewall.. Mon Mar 26 13:41:04 2012: Parefeu - Suppression des règles : [OK] Mon Mar 26 13:41:04 2012: Parefeu - interdictions générales établies : [OK] Mon Mar 26 13:41:04 2012: Parefeu - Mise en place des règles : [OK] Mon Mar 26 13:41:04 2012: Parefeu - Logging : [OK] Mon Mar 26 13:41:04 2012: done.

Youpiiiiiii !
Merci beaucoup et à bientôt pour d’autres aventures !