error a pasar parámetro a una funcion bash y iptables

Topics Programming. Not necessarily about the BrazilFW!

error a pasar parámetro a una funcion bash y iptables

Mensagempor silverte » Qui Mai 21, 2015 8:37 pm

Que estare haciendo mal? si pruebo las reglas sin variables y funciona :S
Código: Selecionar todos
#!/bin/bash
liberar(){
   iptables -D FORWARD -s $i -p tcp --dport 80 -j ACCEPT
   iptables -D FORWARD -s $i -p tcp --dport 22 -j ACCEPT
   iptables -t nat -D PREROUTING -s $i -p tcp --dport 80 -j DNAT --to-destination 192.168.3.1:8005
   iptables -t nat -D PREROUTING -s $i -p tcp --dport 80 -j DNAT --to-destination 192.168.3.1:8005
   iptables -D FORWARD -s $i -j DROP
   echo "$i Liberado"
}

bloquear() {
   iptables -A FORWARD -s $i -p tcp --dport 80 -j ACCEPT
   iptables -A FORWARD -s $i -p tcp --dport 22 -j ACCEPT
   iptables -t nat -A PREROUTING -s $i -p tcp --dport 80 -j DNAT --to-destination 192.168.3.1:8005
   iptables -t nat -A PREROUTING -s $i -p tcp --dport 80 -j DNAT --to-destination 192.168.3.1:8005
   iptables -A FORWARD -s $i -j DROP
   echo "$i Bloqueado"
   exit
}
prebloquear() {
   iptables -t nat -A PREROUTING -s $i -p tcp --dport 80 -j DNAT --to-destination 192.168.3.1:8005
   iptables -t nat -A PREROUTING -s $i -p tcp --dport 80 -j DNAT --to-destination 192.168.3.1:8005
   echo "$i Probloqueado"
   exit
}

if [ "$#" -ne 2 ]; then
    echo "Faltan parámetros";
    echo "Debe ser: $0 comando ip"
    exit 1;
fi

case "$1" in
   ban) bloquear $i;;
   unban) liberar $i;;
   preban) prebloquear $i;;
esac
   


me da el siguiente error
Código: Selecionar todos
[brazilfw]/# sh /partition/webserver/htdocs/script/firewall ban 172.16.0.11
Bad argument `tcp'
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `tcp'
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `tcp'
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `tcp'
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `DROP'
Try `iptables -h' or 'iptables --help' for more information.
Avatar do usuário
silverte
BFW Participative
 
Mensagens: 171
Registrado em: Sáb Jan 09, 2010 3:52 pm
Localização: Puerto Ordaz, Venezuela
BrazilFW Box:

Re: error a pasar parámetro a una funcion bash y iptables

Mensagempor BlackByte » Qui Mai 21, 2015 10:52 pm

Hola que tal
cuando a un archivo bash se la pasa variables las recibe como $1,$2,etc dependiendo del orden y la cantidad
esa es la variable que tenes que utilizar $1 en lugar de $i ;-)
Saludos :o!
Avatar do usuário
BlackByte
BFW Add-on Developer
BFW Beneméritos
BFW Team
 
Mensagens: 459
Registrado em: Ter Fev 17, 2009 6:54 pm
Localização: Corrientes,Argentina
BrazilFW Box: 3.262 con Load Balance, Subredes y Dhcp
AddOn :Mysar + Bandwidthd + Guren + PHPMyAdmin +IfTop
AMD Phenom(tm) II X2 555 Processor @ (2x) 3.214 GHz 3 GB RAM HD 500Gb

Re: error a pasar parámetro a una funcion bash y iptables

Mensagempor silverte » Sex Mai 22, 2015 4:25 am

ya logre solucionar pero ahora estoy volviendome loco con lo siguiente :S
Código: Selecionar todos
#!/bin/bash
$BANNEDIPS='/partition/webserver/htdocs/script/datos.txt'


y eso me arroja el siguiente error:
Código: Selecionar todos
[brazilfw]/# sh  /partition/webserver/htdocs/script/autoprebloq
/partition/webserver/htdocs/script/autoprebloq: line 2: =/partition/webserver/htdocs/script/datos.txt: not found


les di permiso de ejecución y nada :s no se que hacer!
Avatar do usuário
silverte
BFW Participative
 
Mensagens: 171
Registrado em: Sáb Jan 09, 2010 3:52 pm
Localização: Puerto Ordaz, Venezuela
BrazilFW Box:


Voltar para Programming

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron