J'utilise Juniper Networks (un programme Java qui établit une connexion VPN).
Existe-t-il une commande en ligne de commande permettant de vérifier si je suis connecté à Juniper?
Cela ressemble à une sorte de VPN SSL.
Si vous exécutez ifconfig -a
, vous devriez voir quelque chose comme tunX
ci-dessous:
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr: P-t-P: Mask:
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1300 Metric:1
RX packets:10 errors:0 dropped:0 overruns:0 frame:0
TX packets:24 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:1435 (1.4 KB) TX bytes:1677 (1.6 KB)
Ou si vous utilisez IPsec (par exemple, IKEv2 + IPsec basé sur strongSwan), ifconfig -a
affichera un périphérique tunnel (tunX) comme ci-dessous:
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:192.168.11.2 P-t-P:192.168.11.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
De plus, vous pouvez utiliser ip tuntap show
pour voir s’il existe des appareils tun/tap permettant de déterminer si un VPN est utilisé.
ip tuntap show
tun0: tun
Vous pouvez également vérifier vos itinéraires avec la commande route
. Vous verrez plus d'itinéraires comme d'habitude et vers différentes destinations.
Connecté sans genévrier:
moose@pc07:~$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.255.0 U 2 0 0 wlan0
link-local * 255.255.0.0 U 1000 0 0 wlan0
default 192.168.0.1 0.0.0.0 UG 0 0 0 wlan0
Connecté avec Juniper:
moose@pc07:~$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.1 * 255.255.255.255 UH 1 0 0 wlan0
vpn.kit.edu 192.168.0.1 255.255.255.255 UGH 1 0 0 wlan0
192.168.0.0 * 255.255.255.0 U 2 0 0 wlan0
link-local * 255.255.0.0 U 1000 0 0 wlan0
default vpn-cl-192-62.s 0.0.0.0 UG 1 0 0 tun0
default 192.168.0.1 0.0.0.0 UG 10 0 0 wlan0
L'utilisation des commandes juniper ncdiag
vous donnera ces informations.
ncdiag -t
pour un test de tunnel.ncdiag -h
pour les informations sur l'hôte.Plus de détails:
$ cd ~/.juniper_networks/network_connect
~/.juniper_networks/network_connect$ file !$
file ncdiag
ncdiag: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, stripped
~/.juniper_networks/network_connect$ ./ncdiag
usage: ./ncdiag -A [or]
usage: ./ncdiag -i -s -d -t -h -a -r <hostname> -k -v
-A : All tests
-i : installation test
-s : service test
-d : driver tests
-t : tunnel test
-h : Host info
-a : adaptor test
-r : resolve Host
-k : kill NC gui
-v : version
~/.juniper_networks/network_connect$ ./ncdiag -t
+==============================================================================+
| Tests: | Results: |
+==============================================================================+
o NC Diagnostics
NC Tunnel Test Established
Finished running tests
+==============================================================================+
~/.juniper_networks/network_connect$ ./ncdiag -h
+==============================================================================+
| Tests: | Results: |
+==============================================================================+
o Host Details
Hostname tau
Domainname (none)
IP Routing Enabled Yes
IP Loopback test Passed
Nameserver Details
8.8.8.8 Ping Passed
8.8.6.6 Ping Passed
Gateway Ping Test
10.20.20.1 Ping Passed
Finished running tests
+ ============================================== ==============================
Vérifie quand il tourne
➜ ifconfig -a | grep vpn | grep RUNNING
1:179:vpn0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1334
Vérifie s'il n'est pas en cours d'exécution
➜ ifconfig -a G vpn
179:vpn0: flags=4240<POINTOPOINT,NOARP,MULTICAST> mtu 1334
afin que vous puissiez vérifier UP, EN COURS D'EXÉCUTION via grep comme indiqué ci-dessous
ifconfig -a | grep vpn | grep RUNNING
vpn_running=$?
if [ $vpn_running -ne 0 ]; then
echo "VPN <span color='yellow'><tt>UP</tt></span> | iconName=utilities-terminal-symbolic bash='nmcli con up id VPN' terminal=false"
else
echo "VPN <span color='red'><tt>(DOWN)</tt></span> | iconName=utilities-terminal-symbolic bash='nmcli con down id VPN' terminal=false"
fi
J'utilise fantastique argo plug-in gnome Shell, et ci-dessus fait partie de mon script afin que je puisse lancer un VPN à partir de la barre d'outils ( ou le fermer)
Dans mon cas, le périphérique est cscotun0
(j'utilise Cisco Anyconect Secure Mobility Client) plutôt que tun0
.
Par conséquent (sur la base de la réponse de Terry Wang et du commentaire de zipizap), si vous ne connaissez pas le nom de l'appareil, vous pouvez utiliser:
if [ "0" == `ifconfig | grep tun0 | wc -l` ]; then echo "n"; else echo "y"; fi
ou, si vous connaissez le nom de l'appareil:
if ifconfig cscotun0 &>/dev/null; then echo "y"; else echo "n"; fi