У меня есть зарегистрированное доменное имя (thisexample.net), которое я пересылаю на динамический URL-адрес в DynDns (bounce.dnsalias.net), поскольку мой доступ в Интернет осуществляется по кабелю и не предоставляет статический IP-адрес. Мой маршрутизатор (openwrt) перенаправляет порт 80 на сервер apache в локальной сети.
Это работает для машин, которые ищут URL thisexample.net из-за пределов LAN, и для машин внутри LAN, которые обращаются к LAN-адресу сервера (например, 192.168.1.xxx). Однако машины в локальной сети, переходящие по URL-адресу thisexample.net (или www.thisexample.net), открывают страницу администратора маршрутизатора, как если бы они были адресованы 192.168.1.1.
Я хочу поэкспериментировать с поддоменами, например beta.thisexample.net. Насколько я понимаю, один из способов их настройки - использовать директиву Apache VirtualHost с адресным именем, но ящики LAN не смогут достичь таких страниц поддоменов, поскольку обращение к домену не передает их на сервер в первое место.
Почему ящики LAN не могут использовать URL-адрес?
Как я могу настроить вещи так, чтобы они могли? Это вообще плохой подход к экспериментам с субдоменами?
Создайте вручную запись на своем внутреннем DNS-сервере.
И внешние клиенты, и ваши внутренние ящики достигают того же правильного IP-адреса, который им дает dyndns. Настоящая проблема в том, что ваш маршрутизатор выполняет «переадресацию портов» только для 80 на внешнем интерфейсе. Любые соединения через внутренний интерфейс просто видят собственную страницу openwrt на непересылаемом порту 80.
Это чисто проблема iptables в openwrt (DNAT следует указывать дважды: с -i ethX, а затем с -i ethY).
Если вы хотите обойти проблему через DNS, используйте функцию связывания, которая называется «просмотр». Но это корявое решение.