in ASP.NET ,UserHostAddress may not return the correct IPAddress of the client machine , use X-FORWARDED-FOR to getting the correct result.
FOR MORE INFO ::
http://thepcspy.com/read/getting_the_real_ip_of_your_users/
' Look for a proxy address first
Dim _ip As String = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
' If there is no proxy, get the standard remote address
If (_ip = "" Or _ip.ToLower = "unknown") Then _
_ip = Request.ServerVariables("REMOTE_ADDR")
Also ,very good info on wiki...
http://en.wikipedia.org/wiki/X-Forwarded-For