Linux: How do you find out what your server’s outgoing ip is?
There are many times when I needed to find out my outgoing (or external) IP for the servers which are behind load balancers or firewalls. I used to just login to another external server from the server in question and find out by looking at “who” what my external ip is. Even though it works and I am so used to it, today I decided to figure out a more graceful way of finding my outgoing ip. As most of us already know, whatismyip.com is the quickest way to find out your outgoing ip from the browser. So I decided to use the same way on the servers. So I issued a wget:
wget http://www.whatismyip.org
Well that does the trick. But being lazy as I am, I did not want to have to cat the output file to find out the ip (plus there is no point of creating extra files and doing extra work to remove them). So if you are ssh’ed in, you can issue following command (I am sure there is another way of doing it, but this is the quickest way I could think of):
wget -q -O - http://www.whatismyip.org
-O tells wget to redirect output to the following file (- being the standard out ). So it basically echo’s output to our console.
-q makes wget run in quiet mode so you do not see all of the connection/download/etc output.
That is it! I am curious to know what other ways people use to get the same information. Please share your way if possible.
————————————-
DISCLAIMER: Please be smart and use code found on internet carefully. Make backups often. And yeah.. last but not least.. I am not responsible for any damage caused by this posting. Use at your own risk.



Try wget http://www.whatismyip.org. It returns just the IP, just like the n09230945.asp example above. A little easier to remember too… =)
Thats a very useful url to remember. One small simplification though, you can replace ‘$SSH_TTY’ with ‘-’ to send directly to standard out.
Thanks jaredmellentine! I have updated the post with “org” url.
Alex: thanks for your tip. I have updated the post to reflect your recommendation.
why wouldn’t you use /sbin/ifconfig eth0
Because when you are behind firewall/load balancers, you tend to have private IPs. Most businesses with multiple servers will have it setup that way so they don’t have to buy/justify big blocks of IPs.
Though it’s basically the same thing, I have always used
‘curl whatismyip.org’
which defaults to having no extra verbosity while outputting to stdout.