31

У меня есть модем DSL с публичным IP-адресом (201.206.x.x), и у меня есть веб-сервер во внутренней сети (192.168.0.50).

Я настроил модем для пересылки запросов на порт 80 на мой веб-сервер, поэтому, если я получаю доступ к 201.206.x.x из-за пределов моей сети, он показывает мою веб-страницу, то же самое происходит, если я получаю доступ к 192.168.0.50 с компьютера в моей сети ,

Теперь проблема заключается в том, что когда я пытаюсь получить доступ к 201.206.x.x из моей внутренней сети, браузер пытается подключиться к конфигурации модема DSL вместо перенаправления моего запроса на мой веб-сервер.

Какие настройки мне нужно изменить в модеме, чтобы настроить это перенаправление?

8 ответов8

17

Проблема заключается в том, что перезапись пакетов, как правило, может происходить только при обходе межсетевого экрана. Вообще говоря, маршрутизаторы не могут выполнить необходимую перезапись, когда запрос поступает из той же сети, в которую запрос будет перезаписан. Распространенным решением этой проблемы является размещение веб-прокси вне сети, которое отправляет запрос обратно через брандмауэр.

Я подозреваю, что ваша конкретная проблема заключается в том, что вы хотели бы получить доступ к веб-сайту через имя хоста DNS. Вы можете справиться с этим, используя DNS «split-horizon», поэтому он обращает внимание на то, откуда поступает запрос, и отвечает соответствующим образом: если запрос поступает из вашей сети, он раздает 192.168.0.50 запросам, поступающим от вашего сеть и публичный IP для всех остальных.

Любое из этих предложений может быть реализовано на любом хосте за пределами вашей сети, например (бесплатный) микроэкземпляр Amazon EC2.

14

Я бы сказал, что @Insyte относится к чему-то, когда он / она говорит о том, что проблема связана с разрешением DNS. Это означает, что проблема заключается в переписывании пакетов (прочитайте статью @Insyte еще раз, чтобы получить такое объяснение).

Предполагая, что у вас есть следующие настройки:

  1. Публичный IP: 201.206.x.y
  2. Частный IP: 192.168.0.50
  3. Переадресация портов для всех 80 (и 443, если вы используете SSL) на IP 201.206.x.y192.168.0.50

Затем вы вводите следующее в своем браузере, находясь во внутренней сети:

http://www.yourwebsite.com

и ошибка происходит. Итак, решение: взломайте ваш файл hosts.

В Windows перейдите в C:\windows\system32\drivers\etc\hosts (обратите внимание, что в этом файле нет расширения). В Linux файл находится в /etc/hosts .

Если вы откроете этот файл в Блокноте, вы сможете увидеть любые записи, которые используются для переопределения DNS. Если вы хотите обновить этот файл, вам нужно будет открыть Блокнот (или любую другую программу, которую вы используете для редактирования файла) с правами Администратора, иначе вы не сможете сохранить файл.

Добавьте это в ваш файл hosts:

192.168.0.50 www.yourwebsite.com

Затем перезапустите браузер, введите URL и Viola! Работает. Таким образом, это означает, что ваш браузер не использует DNS для разрешения вашего домена по IP. Вместо этого мы переопределяем это и говорим: Браузер, просто перейдите на мой внутренний IP-адрес для этого доменного имени вместо того, чтобы запрашивать IP-адрес в DNS.

Если вы находитесь в офисе, то вы можете получить всех людей, которым требуется доступ к этому внутреннему веб-сайту, взломать их файл хостов или, если у вас есть внутренний DNS, вы можете добавить в него запись.

Другая идея заключается в том, чтобы иметь внутренний прокси-сервер (для всего веб-серфинга и т.д.), А затем взломать файл hosts на прокси-сервере. Это означает, что ваш браузер скажет « Прокси», не могли бы вы получить мне ресурс http://www.mywebsite.com и прокси-сервер « Конечно», и поскольку мне сказали игнорировать DNS для этого домена, я просто дам IP-адрес, который был жестко запрограммирован в моем файле hosts.

8

Это распространенная проблема, связанная с тем, что некоторые маршрутизаторы обрабатывают трафик, предназначенный для их публичного адреса, с внутреннего адреса - они не следуют тем же правилам переадресации портов, что и запросы извне сети. То, что вам нужно искать в своих маршрутизаторах, - это отражение NAT. Это позволит маршрутизатору обрабатывать внутренние запросы для общедоступного IP-адреса, чтобы использовать те же правила переадресации портов, как если бы запрос поступил извне сети.

2

Я мог бы помочь вам лучше, если бы вы могли дать мне марку и модель вашего модема ...

Но что здесь происходит, так это то, что обычно страница конфигурации маршрутизатора или модема должна появляться только при посещении их внутреннего IP (192.168.0.1)

Но здесь, похоже, происходит то, что он идентифицирует входящий запрос (201.206.xx), так как он приходит изнутри, поэтому решает дать вам страницу конфигурации вместо обычного маршрута к вашему веб-серверу ...

Теперь, если вы используете модем потребительского уровня, вы, вероятно, не сможете изменить это (извините)

Но, может быть, вы можете: Попробуйте и посмотрите, есть ли настройки «прослушивания» на вашей странице конфигурации администратора

Там вы можете попытаться либо изменить страницу администрирования на другой порт, либо ограничить адреса, которые она прослушивает.

2

Возможно проблема в том, что удаленное администрирование разрешено.

2

Вы можете добавить маршрут для доступа к общедоступному IP-адресу сервера напрямую через его локальный IP-адрес. В Windows команда похожа

route add [public IP] mask 255.255.255.255 [the server's local IP]

Чтобы добавить постоянный маршрут, добавьте параметр -p к вышеуказанной команде.

Затем каждый раз, когда вы посещаете общедоступный IP-адрес, компьютер переходит через локальный IP-адрес сервера в качестве шлюза. Поскольку сервер знает свой собственный публичный IP-адрес, он будет обрабатывать пакет от себя, а не пересылать его в локальную сеть.

Вы должны убедиться, что локальный IP-адрес сервера является статическим.

0

На моем маршрутизаторе мне пришлось отключить "ускорение NAT" (Cut Through Forwarding), так как это нарушило петлю NAT ...

0

Имея эту же проблему. Мне удалось это исправить, добавив имя хоста DNS в список сопоставления хостов DNS моего маршрутизатора. Я нашел эти настройки в списке расширенных опций моего роутера.

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