
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 .
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]
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 .