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

Доступ к домашнему серверу из глобальной сети

specical bat

Well-known member
17.10.2018
46
-1
BIT
0
У меня динамический ip. Статический белый ip провайдер не дает. Настроен ubuntu-server на виртуальной машине на пк. В этом ubuntu-server установлен статический ip по локальной сети. Доступ по ssh настроен. Пока что сделан сайт по адресу , по этому адресу сайт доступен только на пк, на котором ubuntu-server, потому что в файле hosts добавлены следующие строки: hosts.JPG
По локальной сети с другого устройства этот адрес не работает, то есть не переходит на сайт. Почему так, и что нужно сделать, чтоб хотя бы по локальной сети переходило? И для того, чтоб сайт был доступен из глобальной сети, нужен же внешний статический ip. Есть ли какие-то варианты его приобретения? Или это должен быть именно провайдер местный?
 
Последнее редактирование:

pp11

Green Team
16.09.2018
201
82
BIT
1
По локальной сети с другого устройства этот адрес не работает, то есть не переходит на сайт. Почему так
Вы же сами ответили на свой вопрос:

потому что в файле hosts добавлены следующие строки
Файл hosts он только на вашем ПК.

чтоб хотя бы по локальной сети переходило?
Скорее всего в настройках роутера поставить редирект с на ваш IP.


Есть ли какие-то варианты его приобретения?
У провайдера. Либо ngrok вам в помощь.
 

sl1

Green Team
14.08.2020
54
19
BIT
8
Надо проверять насколько он серый. За НАТом провайдера или просто динамический. Если просто динамика, то сервисы DynDNS, No-IP и т.д. а вот если вы получаете внутренний адрес от провайдера, то сторонние сервисы через которые будет идти весь трафик, например ( anydesk, ammyadmin, teamviewer).
 

specical bat

Well-known member
17.10.2018
46
-1
BIT
0
в настройках роутера поставить редирект с на ваш IP
Как это реализовать?
У провайдера. Либо ngrok вам в помощь
Провайдер не предоставляет такую услугу. Нужно чтоб обычный белый ip был, свой. Без сервисов типа тор и ngrok. Только у провайдера нужно брать ip? других вариантов не может быть?
 

f22

Codeby Academy
Gold Team
05.05.2019
1 909
226
BIT
1 542
По локальной сети с другого устройства этот адрес не работает, то есть не переходит на сайт. Почему так, и что нужно сделать, чтоб хотя бы по локальной сети переходило?
Во-первых, нужно правильно настроить сетевой адаптер виртуальной машины.
Обычно режим моста позволяет виртуальной машине получать IP адреса из пула адресов роутера, тем самым становясь полноценным сегментом локальной сети.

Во-вторых, проверить доступность виртуальной машины хотя бы обычным ping'ом.
Далее смотреть настройки апача или вашего сервера, на каком порту он поднялся и какой интерфейс использует.

И для того, чтоб сайт был доступен из глобальной сети, нужен же внешний статический ip.
Есть ли какие-то варианты его приобретения?
Или это должен быть именно провайдер местный?
Самый простой способ - арендовать VPS/VDS. Самого простого тарифа за доллар/два в месяц вам будет более чем достаточно.
Там будет такая же ОС + белый IP + круглосуточный доступ + (возможно) хорошая тех поддержка.
Поиск в гугле по запросу
 

specical bat

Well-known member
17.10.2018
46
-1
BIT
0
Во-первых, нужно правильно настроить сетевой адаптер виртуальной машины.
Обычно режим моста позволяет виртуальной машине получать IP адреса из пула адресов роутера, тем самым становясь полноценным сегментом локальной сети.

Во-вторых, проверить доступность виртуальной машины хотя бы обычным ping'ом.
Да, все так и есть. Пингуется.

Далее смотреть настройки апача или вашего сервера, на каком порту он поднялся и какой интерфейс использует.
Как и где можно посмотреть? Подскажите, пожалуйста. И что там должно быть? Стоит апач. Доступ по ssh в локальной сети по стандартному порту.

Самый простой способ - арендовать VPS/VDS
Да, я знаю. Но хотелось именно получить опыт создания домашнего сервера) Получается, что только два есть варианта. Либо провайдер даёт статический ip, либо использовать vds/vps.
Поиск в гугле по запросу
Спасибо за подсказку, что нужно это сравнить. Действительно, лучше vds/vps использовать.

Я вот приобрела личный proxy, и vpn, и думала, что это поможет, как-то с проблемой получения статического ip. Прокси подключила, к ubuntu-server, вывод внешнего ip показал, что прокси применялось. Тот сервис, у которого прокси приобретался, говорит, что порты не открывает. То есть это просто прокси, а не свой личный ip, по которому можно подключится к серверу( а купленный vpn подключить не получается, так как там нужна графическая оболочка, и подходит под десктопную версию Ubuntu.
 

sl1

Green Team
14.08.2020
54
19
BIT
8
Сколько всего куплено, vps не хватает)
Узнали какой у вас внешний ip на роутере? сделайте так, зайдите на myip или любой подобный, смотрите свой ip, перезагружайте роутер, смотрите снова какой ip. Если поменялся, то скорее всего у вас динамика, которая даст возможность подключения к вашему внутреннему серверу, надо будет настроить проброс портов 80 и 8080 на вашу машину с хозяйством (на ip этой машины). Если остался прежним, то вероятнее всего у вас серый. Мобильные операторы раздают только серый например в своем большинстве.
 

