Mikrotik VPN behind firewall?

Hi guys,
so let me explain my problem. In my retarded country one internet company bought the internet company that i made contract with.
So they made one public ip address for multiple users,i think they using one for thousands houses, so now i cant connect to my home gadgets because i cant open/forward any port, fu…g badtards. I called them and they said that i should buy static ip from them and pay additional 6$ for every month.
i dont wanted to pay that corrupted people so i bought mikrotik router. I want to access my gadgets on my android phone, i know that is possible with VPN connection (or im wrong?) if it is possible please help me to set up my router so i can show them the middle finger when i go to their offices :slight_smile:

Thanks in advance guys

At least you need some other place with public ip where you can connect over vpn…

Ok i read somewhere on the net that i can use my raspberry pi with installed tunnel app ngrok from http://www.ngrok.com, and than access my mikrotik that is in the same lan. I installed ngrok forwarded some ports and now they are tunneled through ngork servers so i have some sort of public ip. Someone have experience with this two together ? I saw also that when i run ngrok, i can access the gadget in my lan, so i can forward the port in ngork to use it for vpn forward. The problem is, ngrok have paid plans now, so every time when i restart the service i get assigned new dns name blabla.ngrok.io. I have lots of dyndns accounts that im paying, and i have script that works with my mikrotik. The question is, can somebody help me to make the script look in ngork process on my raspberry and see the updated ip and than update the dyndns ip? Here is the script that i use for dyndns,

:global ddnsuser "*********"
:global ddnspass "**********"
:global theinterface "pppoe-out1"
:global ddnshost "************"
:global ipddns [:resolve $ddnshost];
:global ipfresh [ /ip address get [/ip address find interface=$theinterface ] address ]
:if ([ :typeof $ipfresh ] = nil ) do={
   :log info ("DynDNS: No ip address on $theinterface .")
} else={
   :for i from=( [:len $ipfresh] - 1) to=0 do={ 
      :if ( [:pick $ipfresh $i] = "/") do={ 
    :set ipfresh [:pick $ipfresh 0 $i];
      } 
}
 
:if ($ipddns != $ipfresh) do={
    :log info ("DynDNS: IP-DynDNS = $ipddns")
    :log info ("DynDNS: IP-Fresh = $ipfresh")
   :log info "DynDNS: Update IP needed, Sending UPDATE...!"
   :global str "/nic/update/?hostname=$ddnshost&myip=$ipfresh&wildcard=NOCHG&mx=NOCHG&backmx=NOCHG"
   /tool fetch url=("http://members.dyndns.org".$str)  user=$ddnsuser mode=http  \
         password=$ddnspass dst-path=("/DynDNS.".$ddnshost)
    :delay 1
    :log info "DynDNS: Data sent!"
    :global str [/file find name="DynDNS.$ddnshost"];
    /file remove $str
    :global ipddns $ipfresh
  :log info "DynDNS: IP updated to $ipfresh!"
    } else={
     :log info "DynDNS: dont need changes";
    }
}

Thanks

You have just opened a hole into your network…

Pay the $6? It’ll be the most reliable way. I can’t think of a better way, VPN Services will cost money, probably more than $6/month. The solution you found means you have to trust ngrok as they also have access to your LAN.