Mensaje en cada inicio, luego de poner un scritp en /etc/network/if-pre-up.d

10 envíos / 0 nuevos
Último envío
#1 Lun, 16/10/2017 - 08:12
rodolfoed
Imagen de rodolfoed
Desconectado/a
se unió: 12/09/16

Mensaje en cada inicio, luego de poner un scritp en /etc/network/if-pre-up.d

Buenas a todos, he buscado alguna ayuda al respecto en internet, pero no clarifica mi duda.

Debian 9.2, i386, servidor puro, sin gui, 512 de ram, sera un firewall.

Tengo una consulta:
He seguido la wiki debian para iniciar las reglas iptables, hae creado
un archivo dentro /etc/network/if-pre-up.d, le di permiso de
ejecución, pero cada vez que inicio sale el mensaje por unos segundos
(5 a 6) que dice:
A job is running for Raise network interfaces (14s/5min 7s)

Entiendo que un trabajo esta corriendo en las interfaces, pero antes
que ponga ese script no salia eso al inicio de Debian 9.2, no sé si es
para preocuparse o continuo con mis configuraciones en dicho servidor,
saludos a todos, gracias.

Nota:

/etc/network/interfaces no contiene nada de hot-plug, no tengo archivo resolvconf, toda la configuración es manual, sin nada extra, sigo la wiki debian para todo, funciona todo bien, pero al iniciar debian veo ese mensaje, es corto, pero antes no había, entoendo que dice que esta corriendo un trabajo en las interfaces para levantarse, gracias.

Lun, 16/10/2017 - 10:22
rockyiii
Imagen de rockyiii
Desconectado/a
administrator
se unió: 11/01/16

el cartel parece que sea una notificación que dice algo asi como "Se está ejecutando un trabajo para aumentar las interfaces de red (14 s / 5 min 7 s)" Que tampoco quiere decir que se ejecute, solo que pasados esos 14s o 5 minutos entendería que va a seguir con la carga del sistema
podrías poner el enlace del tuto de la wiki de debian que mencionas?
podrías poner el script que creaste, sin revelar nada personal?
Entendería que tu script se estaria iniciando previo a la carga de la interfaz de red ¿si son reglas de iptables porque iniciar ese script como demonio o con cron ?

saludos...

Lun, 16/10/2017 - 19:25
rodolfoed
Imagen de rodolfoed
Desconectado/a
se unió: 12/09/16

Buen día y gracias por responder, seguí este howto https://wiki.debian.org/iptables, y en /etc/reglas.h esta el script que es muy basico, solo limpia reglas iptables y hace nat, luego en /etc/network/if-pre-up.d dentro se crea otro archivo con nombre iptables e inicio con lo clasico #!/bin/sh, uso esa shell sh, y ejecuto con sh /etc/reglas.sh, nada del otro mundo.

Mi duda es ese mensaje es para preocuparse? o nada importante? porque las reglas las carga bien, funciona en cada boot, esa es mi duda porque aparece eso.

Live free or die :)

Mié, 18/10/2017 - 02:45
Panko
Imagen de Panko
Desconectado/a
moderador
se unió: 18/02/16

y que has puesto en if-pre-up.d?

y cual es el script /etc/reglas.sh?

Adivinos somos poco, la verdad...

 

P.D.: NetworkManager tiene algunas funciones para el uso de scripts en redes desactivadas para evitar precisamente esos problemas... que no quiero decir que sea tu caso.

  No hay bar que por bien no venga....
Mié, 18/10/2017 - 06:06 (Responder a #4)
rodolfoed
Imagen de rodolfoed
Desconectado/a
se unió: 12/09/16

Hola, smiley

Como dije en el segundo post, en if-pre-up.d como dice el WIKI debian he creado un archivo llamado iptables con permiso de ejecución +x:

#!/bin/sh

sh /etc/reglas.sh

 

También indiqué que he creado un archivo en /etc/ con nombre reglas.sh (/etc/reglas.sh) cuyo contenido:

#!/bin/sh

iptables -F

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -o interfazdecaraainternet -j MASQUERADE

sleep 2

echo 'Ok'

sleep 2

Como dice la wiki de esa manera mis reglas iptables va a iniciar en tiempo de arranque de forma automatica, pero como les indico cuando inicia casi al terminar veo ese mensaje de an job running...

Live free or die :)

Mié, 18/10/2017 - 11:20
rockyiii
Imagen de rockyiii
Desconectado/a
administrator
se unió: 11/01/16

Entendería que de esta manera tus reglas de iptables se cargan durante el arranque, previo al inicio de la configuración de red y esto se produciría siempre y cuando, haya una conexión de red, de lo contrario no se cargarían. 
Ahora si la ejecutas como demonio las reglas siempre se cargarían y el consumo de RAM podría ser algo menor

Yo pondría el archivo reglas.sh en /usr/local/bin y crearía en /etc/systemd/system/ un archivo llamado misreglas.service con el siguiente contenido:

[Unit]
Description=Mis reglas de iptables
DefaultDependencies=no
After=systemd-sysctl.service
Before=sysinit.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/reglas.sh
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target

 Y para que el servicio se inicie desde el arranque:
 

su
systemctl enable misreglas.service
systemctl start misreglas.service

con systemd tranquilamente podes establecer reglas como que nuestro servicio se ejecute después de x servicio pero a si mismo antes de z servicio
saludos...

Mié, 18/10/2017 - 12:50
caliban
Imagen de caliban
Conectado
moderador
se unió: 14/01/16

Hace una prueba , quita el pre-up  y toda configuración  en interfaces, luego agrega la ejecucion del escript en  crontab root , por ejemplo en el inicio o renicio algo asi como 

@reboot sleep 20 ;script.sh  

O sea al inicio ( o reinicio ) cron ejecutara lo puesto , le das un tiempo de demora para permitir que cargue todo sistema de red ( levantar interfaces si hiciera falta o algún otro service) luego ejecuta el script de iptables.

De este modo permitís que levante todo el sistema de red y luego aplique los filtros de iptables.

Fijate si con ello se quita el mensaje de error.

Podes usar el crontab de root ,directamente, o el de tu usuario  pero deberas darle privilegios para ejecutar iptables.en este último caso.

Mié, 18/10/2017 - 18:20
Panko
Imagen de Panko
Desconectado/a
moderador
se unió: 18/02/16

Suponiendo que no te funcione o aclares con los servicios de systemd y optes por la forma en que lo has hecho:

En primer lugar, en vez de dejar el script con las reglas iptables en /etc/reglas.sh, muevelo a /usr/local/bin/reglas.sh, es un sitio más "normal" para su ubicación y es una ruta donde se colocan los ejecutables del usuario (en /etc verás que pocos ejecutables hay, no es una ruta destinada a ello).

En segundo lugar, el script que has puesto en /etc/network/if-pre-up.d/, tampoco es la forma correcta de hacerlo. Lo ideal sería que creases un enlace al script reglash.sh con el comando, como root

ln -s /etc/network/if-pre-up.d/reglas /usr/local/bin/reglas.sh

es una forma más limpia de hacer las cosas.

Y en tercer lugar, metes dos sleep de 2 segundos al script y luego te quejas de que te aparece ese mensaje durante 4 o 5 segundos? si tu mismo estás diciendo en el script que espere ese tiempo...

  No hay bar que por bien no venga....
Jue, 19/10/2017 - 01:55
rodolfoed
Imagen de rodolfoed
Desconectado/a
se unió: 12/09/16

Muchas gracias! a todos de veras estoy agradecido, lo pondré en práctica cada recomendación. La forma de proceder no es porque yo las quise así, seguí casi al pie de la letra de la wiki debian que si se trata de la wiki oficial de Debian no es que la realice cualquier persona con poca experiencia, supongo que es de alguien que sabe lo que hace, o estoy equivocado? esta wiki sigo https://wiki.debian.org/iptables, siempre he tratado de seguir howtos oficiales, saludos cordiales.

En conclusión entonces no es un problema para preocuparse, es solo que consume memoria ram? antes usaba el archivvo rc.local, cosa que en debian 9 ya no existe y por ello procedí a este modo, con rc.local podia levantar reglas al final de todo en tiempo de arranque.

Nota: reiterando que mi duda es por qué aparece ese mensaje un job is running, lo ví en internet en varios sitios y no necesariamente sea por los sleep que uso, solo quiero saber si ese mensaje indica que algo podría andar mal, traduciendo literalmente no indica algo peligroso, pero antes no aparecía, esa era mi duda, disculpen mi ignorancia, saludos.

Live free or die :)

Jue, 19/10/2017 - 02:29 (Responder a #9)
rodolfoed
Imagen de rodolfoed
Desconectado/a
se unió: 12/09/16

Panko wrote:

Y en tercer lugar, metes dos sleep de 2 segundos al script y luego te quejas de que te aparece ese mensaje durante 4 o 5 segundos? si tu mismo estás diciendo en el script que espere ese tiempo...

Pues tienes razón, acabo de comentar las líneas sleep y ya no veo ese mensaje surprise, los puse porque cuando ejecutaba el archivo /etc/reglas.sh quería ver si todo salió ok y para verlo y que no se pase rapido le puse 2 segundo, lo dejé asi, bueno gracias por tu observación.

Live free or die :)