vpnmon VPNMON-R2 v2.22 -Sep 21, 2022- Monitor your VPN connection's Health (New: AMTM, supporting WeVPN/Nord/SurfShark/PerfectPrivacy) (#2)

TITAN

Occasional Visitor
Hi @Viktor Jaep, a few little quirks I've noticed with VPNMONR2 - perhaps potential improvements?

I'm still experiencing the "xxxxx.vpnmon-r2 (Dead ???)" message after a reboot, which I now just auto-issue the "screen -wipe". I'm wondering if you could code some logic to detect if an existing dead screen exists the wipe command can be issued before starting VPNMON. Perhaps make this configurable via the options for those who dont want to do this?

I've noticed that NordVPN is connecting me to the wrong city, but I can't seem to configure the city (only the country). This is causing problems with some sites being blocked, as well as the added latency. Any chance this could be looked at? Not sure if Nord allows you to select a country via the API?

I've also noticed, if I issue the "vpnmon-r2 -screen" I am asked to reconnect, however if I do "screen -r vpnmon-r2" I don;t get that message, it just connects. Is there any reason I should be doing one over the other?

Thanks again for your help!
 

Viktor Jaep

Very Senior Member
Hi @Viktor Jaep, a few little quirks I've noticed with VPNMONR2 - perhaps potential improvements?
Thanks for the feedback, @TITAN... these are great questions!

I'm still experiencing the "xxxxx.vpnmon-r2 (Dead ???)" message after a reboot, which I now just auto-issue the "screen -wipe". I'm wondering if you could code some logic to detect if an existing dead screen exists the wipe command can be issued before starting VPNMON. Perhaps make this configurable via the options for those who dont want to do this?
I'm going to add this to the next release, and is an excellent suggestion. It happens to me on occasion too, and definitely an annoyance!

I've noticed that NordVPN is connecting me to the wrong city, but I can't seem to configure the city (only the country). This is causing problems with some sites being blocked, as well as the added latency. Any chance this could be looked at? Not sure if Nord allows you to select a country via the API?
Are you using the SuperRandom functionality by any chance? If so, that is going to populate your VPN slots randomly with cities throughout the country you have configured. Right now, there isn't really a way to specifically choose a city, other than turning off SuperRandom, and manually configuring the cities of your choice in your VPN slots. VPNMON-R2 will then leave your VPN slots alone, and it will then just randomly connect to the predefined cities of your choice. I'm going to look into more granular control in the near future.

I've also noticed, if I issue the "vpnmon-r2 -screen" I am asked to reconnect, however if I do "screen -r vpnmon-r2" I don;t get that message, it just connects. Is there any reason I should be doing one over the other?
This is actually just a 2-step process, and I'm going to look into making it a 1-step process... you're not the first one that has asked this, and I understand that it can be a bit confusing... but here's the skinny:

1. When you execute "vpnmon-r2 -screen", you are essentially executing the vpnmon-r2.sh script in a completely different virtual SSH window that the screen utility is managing. Screen can run multiple virtual windows/connections, in fact, I have 3 running myself -- vpnmon-r2, rtrmon and pwrmon...

2. In order to connect to each of these windows using screen command "screen -r vpnmon-r2" or "screen -r pwrmon", I can see the script running in that particular SSH environment, and use the keyboard combo CTRL A + D, to disconnect from that environment... and now I'm back in my original SSH screen.

But anyways, what I'll try to experiment with is after the "vpnmon-r2 -screen" command is called, automatically execute the "screen -r vpnmon-r2" so that it looks seamless. You would just need to remember to exit via CTRL A + D, else vpnmon-r2 will be killed. ;)

Let me know if that works for you?
 

TITAN

Occasional Visitor
I appreciate your quick reply!

I'm going to add this to the next release
Fantastic news :D
Are you using the SuperRandom functionality by any chance?
I have tried both with and without SuperRandom enabled and appears to be the same result
manually configuring the city of your choice in your VPN slots
Right now, the slot in the GUI is showing an IP in the 'wrong' city, so I've disabled SuperRandom and grabbed a new config from NordVPN in the 'right' city. Let's see what happens now.
but here's the skinny:
Thank you for the detailed explanation, and yes, I always use ctrl + A + D
 

