У меня есть модем DSL с публичным IP-адресом ( 201.206.x.x
), и у меня есть веб-сервер во внутренней сети ( 192.168.0.50
).
Я настроил модем для пересылки запросов на порт 80 на мой веб-сервер, поэтому, если я получаю доступ 201.206.x.x
извне моей сети, он показывает мою веб-страницу, то же самое происходит, если я получаю доступ192.168.0.50
с компьютера в моей сети.
Теперь проблема заключается в том, что когда я пытаюсь получить доступ 201.206.x.x
из своей внутренней сети, браузер пытается подключиться к конфигурации модема DSL вместо перенаправления моего запроса на мой веб-сервер.
Какие настройки мне нужно изменить в модеме, чтобы настроить это перенаправление?
Ответы:
Проблема заключается в том, что перезапись пакетов, как правило, может происходить только при обходе межсетевого экрана. Вообще говоря, маршрутизаторы не могут выполнить необходимую перезапись, когда запрос поступает из той же сети, в которую запрос будет перезаписан. Распространенным решением этой проблемы является размещение веб-прокси вне сети, которое отправляет запрос обратно через брандмауэр.
Я подозреваю, что ваша конкретная проблема заключается в том, что вы хотели бы получить доступ к веб-сайту через имя хоста DNS. Вы можете справиться с этим, используя DNS «split-horizon», поэтому он обращает внимание на то, откуда поступает запрос, и отвечает соответствующим образом: если запрос поступает из вашей сети, он раздает 192.168.0.50 запросам, поступающим от вашего сеть и публичный IP для всех остальных.
Любое из этих предложений может быть реализовано на любом хосте за пределами вашей сети, например (бесплатный) микроэкземпляр Amazon EC2.
источник
Я бы сказал, что @Insyte относится к чему-то, когда он / она говорит о том, что проблема связана с разрешением DNS. Это означает, что проблема заключается в переписывании пакетов (прочитайте статью @Insyte еще раз для получения объяснения).
Предполагая, что у вас есть следующие настройки:
201.206.x.y
192.168.0.50
201.206.x.y
→192.168.0.50
Затем вы вводите следующее в своем браузере, находясь во внутренней сети:
и ошибка происходит. Итак, решение: взломайте ваш файл 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 .источник
Это распространенная проблема с тем, как некоторые маршрутизаторы обрабатывают трафик, предназначенный для их публичного адреса, с внутреннего адреса - они не следуют тем же правилам переадресации портов, что и запросы извне сети. То, что вам нужно искать в своих маршрутизаторах, - это отражение NAT . Это позволит маршрутизатору обрабатывать внутренние запросы для общедоступного IP-адреса, чтобы использовать те же правила переадресации портов, как если бы запрос поступил извне сети.
источник
Я мог бы помочь вам лучше, если бы вы могли дать мне марку и модель вашего модема ...
Но что здесь происходит, так это то, что обычно страница конфигурации маршрутизатора или модема должна появляться только при посещении их внутреннего IP (192.168.0.1)
Но здесь, похоже, происходит то, что он идентифицирует входящий запрос (201.206.xx), так как он приходит изнутри, поэтому решает дать вам страницу конфигурации вместо обычного маршрута к вашему веб-серверу
Теперь, если вы используете модем потребительского уровня, вы, вероятно, не сможете изменить это (извините)
Но, возможно, вы можете: Попробуйте и посмотрите, есть ли настройки «прослушивания» на вашей странице конфигурации администратора
Там вы можете попытаться либо изменить страницу администрирования на другой порт, либо ограничить адреса, которые она прослушивает.
источник
Возможно проблема в том, что удаленное администрирование разрешено.
источник
Вы можете добавить маршрут для доступа к общедоступному IP-адресу сервера напрямую через его локальный IP-адрес. В Windows команда похожа
route add [public IP] mask 255.255.255.255 [the server's local IP]
Чтобы добавить постоянный маршрут, добавьте
-p
параметр к вышеуказанной команде.Затем каждый раз, когда вы посещаете общедоступный IP-адрес, компьютер переходит через локальный IP-адрес сервера в качестве шлюза. Поскольку сервер знает свой собственный публичный IP-адрес, он будет обрабатывать пакет от себя, а не пересылать его в локальную сеть.
Вы должны убедиться, что локальный IP-адрес сервера является статическим.
источник
Имея эту же проблему. Мне удалось это исправить, добавив имя хоста DNS в список сопоставления хостов DNS моего маршрутизатора. Я нашел эти настройки в списке расширенных опций моего роутера.
источник
На моем маршрутизаторе мне пришлось отключить «ускорение NAT» (Cut Through Forwarding), поскольку это нарушило петлю NAT ...
источник