f22

Codeby Academy
Gold Team
05.05.2019
1 909
226
BIT
1 542
Как и где можно посмотреть? Подскажите, пожалуйста. И что там должно быть? Стоит апач. Доступ по ssh в локальной сети по стандартному порту.
Сначала просто посмотреть статус его работы
service apache status
Если ошибок нет, значит, поднялся.
Если ошибки, пробуем или поднять
service apache start
Или перезапустить
service apache restart

Потом узнаём IP компьютера.
ifconfig
Смотрим, какой интерфейс выглядывает в сеть.
Обычно это eth0. Смотрим, какой IP адрес у него.
Именно его и вводим на другом компьютере в адресной строке браузера.

По умолчанию apache создаёт тестовую домашнюю страницу, перейдя на которую можно прочитать сообщение, что всё настроено верно.
apache-it-works[1].png

Узнать, какие порты слушает apache можно командой
netstat -nap | grep apache
Ну или уже в конфигах самого apacha. Обычно они лежат в файле /etc/apache2/ports.conf

Но хотелось именно получить опыт создания домашнего сервера) Получается, что только два есть варианта. Либо провайдер даёт статический ip, либо использовать vds/vps.
Да, из самых простых только эти.
Есть ещё вариант поискать другого прова, который даёт эти внешние IP
Либо арендовать уже не сервер, а просто хостинг - то есть у вас будет не полноценный сервер,
а только папка, из которой будет загружаться сайт системой хостера.
От вас будет требоваться только html/css/js - всё зависит от возможностей и условий хостера.

Я вот приобрела личный proxy, и vpn, и думала, что это поможет, как-то с проблемой получения статического ip.
Купленные вами средства помогают именно вам выйти в интернет, а вам нужны средства для того, чтобы вас из интернета увидели. Это - суть разные вещи)
 

specical bat

Well-known member
17.10.2018
46
-1
BIT
0
Сначала просто посмотреть статус его работы
1) Проверила, все работает.
2) ip статический в локальной сети: Снимок.JPG
3) В папке /var/www есть две папки var.JPG в папке html лежит файл index.html, который показывает, что apache2 работает, это можно увидеть по адресу , кстати переходит успешно по этому адресу и с другого устройства в локальной сети. А вот по адресу с другого устройства не переходит. Почему так? это уже другой получается сайт? Права apache2 755 были даны всей папке /var/www Как сделать так, чтоб другое устройство перешло на ?
Так же попробовала верстку закинуть в папку /var/www/html , тогда по ip с другого устройства видно сайт. Как сделать, чтоб это было не ip, а именно доменное имя?

В папке /var/www/site1 установлен wordpress
4)
Узнать, какие порты слушает apache можно командой
netstat -nap | grep apache
Ну или уже в конфигах самого apacha. Обычно они лежат в файле /etc/apache2/ports.conf
Вот результат: проверка портов.JPG порты apache2.JPG
 
Последнее редактирование:

mr.none

Green Team
08.09.2018
28
3
BIT
0
У меня теперь вопрос с сетевикам- если указать Пк с файлом хостов как сервер днс, при запросе из локальной сети по логике вещей должен быть доступ, естественно что речь идёт о настройках роутера
 

f22

Codeby Academy
Gold Team
05.05.2019
1 909
226
BIT
1 542
можно увидеть по адресу , кстати переходит успешно по этому адресу и с другого устройства в локальной сети.
Всё очень просто: когда вы вводите ip адрес в адресной строке браузера, тот начинает поиск в локальном файле hosts. Если записи относящиеся к этому IP отсутствуют, подключение осуществляется сразу.

А вот, если переданная строка имеет вид и в локальном файла hosts нет записей, браузер смотрит настройки вашего подключения, ища там список DNS серверов. Передавая им имя сайта, те возвращают тот самый IP адрес, по которому осуществляется переход.
Вы можете либо сами указать публичные сервера, например от 8.8.8.8 и 8.8.4.4, или от 77.88.8.8 и 77.88.8.1, или получить их автоматически от провайдера.
В любом случае, список сопоставлений "имя сайта" - "IP адрес" будет браться оттуда. Для того, чтобы ваше имя попало в этот список, должны соблюдаться несколько условий: 1. Оно должно соответствовать правилам написания 2. Оно должно быть свободным, может быть какие-то ещё.
Но самое главное, его нужно купить.
Как только вы купите это имя, продавец, оформляет заявку и через какое-то время во все DNS списки вносится пара " " - "Ваш IP". И все компьютеры, подключенные к интернету, смогут видеть ваш сайт, вводя или вводя имя вашего сайта или напрямую ваш IP адрес.

