У вас есть комбинация проблем здесь, и это является проблемой. Каждый вопрос сложен сам по себе. Вот что я бы порекомендовал, чтобы вы наверняка пошли.
Сначала убедитесь, что вы можете просматривать веб-страницы со своего сервера. Это подтвердит, что у вас есть работающий интерфейс Ethernet.
Шаг 1 Убедитесь, что XAMPP и ваши файлы доступны для просмотра из вашей домашней сети. Я предполагаю, что вы используете что-то вроде 192.168.1.X для вашей сети и, возможно, ваш сервер 192.168.1.10
Перейдите на другой компьютер в вашем доме и введите http://192.168.1.10/ и посмотрите, сможете ли вы просмотреть ваши файлы. Если вы можете, то вы знаете, что сервер правильно настроен и XAMPP работает.
Затем добавьте запись в ваш файл hosts, чтобы разрешить yourdnsrecord.com (или что-то еще из вашей записи dyndns) на ваш частный IP-адрес. Затем, когда вы вводите yourdnsrecord.com в браузер с этого компьютера, вы все равно должны получить свои файлы. Это исключит неправильную настройку вашего сервера для прослушивания этого доменного имени.
Далее вам нужно проверить, есть ли проблема с брандмауэром. Чтобы упростить это, сначала удалите ваш домашний маршрутизатор из уравнения. Вместо этого поместите новый сервер прямо в интернет-соединение. (при условии, что вы можете). Таким образом, вам не нужно правильно настраивать NAT или брандмауэры. Ваше имя dyndns должно соответствовать общедоступному IP-адресу, а ваш сервер должен иметь этот IP-адрес и быть подключенным напрямую к Интернету. Если ваш сервер подключен напрямую, а команда ifconfig из корневого приглашения возвращает тот же общедоступный IP-адрес, на который указывает ваша динамическая DNS-запись, она должна работать.
Это облегчит вашу жизнь, если у вас есть iphone или другой способ проверить, как ваша сеть видится из Интернета.
Если ваш общедоступный IP-адрес, показанный ifconfig, отличается от IP-записи в вашей учетной записи dyndns, то ваш скрипт динамического обновления DNS не работает. вручную установите IP и посмотрите, все ли работает.
Вполне возможно, что это не сработает. Некоторые порты межсетевого экрана 80 провайдеров не позволяют своим подписчикам размещать серверы. Как только ваш сервер подключен к Интернету напрямую, вы можете проверить это (даже если ваш DNS не работает), используя публичный IP-адрес. В качестве пользователя root введите ifconfig из командной строки, чтобы получить свой общедоступный IP-адрес. Затем введите команду tcpdump -i eth? порт 80 из корневого приглашения. ETH? должен быть тот же интерфейс, который вы видели, имел публичный IP-адрес из команды ifconfig. обычно это eth0, но это может быть wire0 или что-то в этом роде.
Эта команда покажет вам весь трафик, поступающий через порт 80 на ваш сервер.
С iphone (или любого другого интернет-соединения, которое у вас есть) перейдите к IP-адресу, который вы получили из команды ifconfig. Если вы видите что-то на своем сервере (и оно напрямую связано с вашим провайдером), то ваш провайдер не защищает вас.
Если вы можете получить доступ к вашему серверу, когда он напрямую подключен к Интернету, либо по IP-адресу, либо по адресу DynDNS, тогда ваш провайдер в порядке, и пришло время отладить брандмауэр.
Для настройки брандмауэра необходимо настроить две вещи: NAT, при котором общедоступный адрес, который ваш маршрутизатор получает от вашего провайдера, преобразуется в вашу частную сеть, и правило брандмауэра, разрешающее этот трафик. Если вы зайдете так далеко, то вы знаете, что проблема заключается в брандмауэре, и тогда нужно просто настроить его правильно. Здесь можно документировать многие домашние маршрутизаторы, но обычно вы можете найти инструкции по использованию этого маршрутизатора на веб-сайте производителя (обычно это часть руководства)
Если вы точно будете следовать этим инструкциям, ваша система будет работать. Комментируйте процесс, и я буду рад изменить его, чтобы сделать его более понятным.
НТН,
-Ft