Why does phone has 2 different IPs When I check my IP at whatismyip.com (for example) I cab see my IP is 109.253.X.X.
When I type netcfg at the phone's terminal I can see the line


  rmnet0    UP 10.229.X.X


And indeed when I try out apps like "Droid IP Camera" it listens on 10.229.X.X (rmnet0 interface).

Is it a NAT configuration 3G uses? if so, how can I make apps like "Droid IP Camera" (this app is only given as an example) work over 3G?

Thank you.
Is it a NAT configuration 3G uses? 


Yes, I believe most - if not all - carriers use NAT.


  if so, how can I make apps like "Droid IP Camera" (this app is only given as an example) work over 3G?


You will probably need to ask your carrier to provide you with an external IP address.