Как мне получить доступ к моему серверу Ubuntu, установленному на виртуальной коробке, из любой точки мира

Я пытаюсь сделать IOT, используя nodemcu и светодиод. Я хочу получить доступ к серверу Ubuntu (который установлен в виртуальной коробке) через другую сеть (за пределами моей локальной сети). Как мне это сделать? Я прочитал много статей в Интернете, но я не могу понять это. Я пробовал переадресацию портов, но это не сработало.

Переадресация портов

Я не уверен, что я делаю неправильно. Проблема в переадресации портов, или я использую неправильный метод.

Я установил Ubuntu Server 16.04 LTS на свой ноутбук через VirtualBox. Я установил ЛАМПУ. Кроме того, сеть настроена на мостовой адаптер, плюс у меня динамический IP

Когда я вошел в систему, я запустил ifconfig. Он дал мне инет-адрес как 192.168.16.101.


person Sami    schedule 07.01.2019    source источник
comment
Вообще говоря, вы хотите сделать это через промежуточный сервер в облаке, а не разрешать входящий внешний трафик в вашу локальную сеть. Вы можете использовать что-то вроде ngrok или развернуть свое собственное решение с облачной виртуальной машиной, чтобы выполнить ретрансляцию в туннель, или начать размещать виртуальную машину, к которой вы в конечном итоге хотите получить доступ, в облаке. Для чего-то столь же простого, как управление светодиодом, вы можете просто передавать сообщения через брокера MQTT или одну из его альтернатив.   -  person Chris Stratton    schedule 07.01.2019


Ответы (1)


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

Однако проще всего настроить сетевой интерфейс ВМ на Bridged.

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

person Classified    schedule 07.01.2019
comment
Независимо от настроек виртуальной машины вполне вероятно (и определенно надеюсь), что внешний трафик не принимается для маршрутизации в локальную сеть, в которой находится физическая машина, содержащая его. - person Chris Stratton; 07.01.2019
comment
У меня есть много виртуальных машин, которые именно таким образом подключены к глобальной сети. Что значит трафик не принимается? - person Classified; 07.01.2019
comment
Спрашивающий, кажется, спрашивает с точки зрения потребителя-любителя - помимо настроек виртуальной машины, есть много вещей, которые должны работать прямо перед тем, как они смогут получать внешние запросы в локальную сеть, зависающую от чего-то вроде потребительского интернет-сервиса (даже не ясно, они разобрались с внешним IP) и много причин, по которым не стоит пытаться его включить. Задача управления светодиодом (или реальным светом) снаружи дома на самом деле не требует этого — пересылка сообщений с облачного сервера, такого как брокер MQTT, будет гораздо более разумным решением для такой ограниченной потребности. - person Chris Stratton; 07.01.2019
comment
Я установил свой виртуальный ящик на Bridged NAT, я указал это в вопросе. Проблема в том, что я не могу получить к нему доступ снаружи из своей локальной сети, хотя я переадресовал порт своего маршрутизатора. Важно ли получить домен или статический IP-адрес, чтобы это работало? (И извините за поздний ответ). - person Sami; 09.01.2019
comment
Опять же, вы очень, очень не хотите разрешать входящий трафик. Если бы вы это сделали, это был бы сетевой вопрос не по теме здесь. Что вам следует сделать, так это использовать облачную схему обмена сообщениями (MQTT и т. д.), где все, кроме облачного сервера, устанавливает только исходящие соединения; но это тоже не по теме. На данный момент важно то, что проблема ничего не связана с программным обеспечением вашей виртуальной машины, а связана с плохой архитектурной идеей, которую вы, к счастью, еще не полностью реализовали. - person Chris Stratton; 12.01.2019
comment
@ChrisStratton да, я согласен. Я хотел ответить на «микро» проблему, поставленную в вопросе, и не смотреть на более крупную проблему, которую пытается решить ОП. Оформить заказ на cloudmqtt.com и instructables.com/id/NodeMCU-MQTT-Basic-Example для получения информации и руководств по nodeMCU и MQTT. - person Classified; 13.01.2019