Как сделать так, чтоб другое устройство перешло на ?
Для этого нужно настроить его локальный файл hosts
Вот это делается в Linux, а так в

Обратите внимание, на то, что пишет вам система
Попробуйте запускать эту программу от имени суперпользователя
sudo netstat -nap | grep apache

И ещё у вас есть ошибка в конфиге apacha на строке 80.
Он говорит, что там нужно указать реально существующую папку.
Чтобы увидеть именно эту строку, выполните
cat -n /etc/apache2/apache2.conf | grep 80
Исправьте адрес и перезапустите apache
 

specical bat

Well-known member
17.10.2018
46
-1
BIT
0
А вот, если переданная строка имеет вид и в локальном файла hosts нет записей, браузер смотрит настройки вашего подключения, ища там список DNS серверов. Передавая им имя сайта, те возвращают тот самый IP адрес, по которому осуществляется переход.
Вы можете либо сами указать публичные сервера, например от 8.8.8.8 и 8.8.4.4, или от 77.88.8.8 и 77.88.8.1, или получить их автоматически от провайдера.
На винде, где виртуальная машина с ubuntu-server файл host изменен, поэтому все работает.
Как только вы купите это имя, продавец, оформляет заявку и через какое-то время во все DNS списки вносится пара " " - "Ваш IP". И все компьютеры, подключенные к интернету, смогут видеть ваш сайт, вводя или вводя имя вашего сайта или напрямую ваш IP адрес.
Можно про это подробней какую-то ссылку на видео или статью? Существуют разные DNS сервера... и у них так же есть hosts, в который это записывается? Кто это записывает? Дается продавцом заявка туда, чтоб записали?

Для этого нужно настроить его локальный файл hosts
Вот это делается в Linux, а так в
У меня другое устройство - это не рутированный смартфон. Я не могу изменить этот файл. Значит, что в локальной сети, пока нет белого ip и купленного доменного имени, я не смогу перейти на ссылку свою? Нужно быть рутом и изменить самостоятельно файл hosts?
Обратите внимание, на то, что пишет вам система
Попробуйте запускать эту программу от имени суперпользователя
sudo netstat -nap | grep apache
Вот вывод: откр порты апаче.JPG
И ещё у вас есть ошибка в конфиге apacha на строке 80.
Он говорит, что там нужно указать реально существующую папку.
Чтобы увидеть именно эту строку, выполните
cat -n /etc/apache2/apache2.conf | grep 80
Исправьте адрес и перезапустите apache
Снимок.JPG как исправить? какой адрес указать?
 

f22

Codeby Academy
Gold Team
05.05.2019
1 909
226
BIT
1 542
Можно про это подробней какую-то ссылку на видео или статью? Существуют разные DNS сервера... и у них так же есть hosts, в который это записывается? Кто это записывает? Дается продавцом заявка туда, чтоб записали?
Любое видео в youtube по поиску "покупка домена".
DNS сервера, действительно, разные, но все они формируют одну общую базу, чтобы пользователи переходили на одни и те же сайты.

У меня другое устройство - это не рутированный смартфон. Я не могу изменить этот файл. Значит, что в локальной сети, пока нет белого ip и купленного доменного имени, я не смогу перейти на ссылку свою? Нужно быть рутом и изменить самостоятельно файл hosts?
Именно так.
Возможно только использовать прямую ссылку с ip адресом.

Тут всё отлично, apache слушает 80 порт.

У вас в конфиге используется переменная ${APACHE_RUN_DIR}, но найти её значение не удалось
Кому-то помогает создание папки
sudo mkdir /var/run/apache2

Попробуйте заново настроить apache

Возможно, придётся удалить его и установить заново.
Не забудьте сохранить настройки и важные данные.
sudo apt purge apache2 -y
Устанавливаем заново
sudo apt install apache2 -y
 

specical bat

Well-known member
17.10.2018
46
-1
BIT
0
У вас в конфиге используется переменная ${APACHE_RUN_DIR}, но найти её значение не удалось
Кому-то помогает создание папки
sudo mkdir /var/run/apache2
1.JPG есть такая папка, и вот что в ней 2.JPG

Любое видео в youtube по поиску "покупка домена".
DNS сервера, действительно, разные, но все они формируют одну общую базу, чтобы пользователи переходили на одни и те же сайты.


Именно так.
Возможно только использовать прямую ссылку с ip адресом.


Тут всё отлично, apache слушает 80 порт.


У вас в конфиге используется переменная ${APACHE_RUN_DIR}, но найти её значение не удалось
Кому-то помогает создание папки
sudo mkdir /var/run/apache2

Попробуйте заново настроить apache

Возможно, придётся удалить его и установить заново.
Не забудьте сохранить настройки и важные данные.
sudo apt purge apache2 -y
Устанавливаем заново
sudo apt install apache2 -y
В общем, Вы мне помогли-ответили на все основные вопросы, которые меня волновали! Спасибо огромное! Делала все это по видео уроку

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!