SNX build 800007075 de 2012, utilisé pour prendre en charge VPN en ligne de commande. Je l'ai donc testé, et voilà, il fonctionne toujours avec les dernières distributions et les derniers noyaux 4.x / 5.x.
Donc, en fin de compte, mon autre réponse dans ce fil est vraie, si vous ne pouvez pas vous procurer la build SNX 800007075 ou si cette version spécifique de SNX cesse de fonctionner avec les versions Linux actuelles (cela pourrait arriver dans un proche avenir) ou si vous avez besoin du support OTP .
Actuellement, la solution installe alors cette dernière version spécifique de SNX qui prend toujours en charge le VPN à partir de la ligne de commande.
1) Pour installer la snx
build 800007075, récupérez-la à partir de:
wget https://starkers.keybase.pub/snx_install_linux30.sh?dl=1 -O snx_install.sh
Pour les systèmes Debian et 64 bits basés sur Debian comme Ubuntu et Linux Mint, vous devrez peut-être ajouter l'architecture 32 bits:
sudo dpkg --add-architecture i386
sudo apt-get update
J'ai dû installer les packages 32 bits suivants:
sudo apt-get install libstdc++5:i386 libx11-6:i386 libpam0g:i386
Exécutez ensuite le snx
script d'installation:
chmod a+rx snx_install.sh
sudo ./snx_install.sh`
Vous aurez maintenant un /usr/bin/snx
exécutable binaire client 32 bits. Vérifiez s'il manque des bibliothèques dynamiques avec:
sudo ldd /usr/bin/snx
Vous ne pouvez procéder aux points suivants que lorsque toutes les dépendances sont satisfaites.
Vous devrez peut-être exécuter manuellement d'abord snx -s CheckpointURLFQDN -u USER
, avant de créer un script pour toute utilisation automatique, pour que la signature VPN soit enregistrée dans /etc/snx/USER.db
.
2) Avant de l'utiliser, vous créez un ~/.snxrc
fichier avec le contenu suivant:
server IP_address_of_your_VPN
username YOUR_USER
reauth yes
3) Pour la connexion, tapez 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 vous comprenez les risques de sécurité liés au codage en dur d'un mot de passe VPN dans un script, vous pouvez également l'utiliser comme:
echo 'Password' | snx
4) Pour fermer / déconnecter le VPN, alors que vous pouvez arrêter / tuer snx
, le meilleur moyen officiel est de lancer la commande:
$snx -d
SNX - Disconnecting...
done.
voir également les problèmes de configuration de l'outil Linux Checkpoint SNX pour obtenir des clarifications sur la snx
version à utiliser.
5) Si l'automatisation de la connexion et l'acceptation d'une nouvelle signature (et la compréhension des implications pour la sécurité), j'ai écrit un expect
script, que j'ai appelé le script snx_login.exp
; pas très sécurisé, cependant vous pouvez automatiser votre connexion, en l'appelant avec le mot de passe comme argument:
#!/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
}
PS. Attention snx
ne prend pas en charge OTP seul, vous devrez utiliser le snxconnect
script présent sur l'autre réponse si vous l'utilisez.
PPS @gibies a attiré mon attention sur le fait qu'en utilisant un etoken, le champ du mot de passe obtient le mot de passe de l'etoken et non un mot de passe fixe.
snx -s CheckpointURLFQDN -u USER
et exécuté uniquement jusqu'à l'étape 3.En travaillant pour installer l'interface officielle SSL VPN Extender de Firefox dans la question VPN SSL Network Extender dans Firefox , j'ai découvert et résolu quelques pièces supplémentaires du puzzle de cette question.
Apparemment, bien que l'utilisation en ligne de commande de
snx
from checkpoint ait été interrompue, le client basé sur le Web tel que décrit dans la publication liée fonctionne toujours. Cependant, il existe un client de ligne de commande python, qui essaie de répliquer l'interface Web + Java au-dessus dusnx
client, et ce message concerne sa configuration pour qu'il fonctionne.Premièrement, l'
snxvp
installation depython pip
ne fonctionne pas. Il y a une version corrigée mise à jour sur https://github.com/agnis-mateuss/snxvpn , qui a quelques correctifs utiles, y compris une option pour ignorer les certificats non signés et / ou expirés, et plus intéressant, étant compatible python2 et python3.De plus, toutes les URL sur
snxconnect.py
doivent être changées desslvpn/
``.Donc, les instructions étape par étape sont à peu près:
1) Tout d'abord, installer le
snx
setup:Si dans le VPN, pour obtenir le fichier d'installation, procédez comme suit:
Sinon, vous devrez l'obtenir à partir de l'interface Web, comme décrit dans la réponse liée.
Pour Debian, vous pourriez avoir besoin de:
J'ai dû installer ce qui suit:
Exécutez ensuite:
Vous aurez maintenant un
/usr/bin/snx
exécutable binaire client 32 bits. Vérifiez s'il manque des bibliothèques dynamiques avec:Vous ne pouvez procéder aux points suivants que lorsque toutes les dépendances sont satisfaites.
Je ne sais pas si vous devez d'abord exécuter
snx -s CheckpointURLFQDN -u USER
avant d'utilisersnxconnect
, pour que la signature VPN soit enregistrée sur/etc/snx/USER.db
.2) Nous avons maintenant l'
snxconnect
utilitaire python. Un tel programme essaie d'émuler l'interface Web, et plus intéressant encore, il n'a pas besoin de Java pour s'authentifier.Donc, pour installer et configurer
snxconnect
, exécutez en tant que root:. puis faites en tant que root, pour python3: (recommandé)
. ou à la place , faites en tant que root, pour python2:
3) Après l'avoir installé, vous pouvez exécuter en tant qu'utilisateur non privilégié:
Si tout s'est bien passé, il vous demandera le mot de passe, puis affichera:
Si vous rencontrez des problèmes pour obtenir ce message, et que vous obtenez à la place plusieurs fois de suite, le message: "Réponse inattendue, réessayez.", Effectuez la méthode Firefox, puis déconnectez-vous et déconnectez-vous correctement, en attendant quelques minutes avant d'essayer le
snxconnect
commande à nouveau.4) Le fichier des cookies sera créé dans ~ / .snxcookies, après une utilisation réussie.
Après avoir établi le VPN, vous pouvez vérifier avec
ip address
ouifconfig
vous avez maintenant unetunsnx
interface:ip route
vous montrera également de nouveaux itinéraires passant par l'tunsnx
interface.5) Pour fermer / déconnecter le VPN, alors que vous pouvez arrêter / tuer
snxconnect
, le meilleur moyen officiel est d'émettre la commande:De plus, j'ai également découvert:
snxconnect
semble se comporter mieux lors de la déconnexion de la connexion VPN précédente et de la déconnexion dans l'interface Web officielle s'il y a un problème étrange (il faut essayer de le fairesnx -d
pour voir s'il produit le même résultat);snx
le posséder, comme dessnxconnect
discussions avec sonsnx
utilisation;snxconnect
/snx
est traité comme un hôte virtuel, et en tant que tel, vous ne pouvez pas utiliser directement l'adresse IP VPN;snx_install.sh
script;python2
un compromis pour moins d'espace, mais comme python2 est en cours de suppression,snxconnect
dans un avenir proche, il pourrait ne pas le prendre en charge;/sslvpn
chaînes, car mes URL ne commencent pas par/sslvpn
. Je vérifierais votre cas particulier. Je n'ai absolument aucune idée si la présence de cette chaîne dans le code est due à une ancienne version, j'aimerais avoir des commentaires;snxconnect
le nom d'hôte CheckPoint doit être le nom exact que l'interface Web vous montre une fois authentifié, car il s'agit d'un hôte virtuel Web. Sinon, vous ne réussirez pas à établir le VPN;snx
utilisation, un fichier avec la signature du serveur VPN / Checkpoint sera créé à/etc/snx/USER.db
;snxconnect
commesnx
seul ne le prend pas en charge.la source
-MC yes
à lasnxconnect
commande pour qu'elle fonctionne dans mon cas. Fonctionne comme un charme maintenant, merci beaucoup pour cela, Rui!