Johnny

Occasional Visitor
I have 5 VPN clients setup. For Fastest Connection Switching, will it constantly switch even if the latency is faster by 1ms? I'm worried that it will constantly be switching between two or more competing servers that have similar latency causing disruption among my users.

For example, if I were to watch a video, will the VPN switching affect the video by disrupting it?
 

Viktor Jaep

Very Senior Member
I have 5 VPN clients setup. For Fastest Connection Switching, will it constantly switch even if the latency is faster by 1ms? I'm worried that it will constantly be switching between two or more competing servers that have similar latency causing disruption among my users.

For example, if I were to watch a video, will the VPN switching affect the video by disrupting it?
I actually already considered that scenario! ;) So when you configure fastest connection switching, you also have to enter in the number of chances it gets should it get in a competition with another, potentially faster VPN server. It defaults at 5 chances. If it sees that connection to be faster than the current connection 5x in a row, it will make that switch. If it loses one of those 5 chances, it starts all over with the count. I've heard of some people changing this to 10x just to keep the chances as low as possible to prevent a switch. And yes, you would probably experience a momentary interruption while streaming, unless your TV has had adequate time to buffer a show.
 

Viktor Jaep

Very Senior Member
Minor update to v2.22 today, with major changes to the way the "vpnmon-r2 -screen" command works!

What's New?
v2.22 - (September 21, 2022)
- CHANGED:
The behavior of the "vpnmon-r2 -screen" command, so that when you execute this command line parameter, it first will look for orphaned screens and wipe them... then, it will launch VPNMON-R2 into a new screen environment, and connect to it. This skips the original behavior where it drops back to a command prompt, and asks the user to connect to the VPNMON-R2 screen by requiring the user to run the "screen -r vpnmon-r2" command. If a screen session is already running, and you type "vpnmon-r2 -screen", it will then connect to this screen session without requiring any user input. Thanks much to @TITAN for the great suggestion!

Download and install directly from AMTM, or using your favorite SSH tools, copy & paste this command:
Code:
curl --retry 3 "https://raw.githubusercontent.com/ViktorJp/VPNMON-R2/master/vpnmon-r2-2.22.sh" -o "/jffs/scripts/vpnmon-r2.sh" && chmod a+rx "/jffs/scripts/vpnmon-r2.sh"
 

Viktor Jaep

Very Senior Member
Damn... I should have released VPNMON-R2 tomorrow...

It's not often you get a v2.22 release on Sept 22, 2022 at 22:22, when all the planets and stars have aligned for this intergalactic event!

I may have to update some minor spelling/grammer issue tomorrow. Lol
 
Last edited:

monakh

Regular Contributor
Quick question--if I only want to randomly connect to US-based servers, that's possible, right? Finishing up the installation now, can't wait!

Edit: Never mind, it was super-simple in the installation as default. Thanks!
 
Last edited:

monakh

Regular Contributor
OK, I am getting the following errors:

During setup:
/jffs/scripts/vpnmon-r2.sh: eval: line 1: jq: not found

In the log:
Thu Sep 22 12:30:05 AST 2022 - VPNMON-R2 ----------> ERROR: NordVPN.txt list is blank!

What am I doing wrong, I wonder?
 

Viktor Jaep

Very Senior Member
OK, I am getting the following errors:

During setup:
/jffs/scripts/vpnmon-r2.sh: eval: line 1: jq: not found

In the log:
Thu Sep 22 12:30:05 AST 2022 - VPNMON-R2 ----------> ERROR: NordVPN.txt list is blank!

What am I doing wrong, I wonder?
JQ is a necessary component I thought was installed by default already. What version of Merlin are you running? Assuming you have scripts/JFFS enabled? Did you enable entware through amtm? If worst comes to worst, you can install like so:

Code:
opkg install jq
 
Last edited:

monakh

Regular Contributor
Hi, thanks!

