How can I ping my home computer from outside? - networking

I'm trying to wrap my head around networking and the internet. This is a very big subject, and it is not my goal to understand all of it. However, I want to know how to use it for... stuff... which right now means I want to find a specific computer. I'm going for my home computer. I know the IP adress is alpha and omega when it comes to finding something online, so I have looked it up, by typing "my ip" into google. So far, so good.
However, I did the same on my phone, which is connected to the same wireless router, and lo and behold, it has the same IP address, according to google. So, if I am on a different computer, on a different network, and I try to ping that IP address, my best bet is that I'll reach that wireless router and that's that (I've checked in the router settings that that is indeed my router's IP address as well). How can I send a ping (as in, using the sommand ping, either on linux or windows) from somewhere else that goes out on the internet, and specifically finds my computer, instead of just the router controlling my home network?

Your home router has a single IP address. The router's job is to use a network address translation (NAT) to figure out which computer or device on your home network sent which requests so that all the devices on your router can use the same external IP address.
The router also has port forwarding settings that you can look up so you can, for example, set up a game server or web server that directs all outside network traffic trying to use that port to that one specific computer. You can also DMZ a specific computer but that leaves that device open to attacks.

To keep it simple: the devices in your home network do have an IP address, but it is a private IP address. In order to be able to reach your phone from the internet, it should have a public IP.
Unless you try to mess with the router, you can't reach any device from outside your network.

Your PC lives underneath the router on a smaller network called your LAN. The internet cannot see it, it can only see your router, which in this case is serving as a gateway.
Pinging is difficult behind a router depending on whether your router uses PAT or NAT. In order to forward traffic to a specific port you can change a setting in your router to forward incoming traffic on that port to the local machine.

Related

My Router Internet IP is different from my public IP

I am running a ddns client on Ubuntu for Nextcloud server, however my ISP has done something to the router so internet IP showing in the router is different from my public IP which causes an issue when ddclient updates the IP of my domain.
I have tried to contact my ISP but they want me to pay a huge amount for a fixed IP.
Is there any solution for this?
My router model is HG8245Q2.
*PS: The IP shown in the image is just an example.
Note: I tried this on a another router model HG8245Q, and it gives me the same IP on both router and google. so no issue on the old router model.
The IP address you see in your router is just another internal IP address from private range 10.x.x.x
This means your router is not connected directly to the internet but to another subnet of your ISP. And only this subnet is connected to the internet over another router (with NAT) and this router has a public IP address.
This is standard behavior with most of ISP because they have limited count of public IP addresses. If you need public IP, you have to pay for it, change ISP who gives you one for free or try some edge case solution like rent VPS server and make VPN tunnel to your home router (this requires advanced networking skills)
Maybe DDNS comes in handy for you. You can opt for free DDNS services like DynDDNS or NoIP.
Steps [I personally prefer noip.com ]:
Create a Free Account
Choose a hostname(We can say a domain name pointing towards ur system IP)
Download their desktop client(To sync your Dynamic IP with the hostname you selected)
Boom it's done! Use that hostname instead of IP wherever needed, traffic will be redirected to your system. Just take care of port forwarding and firewall settings.

How to Find My Proper Ip Address to Connect to Another Computer Remotely

My friend wanted to connect to my computer using Remote Desktop Connection. But the problem is I am confused what my Ip address is.
My computer is connected to the internet via router via broadband internet network. My ip address is dynamic.
Here, my main purpose is not only the remote connection but also learning how dynamic ip connect to another pc.
I searched for ip address on Google. They show me an ip address. But I think it is not mine, it's related with the router or broadband network. I also find a WAN ip (it is different from that i found on google) on router settings. It did't work.
I used Team Viewer. It worked perfectly. But I want to do that manually because I am going to make a multiplayer game on GM8.
It will helpful if someone explain about ip and port forwarding.
Teamviewer is a great tool, but uses different techniques than what you plan to do. Teamviewer always uses an outgoing connection and use a mediator on the Internet to connect you and the other PC.
You should ask your Internet provider if he technically enables you to be reachable from the outside Internet. Often this is not possible at all, even if you configure your router the correct way.
When you ask this you can ask him if you have a static IP.
It seems you are not aware of basics of IP networking, so I'd strongly advise against trying this on your router as wrong settings would render it useless. But here's for your information how port forwarding and IP Address and dynamic DNS can be used to solve your problem.
Basically your ISP is likely to give you a router having an IP address. If this IP address is a global IP address, it is possible to connect to this IP from outside. How do you find out whether your IP address is global? Look for your WAN IP address setting. If it is in 10.x.x.x or 192.168.x.x range, it's unlikely to be global and in that case it might not be possible to connect to your computer from outside - without help of a third server (some kind of a registration server, where you connect and register your application). The Registration server would determine your globally visible IP address and then convey it to another Application who is interested in connecting to it. This is somewhat complicated to make it work (but if you intend to make a game - this is something you'd have to do regardless). This is mostly how software like TeamViewer would work.
If you have a global IP address - it means it can technically be reached from anywhere in the world. In that case you could use port forwarding to make things work for you. Port forwarding works basically as follows - You expose a certain port (on TCP) to external world - say 8000 and then you make a setting like following on your router.
<TCP>-<RouterIP>-8000 --> <TCP>-<Your LAN IP><Your application Port>
(You can find you lan ip using ipconfig on windows or ifconfig on Linux).
Now all connections coming to port 8000 would be directed to your application. You might want to do it on UDP as well and the protocol above would change. That is how you 'open' a few ports to be accessible from outside, configure them on your router and then run corresponding applications on your network.
There's another thing called dynamic DNS, where the IP address you use if it is dynamic (and global) can be registered with a Dynamic DNS server so that you don't have to know and remember the current WAN IP Address. But that can be for later.
Hope that helps.

Connecting Veency on Iphone from another network

I installed Veency Server on my old Iphone 3GS. I can connect to it from my other devices in local network, using its 192.168.2.xxx adress, but i cant connect from another network. I know that my router uses NAT so i tried port forwarding for ports 5500,5900 and 5800, then i tried to forward all ports in range 0:7000 but none of them seemed to work. What can i do ?
Thanks a million in advance.
Shouldn't be too complicated.
Set a DHCP reservation in your router for the device.
Forward the VNC port (Usually 5900) to the IP you set.
If you don't have a static external IP, get something like No-IP or DynDNS so you can have an unchanging URL to connect to.
That's about it, it's no different than making any other service external.
You should know that this will not be secure, and very easy for a man in the middle attack to happen.

Setting up local wireless server using WAMP

My goal is to have two laptops in a network. One is acting as a server, serving webpages to the other. The catch here is that neither is connected to the outside internet.
What I have done so far is setup WAMP on the server laptop, and it successfully serves web pages on localhost. Now I want to access these pages on the other laptop.
To do this, I had the server create an ad-hoc network and connected the other laptop to it, but I'm stuck - and I'm worried I'm not on the right track. I followed this tutorial but in the end I figured out that just explained how to spoof a text URL as an IP address, and not really what I was looking for.
So I guess I have two questions:
Is my method the best way to do this (with ad-hoc networks)? Is there some way to connect a laptop to a wireless router and have the laptop act as a server to another laptop?
If my WAMP and ad-hoc network should work, how do I connect other laptops to my server through the ad-hoc network?
Thanks!
I would suggest the first option: get a wifi router. Then you can assign static IP adresses from the routers private network or use DHCP server on the router. Hopefully you will have an option to reserve IP adresses on DHCP server so you dont have to check every time what IP adress the laptop acting as a server got. You use this address to access your web server. Also, you can use this router later as a gateway to the internet if you want.
In ad hoc mode you will probably get an address from 169.254.0.0/16 link-local scope, and you can check it by running ipconfig as #Robadob already suggested.
On your hosting laptop open cmd and call ipconfig look for the internal IP address on the network interface your hosting the ad-hoc network.
Enter that IP address into the browser on your client laptops web browser instead of localhost.
If that doesn't work, try other ip addresses listed by ipconfig (incase you used the wrong) and then check the properties of your ad-hoc network, windows firewall and any other firewall software to disable anything that might be blocking it.
An ad-hoc network is suitable option for what your doing, most people would probably use a switch or router though, however that requires hardware you probably don't have.

Remote Desktop From Outside Network

I've got a school demo tomorrow and because I don't have a laptop I need to use remote desktop to access a DB on my home machine for the demo. I can access my desktop from another machine on my ethernet by using the IP address I get from ipconfig, but here's the problem:
The address of my home machine from ipconfig is of the form 192.168.1.XXX
where my subnet mask is 256.256.256.0
I'm worried that once I'm on a machine outside of my ethernet the 192.168.1.XXX address will no longer work because I think that that address is relative to my ethernet. Is there a way I can find out my computer's public IP address or am I just being paranoid and the address I have is the public one?
Thanks a lot for your help!
You are correct that 192.168.1.xxx will not work from your school's network, or at least it won't point to your home network. That is a local-only address.
What you can do is set up port-forwarding on your home router to forward remote-desktop packets to your machine at home, say 192.168.1.2.
So what you'll need is:
a) the public IP of your router; you can either go to one of those "what is my IP" websites to find it, or use traceroute/tracert to see it.
b) configure port-forwarding on your home router to 192.168.1.2 (the machine with the DB on it that you want to remote in to). Not sure of the exact port but usually the router will have a named option like "Remote Desktop" to figure it out for you.
- to do this, you can usually go to http://192.168.1.xxx (or whatever your router's local IP is), enter admin credentials, and configure the port-forwarding from there.
Then when at school, you would remote to your home router's public IP, and everything should just work. Good luck!
192.x.x.x and 10.x.x.x are internal ip addresses to your network so you are right, it won't work. Are you able to install software on your home computer and the computer you are connecting from? If so you could use http://www.teamviewer.com/en/index.aspx (it is free for private use). I use it on my family's computers to remotely help them with troubleshooting issues. If you have a Windows box you can also use remote assistance.

Resources