how can i forward requests to my own IP address to a local IP address in my network (possibly using named)?

This is normal to happen. The problem is not a firewall at ISP level, but simply your router. When you Point to an address from inside your LAN to a public IP that is inside your lan, the following happens:

Your PC -> Your Router -> Internet -> Your Router -> Your other PC.

The problem is that when a connection to the internet is then redirected back to your router, your router gets confused because the connection already is coming from your router, and as such its not working. The only way to get this working is by making the public address point to your local network from inside your network, so it never leaves your LAN.

Given that you already have your DNS server on your linux server, add your mylocal.net domain and all subdomains there, and make it point to your local ip address, 192.168.0.111, and ensure that the actual mylocal.net account does the real DNS for the outside world.

Here is an example with what will happen:

Lets assume you have configured test.mylocal.net to point to your public IP named 12.34.56.78

Now, from outside your LAN, pinging test.mylocal.net will reply to 12.34.56.78.

On your Linux DNS server, you add test.mylocal.net and point it to 192.168.0.111.

When you are inside your network, and you enter test.mylocal.net in your browser, the following happens:

  • Browser: Is a local host set with test.mylocal.net? No.
  • Browser, forward request to the Local DNS server.
  • Local DNS server is your linux DNS server: Is test.mylocal.net set? Yes, return 192.168.0.111
  • Browser now connects to your webserver and shows the page.

From outside the network:

  • Browser: Is a local host set with test.mylocal.net? No.
  • Browser, forward request to the Local DNS server.
  • Local DNS server is someone's router or DNS server.
  • Local DNS server does not have a specific entry for test.mylocal.net, Returns No.
  • Local DNS server asks internet DNS server what the IP is.
  • Internet DNS Server has received your test.mylocal.net with an update and returns the public ip.
  • Browser does request to your public ip.
  • Browser connects to your router.
  • Router forwards request to your linux server.
  • Linux server serves the webpage.
  • Browser shows the webpage.