It's the default amtm fw variant that comes with 386.8 on the AXE16000. OK, I installed JQ and it's fine now and working up to the populating of random slots but connections keep resetting for some reason. Since I checked all pre-populated VPN slots for connectivity before the script run, not sure what the problem is. Here's the log:

Thu Sep 22 13:05:38 AST 2022 - VPNMON-R2 ----------> ERROR: Connection failed - Executing VPN Reset
Thu Sep 22 13:05:38 AST 2022 - VPNMON-R2 - Executing VPN Reset
Thu Sep 22 13:05:45 AST 2022 - VPNMON-R2 - Killed all VPN Client Connections
Thu Sep 22 13:06:16 AST 2022 - VPNMON-R2 - Updated Skynet Whitelist
Thu Sep 22 13:06:24 AST 2022 - VPNMON-R2 - Refreshed VPN Slots 1 - 5 from 2237 SuperRandom NordVPN Server Locations
Thu Sep 22 13:06:25 AST 2022 - VPNMON-R2 - Randomly selected VPN3 Client ON
Thu Sep 22 13:06:30 AST 2022 - VPNMON-R2 - VPN Reset Finished
Thu Sep 22 13:06:32 AST 2022 - VPNMON-R2 - Resuming normal operations
Thu Sep 22 13:07:01 AST 2022 - VPNMON-R2 - API call made to update WAN0 city to Chicago
Thu Sep 22 13:07:23 AST 2022 - VPNMON-R2 - API call made to update VPN city to Chicago
Thu Sep 22 13:07:55 AST 2022 - VPNMON-R2 ----------> WARNING: AVG PING across VPN tunnel > 100 ms - Executing VPN Reset
Thu Sep 22 13:07:55 AST 2022 - VPNMON-R2 - Executing VPN Reset
Thu Sep 22 13:07:59 AST 2022 - VPNMON-R2 - Killed all VPN Client Connections
Thu Sep 22 13:08:31 AST 2022 - VPNMON-R2 - Updated Skynet Whitelist
Thu Sep 22 13:08:39 AST 2022 - VPNMON-R2 - Refreshed VPN Slots 1 - 5 from 2237 SuperRandom NordVPN Server Locations
Thu Sep 22 13:08:40 AST 2022 - VPNMON-R2 - Randomly selected VPN2 Client ON
Thu Sep 22 13:08:44 AST 2022 - VPNMON-R2 - VPN Reset Finished
Thu Sep 22 13:08:47 AST 2022 - VPNMON-R2 - Resuming normal operations
Thu Sep 22 13:09:16 AST 2022 - VPNMON-R2 - API call made to update WAN0 city to Dallas
Thu Sep 22 13:09:28 AST 2022 - VPNMON-R2 - API call made to update VPN city to Dallas
Thu Sep 22 13:10:10 AST 2022 - VPNMON-R2 ----------> WARNING: AVG PING across VPN tunnel > 100 ms - Executing VPN Reset
Thu Sep 22 13:10:10 AST 2022 - VPNMON-R2 - Executing VPN Reset
Thu Sep 22 13:10:14 AST 2022 - VPNMON-R2 - Killed all VPN Client Connections
Thu Sep 22 13:10:46 AST 2022 - VPNMON-R2 - Updated Skynet Whitelist
Thu Sep 22 13:10:54 AST 2022 - VPNMON-R2 - Refreshed VPN Slots 1 - 5 from 2237 SuperRandom NordVPN Server Locations

Now, I am in the Middle East so maybe I need to increase the tolerance for ping latency somehow (if that makes sense?) Normal ping times over VPN are 250ms and above.
 

Viktor Jaep

Very Senior Member
Hi, thanks!

It's the default amtm fw variant that comes with 386.8 on the AXE16000. OK, I installed JQ and it's fine now and working up to the populating of random slots but connections keep resetting for some reason. Since I checked all pre-populated VPN slots for connectivity before the script run, not sure what the problem is. Here's the log:

Thu Sep 22 13:05:38 AST 2022 - VPNMON-R2 ----------> ERROR: Connection failed - Executing VPN Reset
Thu Sep 22 13:05:38 AST 2022 - VPNMON-R2 - Executing VPN Reset
Thu Sep 22 13:05:45 AST 2022 - VPNMON-R2 - Killed all VPN Client Connections
Thu Sep 22 13:06:16 AST 2022 - VPNMON-R2 - Updated Skynet Whitelist
Thu Sep 22 13:06:24 AST 2022 - VPNMON-R2 - Refreshed VPN Slots 1 - 5 from 2237 SuperRandom NordVPN Server Locations
Thu Sep 22 13:06:25 AST 2022 - VPNMON-R2 - Randomly selected VPN3 Client ON
Thu Sep 22 13:06:30 AST 2022 - VPNMON-R2 - VPN Reset Finished
Thu Sep 22 13:06:32 AST 2022 - VPNMON-R2 - Resuming normal operations
Thu Sep 22 13:07:01 AST 2022 - VPNMON-R2 - API call made to update WAN0 city to Chicago
Thu Sep 22 13:07:23 AST 2022 - VPNMON-R2 - API call made to update VPN city to Chicago
Thu Sep 22 13:07:55 AST 2022 - VPNMON-R2 ----------> WARNING: AVG PING across VPN tunnel > 100 ms - Executing VPN Reset
Thu Sep 22 13:07:55 AST 2022 - VPNMON-R2 - Executing VPN Reset
Thu Sep 22 13:07:59 AST 2022 - VPNMON-R2 - Killed all VPN Client Connections
Thu Sep 22 13:08:31 AST 2022 - VPNMON-R2 - Updated Skynet Whitelist
Thu Sep 22 13:08:39 AST 2022 - VPNMON-R2 - Refreshed VPN Slots 1 - 5 from 2237 SuperRandom NordVPN Server Locations
Thu Sep 22 13:08:40 AST 2022 - VPNMON-R2 - Randomly selected VPN2 Client ON
Thu Sep 22 13:08:44 AST 2022 - VPNMON-R2 - VPN Reset Finished
Thu Sep 22 13:08:47 AST 2022 - VPNMON-R2 - Resuming normal operations
Thu Sep 22 13:09:16 AST 2022 - VPNMON-R2 - API call made to update WAN0 city to Dallas
Thu Sep 22 13:09:28 AST 2022 - VPNMON-R2 - API call made to update VPN city to Dallas
Thu Sep 22 13:10:10 AST 2022 - VPNMON-R2 ----------> WARNING: AVG PING across VPN tunnel > 100 ms - Executing VPN Reset
Thu Sep 22 13:10:10 AST 2022 - VPNMON-R2 - Executing VPN Reset
Thu Sep 22 13:10:14 AST 2022 - VPNMON-R2 - Killed all VPN Client Connections
Thu Sep 22 13:10:46 AST 2022 - VPNMON-R2 - Updated Skynet Whitelist
Thu Sep 22 13:10:54 AST 2022 - VPNMON-R2 - Refreshed VPN Slots 1 - 5 from 2237 SuperRandom NordVPN Server Locations

Now, I am in the Middle East so maybe I need to increase the tolerance for ping latency somehow (if that makes sense?) Normal ping times over VPN are 250ms and above.
Ok yeah, it looks like you should probably increase it from 100ms to 300ms or 350ms to be safe... Under setup -> minimum ping before reset
 

monakh

Regular Contributor
Alright, it's settled in and perfect now. Thank you, so much! It's a Godsend, really. I always wanted to randomly switch servers (can I limit how often it changes the servers?)

