What's new

VPNMON VPNMON-R2 v2.52 -Mar 27, 2023- Monitor your VPN connection's Health (Thread locked/closed)

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

Today mine is caught in a loop. Keeps killing everything then showing my local vpn's but will not turn any of them on in my router Rt-ac68u.:confused:
:( Sounds like the OS was dealing with a major failure of some sort. Did you find anything interesting in the syslogs?
 
The idea behind VPNMON-R2 is to let it do what it needs to do in order to ensure a continuous connection... Mine has literally been running for months without interruption, and providing 100% VPN uptime.
How do you achieve 100% uptime when there is a vpn switch happening due to Load threshold?
I thought vpnmon would start the other vpn slot in such a case, switch over and disable the previous vpn, instead of going through the cycle with downtime and LAN clients disconnected.
 
How do you achieve 100% uptime when there is a vpn switch happening due to Load threshold?
I thought vpnmon would start the other vpn slot in such a case, switch over and disable the previous vpn, instead of going through the cycle with downtime and LAN clients disconnected.
I meant, it is providing for my VPN connectivity 100% of the time... sure there are momentary drops as it reconnects based on a schedule or due to unforeseen connectivity issues... but I'm trying to avoid running multiple connections at this point. It is an interesting observation to have the 2nd one start before the 1st one disconnects to make it a bit more seamless... I will certainly add this to my list to experiment with!
 
:( Sounds like the OS was dealing with a major failure of some sort. Did you find anything interesting in the syslogs?

Viktor I think you are absolutely right, it took me awhile to get back into that router. No logs unfortunately...
It would be nice if there was a quicker way to put all of the udp protocols in. Especially if you are already a Nord subscriber. I have saved some of the udp servers on my pc but sometimes they won't connect.
The vpnmon-r2 searches for servers, so it would be nice if it would search for servers to get you up and running again.
Hope some of what I'm saying makes some sense!

Keep up the good work and thanks.:)
 
Viktor I think you are absolutely right, it took me awhile to get back into that router. No logs unfortunately...
It would be nice if there was a quicker way to put all of the udp protocols in. Especially if you are already a Nord subscriber. I have saved some of the udp servers on my pc but sometimes they won't connect.
The vpnmon-r2 searches for servers, so it would be nice if it would search for servers to get you up and running again.
Hope some of what I'm saying makes some sense!
Hey @cofetym ... are you talking about the setup work to get your VPN slots configured (like importing the certificate and such)? Or are you manually configuring your slots with NordVPN servers? Because once you enable superrandom, or even if you set it to "use recommended servers" under option #6 in the setup, it will start picking UDP servers for you automatically and writing those to your VPN slots? Let me know... I'm intrigued on what I can do to help make things easier?
 
Authentication settings (user name and password). Then from scratch I thought you had to make sure that all udp's downloaded had to be able to connect to the internet.
When I uploaded udp it would kick out the user name and password. Then I'd have to input them again.
 
Authentication settings (user name and password). Then from scratch I thought you had to make sure that all udp's downloaded had to be able to connect to the internet.
When I uploaded udp it would kick out the user name and password. Then I'd have to input them again.
Ahh. Yeah, what I do is load just 1 slot with a downloaded Nordvpn config file, and get it working. Once everything works, I just duplicate the other 4 slots with the same exact config file and settings. VPNMON-R2 will then overwrite the server name next time it runs it's super random routine, and all will continue to work as it should. ;)
 
Ahh. Yeah, what I do is load just 1 slot with a downloaded Nordvpn config file, and get it working. Once everything works, I just duplicate the other 4 slots with the same exact config file and settings. VPNMON-R2 will then overwrite the server name next time it runs it's super random routine, and all will continue to work as it should. ;)
Thanks Victor I really should have thought about that!
 
Merry Christmas and Happy New Year... Santa came early and delivered VPNMON-R2 v2.40 for all you SNB Forums members who have been good this year. LOL ;)

What's new?
v2.40 - (December 24, 2022)
- MAJOR: Integration with
KILLMON, the new IP4/IP6 Kill Switch Monitor and Configurator! If KILLMON is installed, it will show the current status on the main VPNMON-R2 UI, indicating its current IP4/IP6 running status, reboot protection and whether it's kill mode is using (1) Paranoid, (2) IP Range or (3) Single IP scenarios. Also, it will check against the IP4/IP6 iptables to check for KILLMON rules integrity, and will warn you if rules are in a compromised state. If KILLMON is not installed, it will not show any such killswitch indicators in the UI.
- ADDED: Created an additional switch called "-failover" for the purposes of providing some more automation for those who need control over VPNMON-R2 during dual-wan failover events, should you need it. I was originally going to remove this functionality after a failed attempt at integrating it with @Ranger802004's dual-wan failover script, but ended up deciding to just keep this functionality around incase it's needed in the future. This function, when called (ie. "vpnmon-r2 -failover"), will stop all VPN connections, and wait in a loop until another "-failover" command is sent its way (in other words, a manual fail-over and fail-back switch), upon which it will try to reconnect its last known good VPN connection. Thanks to both @Stephen Harrington and @Ranger802004 for their beta testing, troubleshooting and efforts on this!

Download Links (or update directly within AMTM!):
Code:
curl --retry 3 "https://raw.githubusercontent.com/ViktorJp/VPNMON-R2/master/vpnmon-r2-2.40.sh" -o "/jffs/scripts/vpnmon-r2.sh" && chmod a+rx "/jffs/scripts/vpnmon-r2.sh"

Significant Screenshots:

Example of having KILLMON installed, but not active, or iptables rules being compromised:
1671891448729.png


Example of having KILLMON installed, reboot protection enabled, and all is happy:
1671891523575.png


Enjoy! :)
 
Any idea why the reset isn't working?
 

Attachments

  • Screenshot_20230110_215016_JuiceSSH.png
    Screenshot_20230110_215016_JuiceSSH.png
    120.6 KB · Views: 48
Any idea why the reset isn't working?
How often are you resetting? Do you have any cron jobs performing any resets? When you hit the r key does it perform a reset? What kind of router are you running? What version of Merlin are you on? Sorry for all the questions but I just don't have a lot to go on ;)
 
I installed the vpnmgr on Asus DSL AX82U and GNUton firmware 388. As soon as it is installed I find the dedicated configuration page allocated under the VPN item, but when I restart, the page disappears. the vpnmgr is still installed and running so much that with Putty I can check it but at the top I see the WebUI error message. But it works, I'm using it together with vpnmon-R2
 
After I ran the 'fc disable' command to fix a problem with flex qos , also vpnmgr is visible again in the webUI , don't ask me why!!! However everything works
 
After I ran the 'fc disable' command to fix a problem with flex qos , also vpnmgr is visible again in the webUI , don't ask me why!!! However everything works
It's always a nice feeling when everything comes together and works as advertised! :) Nice work!
 
FYI - I updated my autostart script due to the addition of the -monitor command line options.

Bash:
#!/bin/sh
########################
## call-monitors.sh
########################

LogCmd="/usr/bin/logger -sct "$0_$$""

_DoExit_() {
  $LogCmd "EXIT $1"
  exit $1
}

$LogCmd "START"

# Set Maximum Timeout value as you see fit #
MaxTimeout=600
SleepSecs=2
TimerSecs=0

OptBinFile="/opt/sbin/screen"

case "$1" in
  DNS)
    Command="sh"
    ScriptFile="/jffs/scripts/merlin-dns-monitor.sh"
    Options=""
    ScreenName="dnsmon"
    ;;
  VPN)
    Command="sh"
    ScriptFile="/jffs/scripts/vpnmon-r2.sh"
    Options="-monitor"
    ScreenName="vpnmon-r2"
    ;;
  RTR)
    Command="sh"
    ScriptFile="/jffs/scripts/rtrmon.sh"
    Options="-monitor"
    ScreenName="rtrmon"
    ;;
  *)
    $LogCmd "ERROR: Incorrect argument passed. [$1]"
    _DoExit_ 2
    ;;
esac

if [ ! -f $ScriptFile ]; then
  $LogCmd "ERROR: [$ScriptFile] NOT found."
  _DoExit_ 1
fi

ScriptCommand="${Command} ${ScriptFile} ${Options}"

until [ -f $OptBinFile ] || [ $TimerSecs -ge $MaxTimeout ]; do
  sleep $SleepSecs
  TimerSecs=$(($TimerSecs + $SleepSecs))
done

if [ ! -f $OptBinFile ]; then
  $LogCmd "ERROR: [$OptBinFile] NOT found."
  _DoExit_ 2
fi

$LogCmd "Launching $ScriptFile"
$OptBinFile -dmS $ScreenName $ScriptCommand

_DoExit_ 0

#EOF#
 
FYI - I updated my autostart script due to the addition of the -monitor command line options.

Bash:
#!/bin/sh
########################
## call-monitors.sh
########################

LogCmd="/usr/bin/logger -sct "$0_$$""

_DoExit_() {
  $LogCmd "EXIT $1"
  exit $1
}

$LogCmd "START"

# Set Maximum Timeout value as you see fit #
MaxTimeout=600
SleepSecs=2
TimerSecs=0

OptBinFile="/opt/sbin/screen"

case "$1" in
  DNS)
    Command="sh"
    ScriptFile="/jffs/scripts/merlin-dns-monitor.sh"
    Options=""
    ScreenName="dnsmon"
    ;;
  VPN)
    Command="sh"
    ScriptFile="/jffs/scripts/vpnmon-r2.sh"
    Options="-monitor"
    ScreenName="vpnmon-r2"
    ;;
  RTR)
    Command="sh"
    ScriptFile="/jffs/scripts/rtrmon.sh"
    Options="-monitor"
    ScreenName="rtrmon"
    ;;
  *)
    $LogCmd "ERROR: Incorrect argument passed. [$1]"
    _DoExit_ 2
    ;;
esac

if [ ! -f $ScriptFile ]; then
  $LogCmd "ERROR: [$ScriptFile] NOT found."
  _DoExit_ 1
fi

ScriptCommand="${Command} ${ScriptFile} ${Options}"

until [ -f $OptBinFile ] || [ $TimerSecs -ge $MaxTimeout ]; do
  sleep $SleepSecs
  TimerSecs=$(($TimerSecs + $SleepSecs))
done

if [ ! -f $OptBinFile ]; then
  $LogCmd "ERROR: [$OptBinFile] NOT found."
  _DoExit_ 2
fi

$LogCmd "Launching $ScriptFile"
$OptBinFile -dmS $ScreenName $ScriptCommand

_DoExit_ 0

#EOF#

Excellent work, @iTyPsIDg! Definitely the mother-of-all-startup-scripts! :)
 
Small release today to provide some better integration between VPNMON-R2 and KILLMON. This update handles the ability to suppress the KILLMON header if you have it installed, running or not running, and don't want to see in in VPNMON-R2. Enjoy!

What's new?
v2.41 - (January 22, 2023)
- ADDED:
Some logic was added to check for parameters within the killmon.cfg to determine whether or not to suppress the KILLMON header on the main UI along with the associated logging that happens. If you have KILLMON installed but not running or enabled, VPNMON-R2 would display warnings that KILLMON is disabled and that rule integrity is compromised. You can now suppress these warnings from within the KILLMON UI v1.04.

Download Link (or update directly through AMTM):
Code:
curl --retry 3 "https://raw.githubusercontent.com/ViktorJp/VPNMON-R2/master/vpnmon-r2-2.41.sh" -o "/jffs/scripts/vpnmon-r2.sh" && chmod a+rx "/jffs/scripts/vpnmon-r2.sh"

Significant Screenshots:
An indicator within the KILLMON UI now shows if you have enabled/disabled KILLMON from displaying its status within the VPNMON-R2 UI. If you select "disabled", it will not show up in VPNMON-R2 even if KILLMON is fully enabled. This was done because VPNMON-R2 would show that KILLMON's rules were in a compromised state if KILLMON didn't happen to be running at the time, and wanted to get that screen space back if it is installed, but wasn't running. :)

KILLMON UI:
1674398305413.png

1674398327777.png


When this setting is "enabled", VPNMON-R2 will show the KILLMON status within its UI:
1674398573909.png
 
Last edited:
Putting things in the correct thread:
@Viktor Jaep - Do you think it would be possible to add a feature for NordVPN users to select Yes/No if they use SmartDNS, and if they do and the WAN IP changes, the script would also submit a request to change the IP with Nord?
Correct. I'm hoping that if you can catch it quickly enough, you'll have cached DNS results to initiate the reset before all DNS fails. Once that happens, VPNMON-R2 keeps resetting.

Also, I guess I was not paying close enough attention and put this in the wrong thread. I apologize.
One issue I could see is what I run into from time to time: using the stated WAN IP rather than curling icanhazip.com. Some of my Airbnb's don't allow me to replace their router, so I have to plug mine into theirs which gives my WAN a private IP.
 
Also, separate note, but today VPNMON-R2 kept failing when it tested the configured VPN slot and would initiate a reset. It started overnight and continued after a reboot. However, the VPN is working fine for me. I had to kill the screen session so it wouldn't keep resetting my VPN. Is anyone else experiencing this?
 

Support SNBForums w/ Amazon

If you'd like to support SNBForums, just use this link and buy anything on Amazon. Thanks!

Sign Up For SNBForums Daily Digest

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