Pular para o conteúdo

script não funciona [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar
01 02

13. Re: script não funciona [RESOLVIDO]

Enviado em 14/12/2012 - 23:23h

executou normalmente aí?
porque aqui ainda deu esse erro:

./defense.sh: line 2: [: entrada: integer expression expected
./defense.sh: line 5: [: entrada: integer expression expected
./defense.sh: line 10: [: lp: integer expression expected
./defense.sh: line 18: [: aceitar: integer expression expected
./defense.sh: line 21: [: aceitar: integer expression expected
iptables v1.4.4: host/network `lp' not found
Try `iptables -h' or 'iptables --help' for more information.
ping: unknown host lp

Responder tópico

14. Re: script não funciona [RESOLVIDO]

Enviado em 14/12/2012 - 23:30h

sthenno escreveu:

executou normalmente aí?
porque aqui ainda deu esse erro:

./defense.sh: line 2: [: entrada: integer expression expected
./defense.sh: line 5: [: entrada: integer expression expected
./defense.sh: line 10: [: lp: integer expression expected
./defense.sh: line 18: [: aceitar: integer expression expected
./defense.sh: line 21: [: aceitar: integer expression expected
iptables v1.4.4: host/network `lp' not found
Try `iptables -h' or 'iptables --help' for more information.
ping: unknown host lp
Tenta assim:
#!/bin/bash
if [ "$1" -eq "entrada" ]; then
ch="INPUT"
elif [ "$1" -eq "saida" ]; then
ch="OUTPUT"
else
fi

if [ "$2" -eq "lp" ]; then
ip=127.0.0.1
else
ip="$2"
fi


if [ "$3" -eq "aceitar" ]; then
op="ACCEPT"
elif [ "$3" -eq "derrubar" ]; then
op="DROP"
else
op="$3"
fi

# [tabela] [chain][ip] [opções]
iptables -t filter -A "$ch" -d "$ip" -j "$op"

ping "$ip"

15. Re: script não funciona [RESOLVIDO]

Enviado em 15/12/2012 - 00:30h

deu esse outro erro:

./defense.sh: line 7: syntax error near unexpected token `fi'
./defense.sh: line 7: `fi'

mas é preciso o fi.

16. Re: script não funciona [RESOLVIDO]

Enviado em 15/12/2012 - 09:08h

sthenno escreveu:

deu esse outro erro:

./defense.sh: line 7: syntax error near unexpected token `fi'
./defense.sh: line 7: `fi'

mas é preciso o fi.
Faz assim então:
#!/bin/bash
if [ "$1" = "entrada" ]; then
ch="INPUT"
elif [ "$1" = "saida" ]; then
ch="OUTPUT"
else
ch="$1"
fi

if [ "$2" = "lp" ]; then
ip=127.0.0.1
else
ip="$2"
fi


if [ "$3" = "aceitar" ]; then
op="ACCEPT"
elif [ "$3" = "derrubar" ]; then
op="DROP"
else
op="$3"
fi

# [tabela] [chain][ip] [opções]
iptables -t filter -A $ch -d $ip -j $op
ping "$ip"

17. Re: script não funciona [RESOLVIDO]

Enviado em 15/12/2012 - 12:18h

agora deu certo. vlw. :)
qual era o problema mesmo?
por que somente nos argumentos do comando iptables não se colocou aspas?

ah, quando eu mudo 'aceitar' para 'derrubar', se uso ping continua se conectando normalmente com localhost. Por quê?

18. Re: script não funciona [RESOLVIDO]

Enviado em 15/12/2012 - 16:27h

Se funcionou, marque como resolvido e indique a melhor resposta, se houver. Procedimento padrão no VOL ;-)
01 02

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder