Моя настройка
У меня в подвале работает сервер Linux. В настоящее время мой маршрутизатор ищет этот сервер для поиска DNS, поэтому я могу использовать named, чтобы подделать несколько доменных имен, чтобы указать на локальный адрес моего локального сервера 192.168.0.111
. Это прекрасно работает.
Я также использую Apache и PHP на этом сервере и перенаправил порт 80 на моем маршрутизаторе на этот компьютер, поэтому мой публичный IP-адрес xx.xxx.x.xx
отправляется на подвальный сервер.
Это отличная разработка для меня, потому что я могу разрабатывать веб-сайты в своей локальной сети и размещать их на многочисленных устройствах с *.mylocal.net
адресом. Я также могу быстро поделиться веб-сайтом с общедоступным IP-адресом с другими, которые находятся за пределами моей сети.
У меня есть статический IP, так что это еще проще.
Проблема
Некоторые приложения должны иметь абсолютный URL. Мой поддельный DNS не работает вне моей сети, равно как и мой внутренний IP-адрес.
Мне нужно иметь доступ к сайтам с того же IP-адреса, к которому они доступны публично, и это мой публичный IP-адрес: xx.xxx.x.xx
По какой-то причине я не могу получить доступ к своему общедоступному IP-адресу из своей сети.
Общедоступный IP-адрес моего маршрутизатора xx.xxx.x.xx
, и когда я нажимаю xx.xxx.x.xx
вне своей сети, я вижу именно то, что я хочу - мой веб-сайт разработки. Но когда я попал xx.xxx.x.xx
изнутри моей сети, время соединения истекло.
Я предполагаю , что мой провайдер имеет брандмауэр , который блокирует запросы от xx.xxx.x.xx
до , xx.xxx.x.xx
где происхождение и назначение такого же IP (или , может быть , это невозможно в любой сети?)
Итак, как я могу настроить свою сеть для пересылки внутреннего запроса на мой общедоступный IP-адрес на локальный IP-адрес моего подвального сервера?
Я хотел бы сделать это на локальном DNS-сервере, который я настроил, или на своем маршрутизаторе, чтобы изменение можно было применить ко всем устройствам в моей сети, а не только к серверу подвалов или к планшету / ноутбуку с Windows и т. Д. По отдельности.
источник
Ответы:
Это нормально, чтобы случиться. Проблема не в брандмауэре на уровне провайдера, а просто в вашем роутере. Когда вы указываете на адрес из вашей локальной сети на общедоступный IP-адрес внутри вашей локальной сети, происходит следующее:
Your PC
->Your Router
->Internet
->Your Router
->Your other PC
.Проблема заключается в том, что когда соединение с Интернетом затем перенаправляется обратно на ваш маршрутизатор, ваш маршрутизатор сбивается с толку, потому что соединение уже идет от вашего маршрутизатора, и поэтому оно не работает. Единственный способ добиться этой цели - сделать так, чтобы общедоступный адрес указывал на вашу локальную сеть из
inside
вашей сети, чтобы она никогда не покидала вашу локальную сеть.Учитывая, что у вас уже есть DNS-сервер на вашем linux-сервере, добавьте туда свой домен mylocal.net и все дочерние домены и укажите его локальный IP-адрес 192.168.0.111 и убедитесь, что действительная учетная запись mylocal.net действительно работает. DNS для внешнего мира.
Вот пример того, что произойдет:
Предположим, вы настроили test.mylocal.net, чтобы он указывал на ваш публичный IP-адрес с именем 12.34.56.78.
Теперь из вашей локальной сети pinging test.mylocal.net ответит на 12.34.56.78.
На вашем DNS-сервере Linux вы добавляете test.mylocal.net и указываете его на 192.168.0.111.
Когда вы находитесь в своей сети и вводите test.mylocal.net в своем браузере, происходит следующее:
Из-за пределов сети:
источник
internal IP
вместо него.Привет Пожалуйста, попробуйте отредактировать файл хоста и следуйте инструкциям.
2) Теперь вы можете редактировать файл hosts:
127.0.0.1 ваш публичный IP или DNS
Спасибо..
источник