1

Моя настройка

У меня в подвале работает сервер 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 и т.д. По отдельности.

2 ответа2

2

Это нормально, чтобы случиться. Проблема не в брандмауэре на уровне интернет-провайдера, а просто в вашем роутере. Когда вы указываете на адрес из вашей локальной сети на общедоступный 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 в своем браузере, происходит следующее:

  • Браузер: установлен ли локальный хост с test.mylocal.net? Нет.
  • Браузер, перенаправьте запрос на локальный DNS-сервер.
  • Локальный DNS-сервер - это ваш Linux-сервер Linux: установлен ли test.mylocal.net? Да, вернуть 192.168.0.111
  • Браузер теперь подключается к вашему веб-серверу и показывает страницу.

Из-за пределов сети:

  • Браузер: установлен ли локальный хост с test.mylocal.net? Нет.
  • Браузер, перенаправьте запрос на локальный DNS-сервер.
  • Локальный DNS-сервер - это чей-то маршрутизатор или DNS-сервер.
  • Локальный DNS-сервер не имеет определенной записи для test.mylocal.net, Возвращает Нет.
  • Локальный DNS-сервер спрашивает интернет-DNS-сервер, что это за IP.
  • DNS-сервер Интернета получил ваш test.mylocal.net с обновлением и возвращает общедоступный IP-адрес.
  • Браузер делает запрос к вашему публичному IP.
  • Браузер подключается к вашему роутеру.
  • Маршрутизатор направляет запрос на ваш сервер Linux.
  • Сервер Linux обслуживает веб-страницу.
  • Браузер показывает веб-страницу.
-1

Привет Пожалуйста, попробуйте отредактировать свой хост-файл и следуйте инструкциям.

  • Перейдите в -> C:\WINDOWS\System32\drivers\etc\hosts
  • Щелкните правой кнопкой мыши файл hosts, выберите «Свойства» и снимите флажок «Только для чтения».
  • Затем нажмите ОК.

2) Теперь вы можете редактировать файл hosts:

Вам может понадобиться учетная запись администратора для редактирования файла хостов. - Откройте Блокнот (Vista/7, Запуск от имени администратора) - Теперь нажмите "Файл", а затем "Открыть". - Теперь введите имя файла (скопируйте /вставьте все это): C:\WINDOWS\System32\drivers\etc\hosts и нажмите "Открыть"

  • Теперь добавьте эти строки в конец файла hosts:

127.0.0.1 ваш публичный IP или DNS

Спасибо..

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .