5

I am using a ZTE wi-fi router. My laptop's private IP is 192.168.1.2 where Apache server is running on port 8080. I added the NAT rule to forward http traffic to my laptop.

Protocol - all
Starting port - 8080
End port - 8080
Local IP - 193.168.1.2

However when I browse [public_ip]:8080 shows nothing. when I browse [public_ip]:80 I can log into the router.

How to be sure that ISP is blocking or router is not forwarding?

I tried disabling dhcp, still the same result. I port scanned using nmap, fallowing is the result.

PORT STATE SERVICE 21/tcp open ftp 23/tcp open telnet 80/tcp open http

Port forwarding settings

7
  • Did you restart your router once you added the rule? Commented Feb 23, 2014 at 12:47
  • Yes, same result after restarting Commented Feb 23, 2014 at 12:48
  • Have you tried the same rule, but on port 80? Commented Feb 23, 2014 at 12:53
  • @MatthewWilliams As I stated in the issue description, public_ip:80 logs me to the router after asking the credentials even when I am having the rule. Commented Feb 23, 2014 at 13:34
  • Yes, but does the same result happen when you state a rule for port 80? Commented Feb 23, 2014 at 14:52

1 Answer 1

1

RFC 5128, section 2.10 reads:

Hairpinning is defined in [BEH-UDP] as follows:

If two hosts (called X1 and X2) are behind the same NAT and exchanging traffic, the NAT may allocate an address on the outside of the NAT for X2, called X2':x2'. If X1 sends traffic to X2':x2', it goes to the NAT, which must relay the traffic from X1 to X2. This is referred to as hairpinning.

Not all currently deployed NATs support hairpinning.

Your router simply doesn't support hairpinning. Try connecting to the server from outside the NAT.

1
  • I had the same problem and when accessing my local IP address from outside the NAT, the port forwarding works as expected.
    – madjoe
    Commented Oct 18, 2015 at 13:22

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .