SNX build 800007075 de 2012, utilizado para soportar VPN en línea de comando Así que lo probé, y he aquí, todavía funciona con las últimas distribuciones y kernel (s) 4.x / 5.x.
Entonces, en última instancia, mi otra respuesta en este hilo es cierta, si no puede obtener SNX build 800007075 o si esa versión específica de SNX deja de funcionar con las versiones actuales de Linux (podría suceder en un futuro cercano) o si necesita soporte OTP .
Actualmente, la solución es instalar esta última versión específica de SNX que todavía admite hacer la VPN desde la línea de comandos.
1) Para instalar la snx
compilación 800007075, obténgala de:
wget https://starkers.keybase.pub/snx_install_linux30.sh?dl=1 -O snx_install.sh
Para Debian y sistemas de 64 bits basados en Debian como Ubuntu y Linux Mint, es posible que deba agregar la arquitectura de 32 bits:
sudo dpkg --add-architecture i386
sudo apt-get update
Tuve que instalar los siguientes paquetes de 32 bits:
sudo apt-get install libstdc++5:i386 libx11-6:i386 libpam0g:i386
Ejecute entonces el snx
script de instalación:
chmod a+rx snx_install.sh
sudo ./snx_install.sh`
Ahora tendrá un /usr/bin/snx
ejecutable binario de cliente de 32 bits. Compruebe si faltan bibliotecas dinámicas con:
sudo ldd /usr/bin/snx
Solo puede continuar con los siguientes puntos cuando se satisfagan todas las dependencias.
Es posible que tenga que ejecutar manualmente primero snx -s CheckpointURLFQDN -u USER
, antes de cualquier uso de secuencias de comandos automática, para la firma de VPN se guardará en /etc/snx/USER.db
.
2) Antes de usarlo, crea un ~/.snxrc
archivo con el siguiente contenido:
server IP_address_of_your_VPN
username YOUR_USER
reauth yes
3) Para conectar, escriba snx
$ snx
Check Point's Linux SNX
build 800007075
Please enter your password:
SNX - connected.
Session parameters:
===================
Office Mode IP : 10.x.x.x
DNS Server : 10.x.x.x
Secondary DNS Server: 10.x.x.x
DNS Suffix : xxx.xx, xxx.xx
Timeout : 24 hours
Si comprende los riesgos de seguridad de codificar una contraseña VPN en un script, también puede usarla como:
echo 'Password' | snx
4) Para cerrar / desconectar la VPN, mientras puede detener / matar snx
, la mejor manera oficial es emitir el comando:
$snx -d
SNX - Disconnecting...
done.
ver también problemas de configuración de la herramienta Linux Checkpoint SNX para algunas aclaraciones sobre quésnx
versión usar.
5) Si automatiza el inicio de sesión y acepta una nueva firma (y comprende las implicaciones de seguridad), escribí un expect
script, al que llamé script snx_login.exp
; no es muy seguro, sin embargo, puede automatizar su inicio de sesión, llamándolo con la contraseña como argumento:
#!/usr/bin/expect
spawn /usr/bin/snx
set password [lindex $argv 0]
expect "*?assword:*"
send -- "$password\r"
expect {
"o:" {
send "y\r"
exp_continue
}
eof
}
PD. Tenga cuidado snx
no solo es compatible con OTP, tendrá que usar elsnxconnect
script presente en la otra respuesta.
PPS @gibies me llamó la atención que al usar un etoken, el campo de contraseña obtiene la contraseña del etoken y no una contraseña fija.
snx -s CheckpointURLFQDN -u USER
Al trabajar para instalar la interfaz de SSL VPN Extender oficial de Firefox en la pregunta VPN SSL Network Extender en Firefox , descubrí y resolví algunas piezas más del rompecabezas de esta pregunta.
Aparentemente, aunque el uso de la línea de comandos
snx
desde el punto de control se ha descontinuado, el cliente basado en la web como se describe en la publicación vinculada sigue funcionando. Sin embargo, hay un cliente de línea de comandos de Python que intenta replicar la interfaz Web + Java en la parte superior delsnx
cliente, y esta publicación trata de configurarlo para que funcione.En primer lugar, el
snxvp
instalado desdepython pip
no funciona. Hay una versión parcheada actualizada en https://github.com/agnis-mateuss/snxvpn , que tiene algunos parches útiles, incluida una opción para ignorar certificados no firmados y / o caducados, y más interesante, siendo compatible con python2 y python3.Además, todas las URL en
snxconnect.py
deben cambiarse desslvpn/
a ``.Entonces, las instrucciones paso a paso son aproximadamente:
1) En primer lugar, instalando el
snx
configuración:Si está en la VPN, para obtener el archivo de instalación, haga lo siguiente:
De lo contrario, deberá obtenerlo de la interfaz web, como se describe en la respuesta vinculada.
Para Debian, podría necesitar:
Tuve que instalar lo siguiente:
Corre entonces:
Ahora tendrá un
/usr/bin/snx
ejecutable binario de cliente de 32 bits. Compruebe si faltan bibliotecas dinámicas con:Solo puede continuar con los siguientes puntos cuando se satisfagan todas las dependencias.
No estoy seguro de si necesita ejecutar primero
snx -s CheckpointURLFQDN -u USER
antes de usarsnxconnect
, ya que la firma VPN se guardará en/etc/snx/USER.db
.2) Ahora tenemos la
snxconnect
utilidad python. Dicho programa intenta emular la interfaz web y, lo que es más interesante, no necesita Java para autenticarse.Entonces, para instalar y configurar
snxconnect
, ejecute como root:. luego haga como root, para python3: (recomendado)
. o en su lugar , haz como root, para python2:
3) Después de instalarlo, puede ejecutarlo como un usuario sin privilegios:
Si todo salió bien, le pedirá la contraseña y luego mostrará:
Si tiene problemas para obtener este mensaje y, en su lugar, recibe varias veces seguidas, el mensaje: "Respuesta inesperada, intente nuevamente", realice el método de Firefox y Desconecte y cierre la sesión correctamente, espere un par de minutos antes de intentar
snxconnect
comando de nuevo.4) El archivo de cookies se creará en ~ / .snxcookies, después de un uso exitoso.
Después de establecer la VPN, puede consultar
ip address
oifconfig
ahora tiene unatunsnx
interfaz:ip route
le mostrará también nuevas rutas que pasan por latunsnx
interfaz.5) Para cerrar / desconectar la VPN, mientras puede detener / matar
snxconnect
, la mejor manera oficial es emitir el comando:Además, también descubrí:
snxconnect
parece que se comporta mejor al desconectar la conexión VPN anterior y cerrar sesión en la interfaz web oficial si hay algún problema extraño (debe intentar hacerlosnx -d
para ver si produce el mismo resultado);snx
ser propietario, ya quesnxconnect
habla desnx
usarlo;snxconnect
/snx
se maneja como un host virtual y, como tal, no puede usar directamente la dirección IP de VPN;snx_install.sh
script;python2
una compensación por menos espacio, sin embargo, dado que python2 se está eliminando gradualmente,snxconnect
en un futuro cercano podría no ser compatible;/sslvpn
cadenas, ya que mis URL no comienzan con/sslvpn
. Verificaría tu caso particular. No tengo ni idea de si la presencia de esa cadena en el código se debe a una versión anterior, me encantaría recibir algunos comentarios;snxconnect
el nombre de host de CheckPoint tiene que ser el nombre exacto que la interfaz web le muestra una vez autenticado allí, ya que es un host virtual web. De lo contrario, no logrará establecer la VPN;snx
se usa, se creará un archivo con la firma del servidor VPN / Checkpoint en/etc/snx/USER.db
;snxconnect
ya quesnx
solo no lo admite.fuente
-MC yes
alsnxconnect
comando para que funcione en mi caso. Ahora funciona como un encanto, ¡muchas gracias por esto, Rui!