Problème script
Fermé
Ceane
Messages postés
40
Date d'inscription
jeudi 12 avril 2007
Statut
Membre
Dernière intervention
11 juin 2007
-
11 juin 2007 à 11:06
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 11 juin 2007 à 16:08
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 11 juin 2007 à 16:08
A voir également:
- Problème script
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Microsoft activation script - Accueil - Windows
- Script bat - Guide
- Executeur de script - Télécharger - Édition & Programmation
9 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
11 juin 2007 à 11:15
11 juin 2007 à 11:15
Salut,
Supprimes dans un 1er temps toutes les occurrences de "case $reponse in" (à part la 1ère) :
Supprimes dans un 1er temps toutes les occurrences de "case $reponse in" (à part la 1ère) :
#!/bin/sh/ case=10 exit=8 while [ "$exit" = 8 ]; do echo "0) Activer le routage" echo "1) Effacer les tables" echo "2) Interdir le passage des règles" echo "3) Autoriser le passage des règles" echo "4) Autoriser les DNS" echo "5) Interdir les DNS" echo "6) Autoriser le trafic HTTP" echo "7) Interdir le trafic HTTP" echo "8) QUITTER" read reponse case $reponse in 0) echo 1 > /proc/sys/net/ipv4/ip_forward ;; 1) iptables -F iptables -t nat -F ;; 2) iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP ;; 3) iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT ;; 4) iptables -A FORWARD -p udp -d 212.180.1.79 -i eth0 -o eth1 --dport 53 -j ACCEPT iptables -A FORWARD -p udp -s 212.180.1.79 -i eth1 -o eth0 --sport 53 -j ACCEPT iptables -A FORWARD -p udp -d 212.180.0.137 -i eth0 -o eth1 --dport 53 -j ACCEPT iptables -A FORWARD -p udp -s 212.180.1.79 -i eth1 -o eth0 --sport 53 -j ACCEPT iptables -A OUTPUT -p udp --dport 53 -d 212.180.1.79 -j ACCEPT iptables -A OUTPUT -p udp --sport 53 -s 212.180.1.79 -j ACCEPT ;; 5) iptables -A FORWARD -p udp -d 212.180.1.79 -i eth0 -o eth1 --dport 53 -j DROP iptables -A FORWARD -p udp -s 212.180.1.79 -i eth1 -o eth0 --sport 53 -j DROP iptables -A FORWARD -p udp -d 212.180.0.137 -i eth0 -o eth1 --dport 53 -j DROP iptables -A FORWARD -p udp -s 212.180.1.79 -i eth1 -o eth0 --sport 53 -j DROP iptables -A OUTPUT -p udp --dport 53 -d 212.180.1.79 -j DROP iptables -A OUTPUT -p udp --sport 53 -s 212.180.1.79 -j DROP iptables -A OUTPUT -p udp --dport 53 -d 212.180.0.137 -j DROP iptables -A OUTPUT -p udp --sport 53 -s 212.180.0.137 -j DROP ;; 6) iptables -A FORWARD -p tcp -o eth1 -i eth0 --dport 80 ACCEPT iptables -A FORWARD -p tcp -i eth1 -o eth0 --sport 80 -mstate --state ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --sport 80 -j ACCEPT ;; 7) iptables -A FORWARD -p tcp -o eth1 -i eth0 --dport 80 DROP iptables -A FORWARD -p tcp -i eth1 -o eth0 --sport 80 -mstate --state ESTABLISHED -j DROP iptables -A OUTPUT -p tcp --dport 80 -j DROP iptables -A INPUT -p tcp --sport 80 -j DROP ;; 8) $choix="0" ;; esac doneMais je doute que cela suffise à la bonne marche de ton script ;-\
Ceane
Messages postés
40
Date d'inscription
jeudi 12 avril 2007
Statut
Membre
Dernière intervention
11 juin 2007
1
11 juin 2007 à 11:19
11 juin 2007 à 11:19
Alors j'ai supprimer les case en trop.....
Ca ne fonctionne toujours pas..
lol tu avais raison
Ca ne fonctionne toujours pas..
lol tu avais raison
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
11 juin 2007 à 11:25
11 juin 2007 à 11:25
Ben déjà le début de ton script me laisse assez perplexe :-\
case=10
Tu définis quoi avec cette variable ?
exit=8
while [ "$exit" = 8 ];
Et là si par la suite du script tu ne fais pas varier cette valeur, la condition sera forcément vraie en permanence, et puis tu cherches à faire quoi exactement avec cette condition ???
;-)
case=10
Tu définis quoi avec cette variable ?
exit=8
while [ "$exit" = 8 ];
Et là si par la suite du script tu ne fais pas varier cette valeur, la condition sera forcément vraie en permanence, et puis tu cherches à faire quoi exactement avec cette condition ???
;-)
Ceane
Messages postés
40
Date d'inscription
jeudi 12 avril 2007
Statut
Membre
Dernière intervention
11 juin 2007
1
11 juin 2007 à 11:29
11 juin 2007 à 11:29
case=10 c'est le nombre max de case du script (enfin je crois on m'a pas bien expliquer)
et
while [ "$exit" = 8 ]; je crois que je me suis trompé ca doit etre while [ "$exit" != 8 ]; non ???
Je sais c'est assez obscure comme réponse mais moi et la programmation ca fait 15....Lol
et
while [ "$exit" = 8 ]; je crois que je me suis trompé ca doit etre while [ "$exit" != 8 ]; non ???
Je sais c'est assez obscure comme réponse mais moi et la programmation ca fait 15....Lol
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
11 juin 2007 à 11:33
11 juin 2007 à 11:33
Bon je crois qu'une petite entrée en matière des scripts bash ne te fera pas de mal ;-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
11 juin 2007 à 11:39
11 juin 2007 à 11:39
Salut
Voici une version corrigée qui te permet de quitter le programme.
Par contre je ne vois pas d'erreur sur le reste. Etrange.
Bonne chance
Voici une version corrigée qui te permet de quitter le programme.
Par contre je ne vois pas d'erreur sur le reste. Etrange.
Bonne chance
#!/bin/sh case=10 reponse=-1 while [ $reponse -ne 8 ]; do echo "0) Activer le routage" echo "1) Effacer les tables" echo "2) Interdir le passage des règles" echo "3) Autoriser le passage des règles" echo "4) Autoriser les DNS" echo "5) Interdir les DNS" echo "6) Autoriser le trafic HTTP" echo "7) Interdir le trafic HTTP" echo "8) QUITTER" read reponse case $reponse in 0) echo 1 > /proc/sys/net/ipv4/ip_forward ;; 1) iptables -F iptables -t nat -F ;; 2) iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP ;; 3) iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT ;; 4) iptables -A FORWARD -p udp -d 212.180.1.79 -i eth0 -o eth1 --dport 53 -j ACCEPT iptables -A FORWARD -p udp -s 212.180.1.79 -i eth1 -o eth0 --sport 53 -j ACCEPT iptables -A FORWARD -p udp -d 212.180.0.137 -i eth0 -o eth1 --dport 53 -j ACCEPT iptables -A FORWARD -p udp -s 212.180.1.79 -i eth1 -o eth0 --sport 53 -j ACCEPT iptables -A OUTPUT -p udp --dport 53 -d 212.180.1.79 -j ACCEPT iptables -A OUTPUT -p udp --sport 53 -s 212.180.1.79 -j ACCEPT ;; 5) iptables -A FORWARD -p udp -d 212.180.1.79 -i eth0 -o eth1 --dport 53 -j DROP iptables -A FORWARD -p udp -s 212.180.1.79 -i eth1 -o eth0 --sport 53 -j DROP iptables -A FORWARD -p udp -d 212.180.0.137 -i eth0 -o eth1 --dport 53 -j DROP iptables -A FORWARD -p udp -s 212.180.1.79 -i eth1 -o eth0 --sport 53 -j DROP iptables -A OUTPUT -p udp --dport 53 -d 212.180.1.79 -j DROP iptables -A OUTPUT -p udp --sport 53 -s 212.180.1.79 -j DROP iptables -A OUTPUT -p udp --dport 53 -d 212.180.0.137 -j DROP iptables -A OUTPUT -p udp --sport 53 -s 212.180.0.137 -j DROP ;; 6) iptables -A FORWARD -p tcp -o eth1 -i eth0 --dport 80 ACCEPT iptables -A FORWARD -p tcp -i eth1 -o eth0 --sport 80 -mstate --state ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --sport 80 -j ACCEPT ;; 7) iptables -A FORWARD -p tcp -o eth1 -i eth0 --dport 80 DROP iptables -A FORWARD -p tcp -i eth1 -o eth0 --sport 80 -mstate --state ESTABLISHED -j DROP iptables -A OUTPUT -p tcp --dport 80 -j DROP iptables -A INPUT -p tcp --sport 80 -j DROP ;; 8) echo "bye" ;; *) echo "reponse incorrecte" ;; esac done
Ceane
Messages postés
40
Date d'inscription
jeudi 12 avril 2007
Statut
Membre
Dernière intervention
11 juin 2007
1
11 juin 2007 à 11:47
11 juin 2007 à 11:47
bon alors j'ai modifier le début
case=0
while ["$reponse" != 8];
mais.....il me fait toujours la meme erreur...
c'est le case $reponse qui pas passe....peut etre devrais-je mettre avant le while ceci
reponse=0 a la place de case=0
Tu en pense quoi ??
case=0
while ["$reponse" != 8];
mais.....il me fait toujours la meme erreur...
c'est le case $reponse qui pas passe....peut etre devrais-je mettre avant le while ceci
reponse=0 a la place de case=0
Tu en pense quoi ??
Ceane
Messages postés
40
Date d'inscription
jeudi 12 avril 2007
Statut
Membre
Dernière intervention
11 juin 2007
1
11 juin 2007 à 12:11
11 juin 2007 à 12:11
et meme quand je fais ca
case=8
while ["$reponse" -le $case];
j'ai l'impression qu'il voit meme po le while car il ne m'affiche rien....
et j'obtiens tout l'erreur avec le case $reponse in....
Bizare
Pitié help me
case=8
while ["$reponse" -le $case];
j'ai l'impression qu'il voit meme po le while car il ne m'affiche rien....
et j'obtiens tout l'erreur avec le case $reponse in....
Bizare
Pitié help me
Ceane
Messages postés
40
Date d'inscription
jeudi 12 avril 2007
Statut
Membre
Dernière intervention
11 juin 2007
1
11 juin 2007 à 12:23
11 juin 2007 à 12:23
Bon j'ai fais des modifs maintenant j'obtiens d'autre erreur
: N'est pas un répertoire/sh/
: command not found:
iptables.sh: line 81: unexpected EOF while looking for matching `"'
iptables.sh: line 88: syntax error: unexpected end of file
alors la .....
je ne sais pas
j'ai inversé le done et le esac...rien a faire....et pour ma ligne 81 c mon case 8)...je vois pas non plus
: N'est pas un répertoire/sh/
: command not found:
iptables.sh: line 81: unexpected EOF while looking for matching `"'
iptables.sh: line 88: syntax error: unexpected end of file
alors la .....
je ne sais pas
j'ai inversé le done et le esac...rien a faire....et pour ma ligne 81 c mon case 8)...je vois pas non plus
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
11 juin 2007 à 14:18
11 juin 2007 à 14:18
fais un copier coller de ce que je t'ai donné. J'ai pas dit -le mais -ne. Il y a pas non plus d'apostrophes autour de $reponse.
Donc fais un copier coller et dis moi les erreurs qui en résultent.
Bonne chance
Donc fais un copier coller et dis moi les erreurs qui en résultent.
Bonne chance
Ceane
Messages postés
40
Date d'inscription
jeudi 12 avril 2007
Statut
Membre
Dernière intervention
11 juin 2007
1
11 juin 2007 à 14:31
11 juin 2007 à 14:31
: command not found:
iptables.sh: line 8: syntax error near unexpected token `)'
'ptables.sh: line 8: `echo 0) " Activer le routage "
Ca change c deja ca ^^
Merci de m'aider au faut !!! :)
iptables.sh: line 8: syntax error near unexpected token `)'
'ptables.sh: line 8: `echo 0) " Activer le routage "
Ca change c deja ca ^^
Merci de m'aider au faut !!! :)
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
>
Ceane
Messages postés
40
Date d'inscription
jeudi 12 avril 2007
Statut
Membre
Dernière intervention
11 juin 2007
11 juin 2007 à 14:42
11 juin 2007 à 14:42
Je re-répète. lol. Tu effaces tout ton fichier. Et tu colles exactement ce que j'ai mis.
Car là visiblement, tu as écrit : echo 0) "..." au lieu de echo "0)...".
Normalement ça devrait marcher, mais supprimer tout, et recopie-colle. lol
Tiens moi au courant
Car là visiblement, tu as écrit : echo 0) "..." au lieu de echo "0)...".
Normalement ça devrait marcher, mais supprimer tout, et recopie-colle. lol
Tiens moi au courant
Ceane
Messages postés
40
Date d'inscription
jeudi 12 avril 2007
Statut
Membre
Dernière intervention
11 juin 2007
1
>
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
11 juin 2007 à 15:20
11 juin 2007 à 15:20
J'ai copier ton fichier en entier et ca me fait
: command not found:
: command not found:
iptables.sh: line 21: syntax error near unexpected token `newline'
'ptables.sh: line 21: `case $reponse in
c zarb quand meme
: command not found:
: command not found:
iptables.sh: line 21: syntax error near unexpected token `newline'
'ptables.sh: line 21: `case $reponse in
c zarb quand meme
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
>
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
11 juin 2007 à 16:08
11 juin 2007 à 16:08
Oui en effet
Bon on va tenter autre chose dans le même genre lol.
Supprime ton fichier. Et tu en recrées un autre et tu colles le code.
Et tu relances le programme.
Sur mon ordi, ça marche c'est pour ça que je m'obstine comme ça lol.
Bonne chance quand même.
Bon on va tenter autre chose dans le même genre lol.
Supprime ton fichier. Et tu en recrées un autre et tu colles le code.
Et tu relances le programme.
Sur mon ordi, ça marche c'est pour ça que je m'obstine comme ça lol.
Bonne chance quand même.