- if ($remoteip eq ""){next;}
- if (system("ipsec whack --status | grep $remoteip >/dev/null")){
- logger("Remote IP for host $remotehostname has changed or is not connected, restarting connection to $remoteip.");
+ if ($remoteip eq ""){next;if ($debug){logger("Unable to resolve $remotehostname.");}}
+ my $connected= `ipsec whack --status | grep $remoteip`;
+ my $established= `ipsec whack --status | grep '$settings[2]' | grep 'IPsec SA established'`;
+
+ if ( $established eq '' || $connected eq '' ){
+ logger("Remote IP for host $remotehostname has changed or no connection is established, restarting connection to $remoteip.");