Страница 1 из 2

Подробная инструкция - внешний доступ к сайту + DNS + роутер

Добавлено: 06 июн 2014, 01:00
Redee
Имеем стандартное проводное подключение к инету (оптическое волокно).

1. Сверяем IP инета и на WAN в роутере:
Заходим на сайт 2ip.ru
Заходим на роутер в браузере 192.168.1.1, смотрим WAN.
Eсли напрямую в комп кабель инета - переходим в состояние сет.подключения.
-
Если IP одинаковые, значит все впорядке - провайдер на комп клиента отдает внешний (белый) IP.
Если же айпи разные, то у вас внутренний (серый) IP.

В этом случае звоним провайдеру говорим что хотим внешний IP.
Сейчас уважающие себя провайдеры выделяют внешний IP абонентам.
Иногда в службе поддержки могут не понять вас и буду "впаривать" услугу статический IP.
Не ведитесь на это и требуйте внешний ip под угрозой того что уйдете к другому провайдеру.

Если надо объяснить оператору и так сказать ввести в курс дела - скажите что когда захожу на 2ip.ru - IP в инете и IP компа (wan роутера) РАЗНЫЕ.
А это значит что wan ip роутера (компа) внутренний.

Кабель инета напрямую в компе >
Изображение
Кабель инета в роутере >
Изображение
На сайте 2ip.ru >
Изображение
Вообщем должны пойти на встречу и поменять на внешний, особенно если есть конкуренция провайдеров интернета в вашем городе.

Стоит заметить что при выделении вам динамического внешнего ip часто идет подвязка к mac адресу.
Можете перебирая маки подобрать более быстрый ip в выгодном (более надежном) диапазоне.
В роутере обычно можно поменять в секции Mac Clone.
Если выходите напрямую с компа, то в свойствах сетевой карты - дополнительно - сетевой адрес.

Команда для проверки пинга, cmd >
ping -t [сайт]

Вы должны обязательно удостовериться в наличии внешнего IP.
Или немного "повоевав" с провайдером получить внешний IP.
Когда обязательное требование - наличие внешнего IP будет выполнено - можете читать дальше, в ином случае это не имеет никакого практического смысла, разве что для понимания как это работает.


2. Роутер:
Заходим в управление роутером через браузер (192.168.1.1)
Проброс портов (forwarding - virtual servers) - порты 53 и 80 на лок.IP.
То есть когда на внешний Ip инета будут стучаться, то сигнал будет передаваться нужному компу в локальной сети 192.168.1.xxx по этим портам.

Изображение


3. OpS настройки:
В OpS - Настройки - Сервер - БЕЗ отметки - Не вносить изменения в HOSTS файл
Сервер - Защитить сервер от внешнего доступа

Сервер - IP адрес сервера - вводим нужный (192.168.1.xxx)
Можно увидеть все доступные IP сет.карт - сmd - ipconfig
Тут надо понимать чтобы проброшенный IP в роутере соответствовал IP сет.карты компа где развернут OpS.

Изображение
Модули - DNS - Unbound
(для мониторинга трафика через лог файл > ставим галку - вести лог запросов)

Изображение


4. Домены(сайты) OpS:
Меняем в каталоге доменов (OpenServer/domains) название папки(домена) localhost на localhost# чтобы не ругалось что нужен обязательно 127.0.0.1 айпи.
Домены должны быть 2го и более уровневыми для правильной работы DNS сервера.
Например > test.loc / my.site.com


5. Unbound:
Переходим в папку
e:\OpenServer\userdata\config\
делаем копию файла Unbound-1.4.21_zone.conf
Вносим изменения >
local-data: "%domain%. %ttl% IN A [ваш_внешний_ip]"


6. Запуск OpS:
Запуск (перезапуск) OpS.


7. Сетевое подключение:
TCP/IP - вводим IP dns сервера который указали в пробросе портов в роутере и который присвоили OpS > 192.168.1.xxx
Также можно указывать у себя и внешний IP но не целесообразно - по внутреннему быстрей, минуя внешний запрос и проброс сигнала через роутер.

Изображение
Мы можем НЕ менять DNS так как считаем ранее hosts файл, но для остальных сайтов инета будет работать свой dns сервер Unbound.


8. Схема взаимодействия:
Удаленный комп прописал в сет.подключении IP вашего dns (ваш внешний ip инета).
У вас запущен OpS.

Изображение
Идет запрос о сайте на ваш DNS на внешний ip 53 порт -
- роутер - проброс сигнала на ваш лок.IP 53 порт -
- Ответ днс - IP с записи A -
- клиент - GET запрос на IP с записи A (на внешний IP) на 80 порт -
- роутер - проброс сигнала на лок.IP 80 порт -
- Ответ веб-сервера -
- клиент (удаленный комп) увидел у себя в браузере ваш проект.


