Estoy haciendo un mini-firewall con iptables + un miniscript en shell script (Bash).
De momento estoy logeando todo el trafico en syslog... para ello tengo esto:
Código:
Es decir, lo guardo via syslog y añado el prefijo "firewall ", notese el espacio al final de la cadena prefix "firewall ". Es importante el espacio del final ya que si no se solapa... con la siguiente cadena, ejemplo:iptables -A INPUT -p tcp --dport 22 -j LOG --log-prefix "firewall "
Correcto:
Cita:
Mal:Feb 6 00:47:59 linux kernel: firewall IN= OUT=eth0 SRC=10.10.10.10 DST=10.10.10.11 LEN=40 TOS=0x00 PREC=0x00 TTL=45 ID=57270 PROTO=TCP SPT=46519 DPT=860 WINDOW=2048 RES=0x00 SYN URGP=0
Cita:
El prefijo puede variar y como va a aparecer en varios sitios.. he preparado una variable para almacenar esa cadena, en concreto lo que tengo es esto:Feb 6 00:47:59 linux kernel: firewallIN= OUT=eth0 SRC=10.10.10.10 DST=10.10.10.11 LEN=40 TOS=0x00 PREC=0x00 TTL=45 ID=57270 PROTO=TCP SPT=46519 DPT=860 WINDOW=2048 RES=0x00 SYN URGP=0
Código:
Al ejecutar obtengo este error:LOG="-j LOG --log-prefix \"firewall \"" iptables -A INPUT -p tcp --dport 22 $LOG
Cita:
He probado de muchisimas formas, sin exito... ¿Alguna forma de solucionar este problema? Gracias! # /etc/init.d/firewall.sh
Bad argument `"'
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `"'
Try `iptables -h' or 'iptables --help' for more information.