I am running a server on a Raspberry Pi which is connected to a FritzBox. From within the network, I can reach the server both via the local IP and via the registered URL. From the outside, it is however not working.

This is how I set up the Port Forwarding: FritzBox Screenshot

the 'HTTP and HTTPS server' items have TCP protocol, the other ones are with UDP. However, when checking my ports here, the port seems to be closed: portcheck

The apache server on the raspberry pi is configured to allow at least everything on Port 80, as the file /etc/apache2/sites-enabled/000-default.conf has a block <VirtualHost *:80> ... <VirtualHost>.

Rather than getting the ultimate solution, I'd like to gather ideas on what ELSE could potentially block requests from the outside? Is there a way to identify whether the request reaches the router, but not the raspberry, to narrow down the problem?

  • I do connect to the device address. Infact, I copy the ip6 from ifconfig on the RPi into the browser. – E. Sommer Feb 9 at 19:04
  • What is shown in the Fritz Box are the local IP adresses, aren't they? – E. Sommer Feb 9 at 19:07
  • Disregarding ULA, there is no such thing as a local address with IPv6. – Daniel B Feb 9 at 19:08
  • Pardon my wording. As far as I understand the :: ... :4b2c address from the screenshot is some constant assignment for the rpi, similar to the fix IP4 address. As this does not appear in ifconfig, I disregard it for this purpose. – E. Sommer Feb 9 at 19:15
  • @DanielB: That makes as much sense as "Disregarding RFC1918, there is no such thing as a local address with IPv4"... – grawity Feb 10 at 11:25

When setting up port forwarding for IPv4, the process is straightforward: You only have one public IP address, after all.

With IPv6, the FritzBox firewall works differently: There is no NAT involved, so traffic arrives bound for the device’s own IPv6 address. The firewall has to be set up to allow traffic to this specific address. That’s what the “IPv6 Interface-ID” in the FritzBox user interface is: The local part of your device’s IPv6 address.

Consider this example:

FritzBox Port Forwarding

At the bottom you can see the actual IPv6 address and port that are allowed through the firewall.

For you, this IPv6 address and the actual device IPv6 address do not match. As such, traffic is blocked by the firewall.

If for whatever reason the permanent suffix (usually based on the MAC address) is not correctly picked up by the UI, you need to manually put in the correct one.

You may have to change the device’s IPv6 settings like disabling Privacy Extensions for it to actually have a predictable IPv6 address.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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