En mi máquina Ubuntu, en el /etc/sysctl.conf
archivo, tengo las opciones de filtrado de ruta inversa comentadas por defecto de esta manera:
#net.ipv4.conf.default.rp_filter=1
#net.ipv4.conf.all.rp_filter=1
pero en /etc/sysctl.d/10-network-security.conf
ellos están (nuevamente, por defecto) no comentados:
net.ipv4.conf.default.rp_filter=1
net.ipv4.conf.all.rp_filter=1
Entonces, ¿está habilitado o no el filtrado de ruta inversa? ¿Cuál de las ubicaciones de configuración tiene prioridad? ¿Cómo verifico los valores actuales de estas y otras opciones del núcleo?
fuente
sysctl -e
para editar ysysctl -f
para ejecutar la configuración?Este tipo de cosas generalmente se encuentra en las interfaces del kernel
/proc
y / o/sys
(primero, tenga en cuenta que nada en esos directorios es un archivo de disco normal, todos son líneas directas al kernel).Entonces, por ejemplo:
Parece que tengo rp_filter configurado para em1, wlan0 y "default". Puede configurarlos o desactivarlos simplemente escribiendo en el identificador de archivo:
Como se mencionó, esta es una comunicación directa con el núcleo, por lo que surte efecto de inmediato. Estos no son archivos de configuración. Si intentas hacer algo mal:
Lo que no quiere decir que no pueda arruinar las cosas de esta manera, por supuesto. Y asegúrese de leer los comentarios a continuación.
fuente
sysctl -a
...sysctl
(verman 2 sysctl
), sin embargo, esto no se transfiere a la mayoría de los otros lenguajes (lo es en algunos), y en estos casos la mejor opción es leer o escribir en proc. Bien puede ser que bashecho
pueda fallar, ya que puedo decir que las funciones de E / S de flujo de alto nivel disponibles en C y otros lenguajes pueden hacerlo. Sin embargo, el nivel bajo de lectura / escritura no lo hará. En cualquier caso, conocer la interfaz de proceso es importante, por eso loPara completar la respuesta aceptada , si bien es cierto que la
/etc/sysctl.conf
configuración tiene prioridad sobre las que se encuentran/etc/sysctl.d/
, el ejemplo expuesto en la pregunta original muestra dos variables comentadas en/etc/sysctl.conf
:y las mismas variables no comentadas en
/etc/sysctl.d/10-network-security.conf
:Esto puede ser engañoso porque un comentario no es una configuración, sino solo un comentario de lo que podría ser una configuración.
En esta situación, las variables en realidad están establecidas en 1, a pesar de que en el archivo de configuración más fuerte están comentadas.
Si en
/etc/sysctl.conf
tuvimos:entonces las variables eventualmente se establecerían en 0.
fuente