The biggest problem I wanted this script to fix was that my WAN seems to go down frequently (it's a 200 Mbps fiber connection, have to get the ISP to give it some attention). Now in the past, due to my killswitch option, that used to simply block the internet connection even if the WAN came back up, because it couldn't re-establish the VPN tunnel. Now, at least the connection isn't blocked when the WAN goes down but it seems to throw VPNMON into a loop where it keeps repeating the following:

Sep 22 14:15:44 openvpn-routing: Clearing routing table for VPN client 1
Sep 22 14:15:45 custom_script: Running /jffs/scripts/service-event (args: stop vpnclient2)
Sep 22 14:15:45 rc_service: service 11683:notify_rc stop_vpnclient3
Sep 22 14:15:45 rc_service: waitting "stop_vpnclient2" via ...
Sep 22 14:15:45 openvpn-routing: Clearing routing table for VPN client 2
Sep 22 14:15:46 custom_script: Running /jffs/scripts/service-event (args: stop vpnclient3)
Sep 22 14:15:46 rc_service: service 11723:notify_rc stop_vpnclient4
Sep 22 14:15:46 rc_service: waitting "stop_vpnclient3" via ...
Sep 22 14:15:46 openvpn-routing: Clearing routing table for VPN client 3
Sep 22 14:15:47 custom_script: Running /jffs/scripts/service-event (args: stop vpnclient4)
Sep 22 14:15:47 rc_service: service 11755:notify_rc stop_vpnclient5
Sep 22 14:15:47 rc_service: waitting "stop_vpnclient4" via ...
Sep 22 14:15:47 openvpn-routing: Clearing routing table for VPN client 4
Sep 22 14:15:48 custom_script: Running /jffs/scripts/service-event (args: stop vpnclient5)
Sep 22 14:15:48 openvpn-routing: Clearing routing table for VPN client 5

Thu Sep 22 13:03:29 AST 2022 - VPNMON-R2 - API call made to update WAN0 city to
Thu Sep 22 13:03:57 AST 2022 - VPNMON-R2 ----------> ERROR: VPN2 Ping/HTTP resp
Thu Sep 22 13:04:09 AST 2022 - VPNMON-R2 ----------> ERROR: Connection failed -
Thu Sep 22 13:04:09 AST 2022 - VPNMON-R2 - Executing VPN Reset
Thu Sep 22 13:04:14 AST 2022 - VPNMON-R2 - Killed all VPN Client Connections
Thu Sep 22 13:04:46 AST 2022 - VPNMON-R2 - Updated Skynet Whitelist
Thu Sep 22 13:04:54 AST 2022 - VPNMON-R2 - Refreshed VPN Slots 1 - 5 from 2237
Thu Sep 22 13:04:55 AST 2022 - VPNMON-R2 - Randomly selected VPN3 Client ON
Thu Sep 22 13:04:59 AST 2022 - VPNMON-R2 - VPN Reset Finished
Thu Sep 22 13:05:03 AST 2022 - VPNMON-R2 - Resuming normal operations
Thu Sep 22 13:05:15 AST 2022 - VPNMON-R2 - API call made to update WAN0 city to
Thu Sep 22 13:05:38 AST 2022 - VPNMON-R2 ----------> ERROR: Connection failed -
Thu Sep 22 13:05:38 AST 2022 - VPNMON-R2 - Executing VPN Reset
Thu Sep 22 13:05:45 AST 2022 - VPNMON-R2 - Killed all VPN Client Connections
Thu Sep 22 13:06:16 AST 2022 - VPNMON-R2 - Updated Skynet Whitelist
Thu Sep 22 13:06:24 AST 2022 - VPNMON-R2 - Refreshed VPN Slots 1 - 5 from 2237
Thu Sep 22 13:06:25 AST 2022 - VPNMON-R2 - Randomly selected VPN3 Client ON
Thu Sep 22 13:06:30 AST 2022 - VPNMON-R2 - VPN Reset Finished
Thu Sep 22 13:06:32 AST 2022 - VPNMON-R2 - Resuming normal operations
Thu Sep 22 13:07:01 AST 2022 - VPNMON-R2 - API call made to update WAN0 city to
Thu Sep 22 13:07:23 AST 2022 - VPNMON-R2 - API call made to update VPN city to
Thu Sep 22 13:07:55 AST 2022 - VPNMON-R2 ----------> WARNING: AVG PING across V
Thu Sep 22 13:07:55 AST 2022 - VPNMON-R2 - Executing VPN Reset
Thu Sep 22 13:07:59 AST 2022 - VPNMON-R2 - Killed all VPN Client Connections
Thu Sep 22 13:08:31 AST 2022 - VPNMON-R2 - Updated Skynet Whitelist
Thu Sep 22 13:08:39 AST 2022 - VPNMON-R2 - Refreshed VPN Slots 1 - 5 from 2237
Thu Sep 22 13:08:40 AST 2022 - VPNMON-R2 - Randomly selected VPN2 Client ON
Thu Sep 22 13:08:44 AST 2022 - VPNMON-R2 - VPN Reset Finished
Thu Sep 22 13:08:47 AST 2022 - VPNMON-R2 - Resuming normal operations
Thu Sep 22 13:09:16 AST 2022 - VPNMON-R2 - API call made to update WAN0 city to
Thu Sep 22 13:09:28 AST 2022 - VPNMON-R2 - API call made to update VPN city to
Thu Sep 22 13:10:10 AST 2022 - VPNMON-R2 ----------> WARNING: AVG PING across V
Thu Sep 22 13:10:10 AST 2022 - VPNMON-R2 - Executing VPN Reset
Thu Sep 22 13:10:14 AST 2022 - VPNMON-R2 - Killed all VPN Client Connections
Thu Sep 22 13:10:46 AST 2022 - VPNMON-R2 - Updated Skynet Whitelist
Thu Sep 22 13:10:54 AST 2022 - VPNMON-R2 - Refreshed VPN Slots 1 - 5 from 2237

While the script keeps retrying the above, the local Internet connection is available but the only way to bring the VPN back is to kill the script and restart it which begins the clean-sweep cycle and takes a while to connect to another Nord server. I realize this is a unique situation so am not really looking for any fixes though any workarounds are welcome! Thank you again!
 
Last edited:

Viktor Jaep

Very Senior Member
Alright, it's settled in and perfect now. Thank you, so much! It's a Godsend, really. I always wanted to randomly switch servers (can I limit how often it changes the servers?)
You're very welcome! You can actually add as many resets as you like through using a cron job and executing "vpnmon-r2 -reset"
The biggest problem I wanted this script to fix was that my WAN seems to go down frequently (it's a 200 Mbps fiber connection, have to get the ISP to give it some attention). Now in the past, due to my killswitch option, that used to simply block the internet connection even if the WAN came back up, because it couldn't re-establish the VPN tunnel. Now, at least the connection isn't blocked when the WAN goes down but it seems to throw VPNMON into a loop where it keeps repeating the following:

Sep 22 14:15:44 openvpn-routing: Clearing routing table for VPN client 1
Sep 22 14:15:45 custom_script: Running /jffs/scripts/service-event (args: stop vpnclient2)
Sep 22 14:15:45 rc_service: service 11683:notify_rc stop_vpnclient3
Sep 22 14:15:45 rc_service: waitting "stop_vpnclient2" via ...
Sep 22 14:15:45 openvpn-routing: Clearing routing table for VPN client 2
Sep 22 14:15:46 custom_script: Running /jffs/scripts/service-event (args: stop vpnclient3)
Sep 22 14:15:46 rc_service: service 11723:notify_rc stop_vpnclient4
Sep 22 14:15:46 rc_service: waitting "stop_vpnclient3" via ...
Sep 22 14:15:46 openvpn-routing: Clearing routing table for VPN client 3
Sep 22 14:15:47 custom_script: Running /jffs/scripts/service-event (args: stop vpnclient4)
Sep 22 14:15:47 rc_service: service 11755:notify_rc stop_vpnclient5
Sep 22 14:15:47 rc_service: waitting "stop_vpnclient4" via ...
Sep 22 14:15:47 openvpn-routing: Clearing routing table for VPN client 4
Sep 22 14:15:48 custom_script: Running /jffs/scripts/service-event (args: stop vpnclient5)
Sep 22 14:15:48 openvpn-routing: Clearing routing table for VPN client 5

While the script keeps retrying the above, the local Internet connection is available but the only way to bring the VPN back is to kill the script and restart it which begins the clean-sweep cycle and takes a while to connect to another Nord server. I realize this is a unique situation so am not really looking for any fixes though any workarounds are welcome! Thank you again!
Hmm. Interesting! Could you share what's happening in the vpnmon-r2 logs when this is occurring? The script should be able to check for a wan down situation, but perhaps something else is happening I'm not accounting for?
 

Viktor Jaep

Very Senior Member
@monakh ...The log you posted above still seems to reference resets happening because your ping value is too low. This may not be useful for you in your situation and perhaps need to just set it to 2000 or something?
 

monakh

Regular Contributor
So this is what I was saying that it went into a loop and the log reports it as a ping issue--but it's not--since I increased the ping value to 300 the script stabilized. It only has a problem when the WAN goes down. The entries above are the result. The average ping times across the five slots are 173ms-243ms.

I know, weird right? I'll keep an eye out on the next reset which can be within an hour or five hours from now. Let's see what happens but so far things are stable in Atlanta for the past hour or more :D
 
Last edited:

Viktor Jaep

Very Senior Member
So this is what I was saying that it went into a loop and the log reports it as a ping issue--but it's not--since I increased the ping value to 300 the script stabilized. It only has a problem when the WAN goes down. The entries above are the result. The average ping times across the five slots are 173ms-243ms.

I know, weird right?
If the WAN goes down, you would see VPNMON-R2 display a screen that indicates that the WAN is down, and that it will retry resuming normal operations after a 15-sec loop. You wouldn't see any VPN slot activity happening during an event like this. In fact, the screen just has a short message indicating a WAN down situation.

Looks something like this:

Code:
 ---------------------> ERROR: WAN DOWN <---------------------"

  VPNMON-R2 is unable to detect a stable WAN connection. Please
  check with your ISP, or reset your modem to re-establish a
  stable connection.

Also... the avg pings for each of your slots is derived from the WAN connection pinging the configured host for each slot. The active VPN connection is actually pinging across the VPN tunnel (to 8.8.8.8 or whatever you have configured), so there's a chance that in this scenario, the ping for the active slot could exceed 300ms.

I'd say... if in doubt, raise it to 350, 400 or 500 just to test and see what happens ;)
 
Last edited:

monakh

Regular Contributor
Well so far stable with Atlanta at 3 hours according to the Last Reset info, I think I am good, but we will see. I'll increase the numbers if there's an issue but I'm a happy camper. It's been a while since I installed Entware and it's created a world of possibilities, especially on a beast like the AXE16000.

Thanks again, man, it's been fun (the other half ain't too thrilled with this half-day troubleshooting bonanza though!) I can't believe screen is still around. Last time I used it was in the 90s. Still as awesome as it was back then!
 

Viktor Jaep

Very Senior Member
Well so far stable with Atlanta at 3 hours according to the Last Reset info, I think I am good, but we will see. I'll increase the numbers if there's an issue but I'm a happy camper. It's been a while since I installed Entware and it's created a world of possibilities, especially on a beast like the AXE16000.

Thanks again, man, it's been fun (the other half ain't too thrilled with this half-day troubleshooting bonanza though!) I can't believe screen is still around. Last time I used it was in the 90s. Still as awesome as it was back then!
Glad you're loving it! Just reach out if you need anything, or have any good suggestions/feature requests! Tell the other half that VPNMON-R2 is part of the formula for a happy marriage... happy wife + happy internet = happy life. :p
 

