Automatice pfSense con pfSsh.php

pfsense pfssh

pfSense tiene una interfaz de usuario completamente rediseñada desde varias versiones ( consulte nuestra guía de instalación ). Todos los ajustes se pueden alcanzar y ajustar fácilmente con esta interfaz. El tablero de instrumentos libremente configurable también es una buena cosa. Sin embargo, a veces existe el caso de que le gustaría realizar la configuración a través de una API o la línea de comandos. pfSense actualmente no tiene una API, esta solo estará disponible en una de las próximas versiones. Hasta entonces, puede usar el shell de desarrollador pfSense, también llamado pfSsh.php .

Accediendo a pfSsh.php

La forma más rápida de llegar al shell del desarrollador es conectarse a pfSense a través de SSH o conectar directamente una pantalla al firewall. Si SSH aún no está activado, puede hacerlo en la interfaz web en Sistema → Avanzado .

Habilitar pfSense SSH

Es mejor prohibir iniciar sesión con una contraseña y solo permitir iniciar sesión con un certificado.

Si el acceso SSH está activado, ahora puede iniciar sesión con el usuario administrador (ajustar IP):

 $ ssh [email protected] 

pfSense CLI

En el punto 12 encontrará el shell de desarrollador, que es básicamente un shell de PHP.

Comandos de ejemplo para pfSsh.php

Aquí hay algunos comandos de muestra para mostrarle cómo usar el shell. Cada entrada es un código PHP normal y debe completarse con exec; .

Mostrar la configuración de DHCP

 shell de pfSense: print_r ($ config ["dhcpd"]); shell pfSense: exec; Formación ( [lan] => Array ( [rango] => Matriz ( [desde] => 10.0.1.7 [to] => 10.0.255.245 ) ) ) 

Establecer dominio

 Shell de pfSense: $ config ['sistema'] ['dominio'] = 'midominio.com'; shell de pfSense: write_config (); shell pfSense: exec; 

Ejecuta comandos regulares de shell

Dentro del shell de PHP también puede ejecutar comandos de shell normales colocando un "!" Delante de él:

 pfSense shell:! cat / etc / version shell pfSense: exec; 2.4.3-LIBERACIÓN 

Comandos "Grabar" y "Reproducir"

Con pfSsh.php también puede "grabar" varios comandos y "reproducirlos" más tarde. Estas llamadas sesiones son útiles para tareas recurrentes. Un ejemplo:

 Shell pfSense: grabar echoTest Se inició la grabación de echoTest. shell pfSense: echo "This \ n"; Shell de pfSense: echo "es \ n"; Shell de pfSense: echo "a \ n"; pfSense shell:! echo "prueba \ n" shell pfSense: exec; Shell pfSense: grabación de stopre Grabación detenida. 

Las entradas se guardan en / etc / phpshellsessions / y se pueden editar allí si es necesario.

La "grabación" ahora se puede reproducir de la siguiente manera:

 Shell de pfSense: echoTest de reproducción Se inició la reproducción del archivo echoTest. los es un prueba Shell pfSense: 

o directamente desde la cáscara raíz:

 $ pfSsh.php reproducción echoTest 

Conclusión

pfSsh.php es una herramienta útil para automatizar pfSense con scripts o realizar personalizaciones. Especialmente si administra varias instancias o necesita una determinada configuración una y otra vez, pfSsh.php es de gran ayuda. Por ejemplo, puede empaquetar todas las configuraciones (es decir, código PHP) en un archivo, guardarlas en / etc / phpshellsessions / y ejecutarlas, o reenviar la salida directamente a pfSsh.php:

 $ ssh [email protected] '/usr/local/sbin/pfSsh.php' <MyConfig.txt 

La publicación Automatizar pfSense con pfSsh.php apareció primero en Open School Solutions .

Deixe uma resposta