Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

After loads and loads of time spent trying, I cannot get my router to port forward any ports. I was trying with a Terraria Game Server, and now I am currently trying with an Apache Server.

It is currently running on port 80, and I cannot connect to it. The localhost works fine though.

Also tried disabling the firewall, nothing.

I can ping my original IP, but not the port 80, or any port I set forwarding to. I'm not sure if I have to change something to allow connections to my network. Also tried disabling Windows Firewall, and nothing.

If the problem is the fact that I'm using the default firewall, I'm open to free alternatives that don't conflict with Avast Free Antivirus.

Example config for port 80:

enter image description here

share|improve this question
    
"I can ping my original IP, but not the port 80" - could you clarify exactly what is and isn't working? Are you pinging from outside your local network? –  Marcus Chan Jan 28 '13 at 22:59
    
@MarcusChan Pinging from windows command prompt using the ping command. Like: ping *my ip* works, but ping *my ip*:80 doesn't. –  DJDavid98 Jan 28 '13 at 23:00
    
I'm still confused. Are you trying to ping your external IP address from the computer you're trying to port forward to? –  Marcus Chan Jan 28 '13 at 23:03
    
@MarcusChan Yes. –  DJDavid98 Jan 28 '13 at 23:03
    
That shouldn't work, as far as I know (I've got a port-forwarded MC server). To test a forwarded port, you have to be outside your local network, or using a service outside your local network like ipfingerprints.com/portscan.php. Try that and see if your port forward is already working. –  Marcus Chan Jan 28 '13 at 23:08

1 Answer 1

up vote 6 down vote accepted

It looks like I was unable to port forward correctly because of 2 main reasons:

  1. I did not have a static IP
  2. Windows Firewall was blocking the port

How to set a static IP:

  1. Naviagte to http://192.168.0.1/ (by default) and log in. If you have not changed it (which you should, by the way) the username and password are both admin. On the Home page (Status) look for your DNS server IPs. For example:

    MAC Address:F8-**-**-**-**-**
    IP Address: 100.134.94.22 (Dynamic IP)
    Subnet Mask: 255.255.255.0
    Default Gateway: 100.134.95.254`
    DNS Server: 213.46.234.53 , 213.46.234.54

    Protip/suggestion: These DNS servers are likely provided by your ISP. Sometimes, these can go down or malfunction, thus making you unable to use your browser normally. This causes the famous "Nothing works except Skype" effect, when you can't access websites using their domain name, like stackoverflow.com. For this very reason, I (and many others) suggest that you use Google's public DNS servers, which are more reliable and also make browsing a tiny little bit faster. To do this, in the following steps, use 8.8.8.8 and 8.8.4.4 as the primary and secondary DNS server, respectively, instead of the ones listed on your router's status page. You can also override the default DNS server IPs in the router itself under Network > WAN, so it hands out Google's DNS servers to the computers connected to it if the machines are set to obtain the addresses automatically.

  2. In windows go to Control Panel \ Network Connections and find the network you're connected to. Right click it ,and select Properties

  3. Scroll down the list until you find TCP/IP protocol. Highlight it and click Properties...
    1. If you already have a static IP, all of the fields will be filled. If this is the case, note the number after IP address.
      Skip forward to How to port-forward
    2. If you don't have a static IP, then you should see all of the fields grayed out, and from the 2-2 radio buttons, the top ones are selected.
  4. Select the bottom radio buttons, and in the IP address field, type an address you want to be your Internal IP. I would suggest using this form: 192.168.0.### - replace #'s with a number from 2 - 254. You should note that the DHCP server hands out IPs starting from 100 if its configuration has not been modified, so there's a chance that the 100-110 range might be used by other computers/TVs/smatphones in the network. Try something above/below that, just to be sure.
  5. The Subnet Mask should fill in automatically. If not, type 255.255.255.0.
  6. Set the default gateway to the IP you used to access the web interface. In this case, 192.168.0.1.
  7. In the next field group, type the 2 DNS server addresses you noted down before.
  8. Hit OK twice. If it worked, you should be able to connect to the internet, but test it, just in case.
    1. If it doesn't work, reset the settings above back to the top radio buttons. Look around, see if you didn't mistype an address or if there is already a computer using the same IP you're trying to use, and try again.
    2. If it does work, then you have successfully set a Static IP

How to port-forward

  1. Port forwarding is pretty straight-forward. You have to, again, navigate to the router's web configuration, where you got the DNS server IPs from.
  2. In the sidebar, look for a menu called Forwarding. Click it!

    TP-Link Configuration Menus

  3. A list of already set virtual servers should open. By default, this is most likely to be empty. Click the Add New... button.
  4. Choose HTTP from the list next to Common Service Port. All the fields get filled, except for the IP Address. Fill that with the Internal IP that you've entered in the Windows configuration.

    • If (for some odd reason) you don't have that drop-down menu, the settings for the HTTP server are as follows:

    Service port: 80
    Internal port: 80
    Protocol: TCP
    Status: Enabled

  5. Click Save

    • If you're curious to see if your server is working, try navigating to the Internal IP you set while Apache is running (of course).

Adding an exception in Windows Firewall

Skip this step if you're not using the default Windows XP Firewall. If you're using a different firewall, you have to look for the proper tutorial, sorry.

  1. Go to Control Panel \ Windows Firewall
  2. Click the Exceptions tab, and then click the Add port... button.
  3. Name it something descriptive, like Apache Server or HTTP Server.
    • The name does not matter, but for your own ease of use, you should not name it something like asdasdasdasd, but this is just a suggestion.
  4. In the port field, type 80. If not already selected, select TCP, and click OK.
  5. Click OK to save the changes you made.
  6. Now your Firewall should not block the connections coming in on port 80.

If you've done everything right, you should be able to access the Web Server using your External IP Address.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.