I am looking into methods how to access my PC from internet. I do not have a public IP (neither for my router nor local PC).

I know I can do 2 things:

  1. ask for public IP and simply port forward
  2. create Hamachi network

But I am wondering, isn't there an online service, or is such service at least possible, that I would register my computer with. My computer would keep open connection to their servers and they would map mine connection to their public IP:port/dns record, so that everytime a request is made to that public IP, it would forward to my PC?

I can see a few problems with it (mainly ports), but maybe I am missing some magic.

Is it possible and/or are there any other methods possible?


  • Why doesn't your company simply get a static, public IP address? That is usually part of the business contract with the ISP.
    – Ron Maupin
    Jan 4, 2018 at 17:09
  • @RonMaupin I have a possibility to do it via static public IP, I am just curious if there is other way Jan 6, 2018 at 18:21
  • The original premise of IP is that each host have a unique address. IPv4 really ran out of addresses a long time ago, and NAT was introduced as a stop-gap until IPv6, which restores the IP paradigm, is ubiquitous. NAT breaks IP, and you get all these problems. While configuring for IPv4, you should also be configuring for IPv6, where you will not have such trouble.
    – Ron Maupin
    Jan 6, 2018 at 19:24
  • Did any answer help you? If so, you should accept the answer so that the question doesn't keep popping up forever, looking for an answer. Alternatively, you could provide and accept your own answer.
    – Ron Maupin
    Feb 21, 2018 at 16:22

5 Answers 5


If your ISP routes packets but you have a dynamic IP address, perhaps all you need is any one of the dynamic DNS services, whereby your systems register the current address.

If the incoming packets aren't delivered because of the ISP's policies or its NAT configuration, you might care to search for "vpn services static ip address", and you'll find many companies sell this exact service you describe.

Be aware that some jurisdictions have considerable restrictions on what's legal.


Essentially, there are two possible solutions:

  1. You track the current IP address and put it somewhere you can find on the Internet. The easiest way is to use a dynamic DNS service where you just access the DNS name which is always kept updated to the current IP address. On your Internet firewall you need to open ports to be forwarded to the PC or - preferrably - VPN access.
  2. You use a broker on the Internet that both the PC to access and the access client connect to. The broker ties both connections together and you can exchange data. The above mentioned Teamviewer is of this kind, there are many others around.

Inherent in all the business network ISP contracts I have seen is at least one (or more, depending on how many you pay for) public IPv4 address, and, more recently, a delegation of IPv6 addresses. You should check your contract, or contact the ISP, to see exactly what you have.

Some businesses that want to host more, or simply don't want the hassle of hardware maintenance, are using hosted servers.

What you are proposing seems to be a kludge that will prove more trouble than it is worth.


In my country (i.e. Turkey), ISP's block incoming traffic unless you pay extra for a static ip. You could perhaps look for a free, low-bandwidth remote server, send periodic heartbeat messages to keep your public ip up-to-date, have clients request it to make a p2p connection to your computer via NAT traversal techniques (which would be quite inefficitent though).


I'm assuming that with "non-public" you mean behind a NAT.

In that case you have multiple options, but they all boil down to something VPN-like:

  • If your ISP gives you a IPv6 subnet you can just ignore NAT and give every system behind your router a seperate IPv6 address
  • If you don't receive a IPv6 subnet (or a subnet with only 1 address) then you can use a IPv6 over IPv4 tunnel ( you can get them for free at https://www.tunnelbroker.net/ ). They will provide you with a IPv6 subnet.
  • If the system from where you connect doesn't have a IPv6 address, create a 2nd tunnel for that side
  • If for some reason you can't get any tunnels (or just hate IPv6), run a OpenSSH server on your router and use temporary portforwarding like this:

    1. Suppose your NAT-router has the IP, the system behind your nat has local IP and you want to access port 80 and port 443.
    2. run ssh -f -N -L 10080: and ssh -f -N -L 10443: on the computer you are working on.
    3. You'll now be able to contact your homesystem's port 80 and port 443 by contacting your localsystem ( at port 10080 and 10443 (with the added advantage that all traffic is encrypted until it reaches your router.)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.