Android OpenVPN verbinden en verbreken via Tasker

Enkele maanden geleden hebben wij een artikel gepubliceerd om uit te leggen hoe je OpenVPN kunt installeren op een Asus router. Met OpenVPN kun je veilig op Domoticz inloggen, zonder dat je allerlei poorten moet forwarden en openzetten. Daarnaast kun je ook zonder probleem op een NAS of computer inloggen. Reden genoeg dus om gebruik te maken van OpenVPN. Een klein nadeel is dat OpenVPN wat meer batterijverbruik op je smartphone of tablet kost. In dit artikel leggen we uit hoe je smartphone geheel automatisch de verbinding met OpenVPN legt en weer verbreek als er geen beveiligde verbinding nodig is (bv. als je thuis bent). Hiervoor gebruiken we de apps Tasker en OpenVPN Connect.

 

Benodigdheden

Tasker

Met Tasker kun je taken programmeren zodat, als aan een bepaalde voorwaarde wordt voldaan (genaamd profiles, een soort trigger), er een actie (task) wordt uitgevoerd.

Een functie voor je mobiele telefoon kan zijn een openVPN verbinding automatisch te laten verbinden wanneer je van huis gaat. Zo weet je zeker dat je een veilige VPN verbinding hebt wanneer je toch via andere netwerken (misschien onveilige) aan internet verbonden wordt. Op het moment dat je weer thuis komt en verbinding maakt met je eigen netwerk, kan de openVPN verbinding weer verbroken worden.

In onderstaande voorbeeld gaan we uit van een, al geconfigureerde of bestaande, openVPN profiel met de naam VPN.

Tasks

Open de app Tasker op je telefoon en ga naar het tabblad “Tasks”. Klik op het + teken om een nieuwe task aan te maken. Geef de nieuwe task “OpenVPN verbinden” als naam. Klik nu weer op het + teken. Selecteer “Send Intent” welke je kunt vinden onder “System”. Neem onderstaande settings over:

Action: net.openvpn.openvpn.CONNECT
Cat: None
Mime Type:
Data:
Extra: net.openvpn.openvpn.AUTOSTART_PROFILE_NAME:PC VPN
Extra: net.openvpn.openvpn.AUTOCONNECT:true
Extra:
Package: net.openvpn.openvpn
Class: net.openvpn.unified.MainActivity
Target: Activity

Op regel 5 moet je dus “VPN” vervangen met de naam van jouw OpenVPN-profielnaam (PC moet je gewoon laten staan!).

Op dezelfde manier maak je een Task aan met de naam “OpenVPN verbreken”, maar dan met onderstaande settings:

Action: net.openvpn.openvpn.DISCONNECT
Cat: None
Mime Type:
Data:
Extra: net.openvpn.openvpn.STOP:true
Extra:
Extra:
Package: net.openvpn.openvpn
Class: net.openvpn.unified.MainActivity
Target: Activity

Nu heb je dus twee Tasks aangemaakt; één om verbinding te maken (als je van huis gaat) en één om de verbinding weer te verbreken (als je weer thuis bent).

Profiles

De laatste stap is om twee profielen aan te maken: Indien er je telefoon verbinding heeft met je thuisnetwerk dan mag de OpenVPN-verbinding verbroken worden, als er geen verbinding is dan moet er juist een OpenVPN-verbinding gestart worden.

Ga in Tasker naar het tabblad “Profiles” en klik op het + teken. Klik vervolgens op “State”, dan op “Net”en tot slot op “Wifi Connected”. Je komt nu in onderstaand scherm terecht:

Hier kun je het SSID, MAC en/of IP van jouw smartphone ingeven, zodat Tasker weet dat je telefoon verbonden is met het thuisnetwerk. Ik heb er zelf voor gekozen om het MAC te gebruiken, aangezien SSID en IP-adres ooit zou kunnen veranderen, het MAC-adres is en blijft statisch. Klik vervolgens links boven op het pijltje naar links en klik op “OpenVPN verbreken”. We hebben nu ingesteld: Indien Wifi verbonden is (met het thuisnetwerk) -> OpenVPN-verbinding wordt verbroken.

We gaan nogmaals hetzelfde doen, maar dan net andersom: Indien Wifi niet verbonden is (met een thuisnetwerk) -> OpenVPN-verbinding wordt gemaakt. Aangezien je alleen maar “WiFi Connected” kunt kiezen moet je bij het aanmaken van het tweede profiel “Invert” aanvinken (zie bovenstaande afbeelding). Uiteraard hoef je bij het tweede profiel geen SSID, MAC of IP-adres te kiezen.

Uiteindelijk is onderstaande afbeelding het resultaat en zal de OpenVPN-verbinding automatisch gemaakt of verbroken worden.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *