Bonjour,
Avec l'ERL, pour surveiller son ipsec et redemarrer son VPN en cas de besoin, un utilisateur utilise un cron toutes les x heures avec le script suivant :
#!/bin/bash
run=/opt/vyatta/bin/vyatta-op-cmd-wrapper
$run show vpn ipsec sa | grep "up"
if [ $? == 1 ]
then
$run restart vpn
fi
Je souhaiterai pour ma part pouvoir créer le même script pour surveiller l'intégrité de ma connexion internet en cas de coupure et qu'elle ne se rétablisse pas correctement, je rencontre ce problème un jour sur deux.
J'ai donc pensé (rien que pensé car je ne m'y connais pas du tout en programmation) mettre en place un cron avec un script similaire qui ressemblerait à ceci :
#!/bin/bash
run=/opt/vyatta/bin/vyatta-op-cmd-wrapper
$run show interfaces pppoe sa | grep "up"
if [ $? == 1 ]
then
$run clear interfaces connection pppoe0
fi
Sachant que la commande show de mon interface pppoe affiche ceci :
me@ubnt:~$ show interfaces pppoe
pppoe0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc pfifo_fast state
UNKNOWN group default qlen 100
link/ppp
inet 41.251.73.239 peer 41.251.72.1/32 scope global pppoe0
valid_lft forever preferred_lft forever
RX: bytes packets errors dropped overrun mcast
688214 6068 0 0 0 0
TX: bytes packets errors dropped carrier collsns
363767 5088 0 0 0 0
RX: bytes packets errors dropped overrun mcast
688214 6068 0 0 0 0
TX: bytes packets errors dropped carrier collisions
363767 5088 0 0 0 0
Donc :
1/Est-ce que c'est bien l'interface pppoe qu'il faut surveiller, sinon quoi surveiller au cas où pppoe est UP mais que la connexion n'est pas établie? (par exemple avec une authentification que ne se fait pas ou que l'attribution de l'IP ne se fait pas correctement), dans mon cas précis ça coince toujours et systématiquement à ce niveau de la négociation :
Connect: ppp0 <--> eth0.881
sent [LCP ConfReq id=0x1 <mru 1492> <magic 0xd46e360e>]
rcvd [LCP ConfAck id=0x1 <mru 1492> <magic 0xd46e360e>]
rcvd [LCP ConfReq id=0x2 <mru 1492> <auth chap MD5> <magic 0xb206f5b2>]
lcp_reqci: returning CONFACK.
sent [LCP ConfAck id=0x2 <mru 1492> <auth chap MD5> <magic 0xb206f5b2>]
sent [LCP EchoReq id=0x0 magic=0xd46e360e]
rcvd [CHAP Challenge id=0x1 <1dd13d15cba3c39e49983b2d82f84af0>, name = "IPS Server Name"]
sent [CHAP Response id=0x1 <0c2d72d9726179d6751b4a52af1292ea>, name = "Hidden"]
rcvd [LCP ConfReq id=0x3 <mru 1492> <auth chap MD5> <magic 0xba4ca2e6>]
sent [LCP ConfReq id=0x2 <mru 1492> <magic 0xb85bb41e>]
lcp_reqci: returning CONFACK.
sent [LCP ConfAck id=0x3 <mru 1492> <auth chap MD5> <magic 0xba4ca2e6>]
sent [LCP ConfReq id=0x2 <mru 1492> <magic 0xb85bb41e>]
sent [LCP ConfReq id=0x2 <mru 1492> <magic 0xb85bb41e>]
sent [LCP ConfReq id=0x2 <mru 1492> <magic 0xb85bb41e>]
sent [LCP ConfReq id=0x2 <mru 1492> <magic 0xb85bb41e>]
sent [LCP ConfReq id=0x2 <mru 1492> <magic 0xb85bb41e>]
sent [LCP ConfReq id=0x2 <mru 1492> <magic 0xb85bb41e>]
sent [LCP ConfReq id=0x2 <mru 1492> <magic 0xb85bb41e>]
.... et ça ne s'arrête plus
2/ S'il faut surveiller autre chose que l'interface pppoe, que faut-il modifier dans ce script pour qu'il marche?
Merci pour votre aide