9. Заметки:
Следует отметить что непосредственно ВЫ (комп где запущен OpS) при наборе адреса вашего сайта НЕ спрашиваете IP на DNS сервере Unbound куда бросать GET зарос на 80 порт, а ранее считываете запись с \windows\etc\drivers\hosts
192.168.1.xxx [ваш_сайт]

Можете также попытаться запустить OpS НЕ добавляя записи о доменах в HOSTS файл и указывая внешний IP, но тогда OpS НЕ запуститься, так как этот IP не доступен и находится в роутере.
Так можно делать если кабель инета с внешним IP вставлен НАПРЯМУЮ в сетевую карту компа.
Также можно не менять %ip% в конфиг файле Unbound-1.4.21_zone.conf

Если не менять %ip% в конфиг файле Unbound-1.4.21_zone.conf то при вышеизложенной настройке сайт OpS будет виден только в локальной сети. И DNS в сет.подключении надо вводить 192.168.1.xxx где запущен OpS.

Для примеров использовались внутр.IP вида 192.168.1.xxx относительно стандартных настроек роутеров.

Добавлено: 06 июн 2014, 01:15
Максим
Какой же это оффтоп. Перенес вашу тему в Полезные советы. Огромное спасибо что не поленились написать такой большой и подробный инструкшен.

Кстати картинки лучше загружать как вложения (их тоже можно расставлять по тексту), а то внешние со временем могут стать недоступными (хостинги картинок любят их стирать со временем).

А вот на счет статического и внешнего IP - по моему вы погорячились. Конечно есть провайдеры где всё именно так как вы описали, но в большинстве своём статический IP это и есть внешний, иначе на какой чёрт он тогда вообще абоненту нужен :)

Добавлено: 06 июн 2014, 14:47
Redee
Пожалуйста ).
По крайней мере у народа будет меньше вопросов о доступе извне особенно через dns.
Да и такой вариант как по мне будет наиболее оптимальным с наименьшими телодвижениями на стороне клиента.

Конечно пользователи могут также прописать в hosts файле строку конкретного сайта с внеш.IP, не вводя dns, но если проектов много то замучаются вписывать домены и внеш.IP.

Flickr как и imageshack доверяю - за все время (около 2 лет) остались все до единой загружаемые картинки в свой аккаунт. Только вот жаль что имэйджшэк стал платным - на нем все полностью устраивало и кое что гораздо удобнее.

[spoiler]Был момент с пропажей изображений с акка на radikal.ru и помнится они полностью игнорировали мои письма в службу поддержки о восстановлении картинок. Так что после того случая пользуюсь только известными глобальными "забугорными" сервисами.

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

Долго пишу... Вообщем если бы тут на форуме ОпенСервера при загрузке картинок генерировалось несколько ссылок на разные размеры + сохранялся оригинал, то пользовался бы размещением тут и чтобы не было доп. информации сверху (вложение).
То есть чтобы с виду было как будто вставляешь чистыми ссылками без дополнительной инфы и стилизации.

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

Последний абзац наверное в тему - предложения и пожелания. Конечно я такого никогда нигде не видел на форумах чтобы был подобный функционал при вложении картинок ))).[/spoiler]

Добавлено: 07 июн 2014, 18:56
antoniusee
Redee, прошу настроить скрипт на open server antoniusgertus@gmail.com

Добавлено: 09 июн 2014, 21:54
Osvax
Redee писал(а):.
Извините, такой вопрос. А с базой теперь соеденятся через 192.168.1.ххх ? Не через 127.0.0.1?

Добавлено: 09 июн 2014, 22:24
Максим
Osvax, при таком раскладе база будет доступа только на локальном IP 192.168.1.ххх, но если в роутере кроме портов 53 и 80 пробросить 3306, то MySQL будет доступа и на внешнем ip адресе.

Добавлено: 09 июн 2014, 22:35
Osvax
Максим писал(а):Osvax, при таком раскладе база будет доступа только на локальном IP 192.168.1.ххх, но если в роутере кроме портов 53 и 80 пробросить 3306, то MySQL будет доступа и на внешнем ip адресе.
Спасибо, постепенно догоняю)))

Добавлено: 23 мар 2015, 08:44
darkleech
Ох... и муть какая-то, чтобы подключиться к клиенту, нужно настраивать сет.подключение...
Вот так было бы отлично, клиент вбил в адресной строке адрес и зашел на мой локальный сайт
http://тут мой айпи/site.ru

НО так наверно невозможно сделать?

Добавлено: 31 мар 2015, 00:32
Максим
darkleech, всё возможно. Это через реврайт настраивается проще простого. Погуглите.

Добавлено: 17 апр 2015, 00:11
Shaman
А может кто подскажет по поводу днс - настроил (OS стоит на отдельном ПК и в настройках роутера он прописан как первичный dns, чтобы не править hosts), в локалке с компьютеров/ноутбуков локальные сайты вида name.local прекрасно открываются, а вот с мобильными устройствами проблема - "Страница не найдена". на штатных браузерах. На андроиде через хром заходит, а на ios все глухо во всех браузерах. В чем может быть дело?