monakh

Regular Contributor
Haha, that's funny--true, at least the internet complaints have stopped.

So here's the deal, it looks like the script is unable to recover from WAN downtime. It started today at 1930 AST and hasn't yet stopped at 2200 AST:

Thu Sep 22 19:31:19 AST 2022 - VPNMON-R2 ----------> ERROR: WAN CONNECTIVITY ISSUE DETECTED
Thu Sep 22 19:31:24 AST 2022 - VPNMON-R2 - WAN Link Detected -- Trying to reconnect/Reset VPN
Thu Sep 22 19:32:28 AST 2022 - VPNMON-R2 - Executing VPN Reset
Thu Sep 22 19:32:32 AST 2022 - VPNMON-R2 - Killed all VPN Client Connections
Thu Sep 22 19:33:32 AST 2022 - VPNMON-R2 ----------> ERROR: WAN CONNECTIVITY ISSUE DETECTED
Thu Sep 22 19:33:32 AST 2022 - VPNMON-R2 ----------> ERROR: WAN CONNECTIVITY ISSUE DETECTED. VPN RESET TERMINATED.
<SNIP>
Thu Sep 22 21:59:08 AST 2022 - VPNMON-R2 ----------> ERROR: WAN CONNECTIVITY ISSUE DETECTED
Thu Sep 22 21:59:08 AST 2022 - VPNMON-R2 ----------> ERROR: WAN CONNECTIVITY ISSUE DETECTED. VPN RESET TERMINATED.
Thu Sep 22 21:59:14 AST 2022 - VPNMON-R2 - WAN Link Detected -- Trying to reconnect/Reset VPN
Thu Sep 22 22:00:18 AST 2022 - VPNMON-R2 - Executing VPN Reset
Thu Sep 22 22:00:22 AST 2022 - VPNMON-R2 - Killed all VPN Client Connections
Thu Sep 22 22:01:22 AST 2022 - VPNMON-R2 ----------> ERROR: WAN CONNECTIVITY ISSUE DETECTED
Thu Sep 22 22:01:22 AST 2022 - VPNMON-R2 ----------> ERROR: WAN CONNECTIVITY ISSUE DETECTED. VPN RESET TERMINATED.
Thu Sep 22 22:01:28 AST 2022 - VPNMON-R2 - WAN Link Detected -- Trying to reconnect/Reset VPN
Thu Sep 22 22:02:33 AST 2022 - VPNMON-R2 - Executing VPN Reset
Thu Sep 22 22:02:37 AST 2022 - VPNMON-R2 - Killed all VPN Client Connections
Thu Sep 22 22:03:37 AST 2022 - VPNMON-R2 ----------> ERROR: WAN CONNECTIVITY ISSUE DETECTED
Thu Sep 22 22:03:37 AST 2022 - VPNMON-R2 ----------> ERROR: WAN CONNECTIVITY ISSUE DETECTED. VPN RESET TERMINATED.
Thu Sep 22 22:03:43 AST 2022 - VPNMON-R2 - WAN Link Detected -- Trying to reconnect/Reset VPN
Thu Sep 22 22:04:47 AST 2022 - VPNMON-R2 - Executing VPN Reset
Thu Sep 22 22:04:51 AST 2022 - VPNMON-R2 - Killed all VPN Client Connections
<SNIP>
Thu Sep 22 22:08:42 AST 2022 - VPNMON-R2 - Executing VPN Reset
Thu Sep 22 22:08:46 AST 2022 - VPNMON-R2 - Killed all VPN Client Connections
Thu Sep 22 22:09:17 AST 2022 - VPNMON-R2 - Updated Skynet Whitelist
Thu Sep 22 22:09:25 AST 2022 - VPNMON-R2 - Refreshed VPN Slots 1 - 5 from 2244 SuperRandom NordVPN Server Locations
Thu Sep 22 22:09:26 AST 2022 - VPNMON-R2 - Randomly selected VPN3 Client ON
Thu Sep 22 22:09:31 AST 2022 - VPNMON-R2 - VPN Reset Finished
Thu Sep 22 22:09:34 AST 2022 - VPNMON-R2 - Resuming normal operations
Thu Sep 22 22:10:03 AST 2022 - VPNMON-R2 - API call made to update WAN0 city to New York
Thu Sep 22 22:10:25 AST 2022 - VPNMON-R2 - API call made to update VPN city to New York

I got busy and wasn't paying attention until just before bedtime :/ Fixed it by killing the screen session and restarting the script through amtm. If it were a ping-related issue it wouldn't work now either after two and half hours. It's something else, the script is somehow unable to detect when the WAN comes back up when it goes down in the same session. Kill the session and restart the script and all goes well. For the heck of it, I'll change the ping to 1000 and see what happens next.
 

Latest threads

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top