LINUX.ORG.RU
решено ФорумAdmin

Доступ по http к контейнеру

 


0

1

Есть статический IP. В роутере LAN IP-адрес:192.168.0.1 Маска подсети:255.255.255.0

На компе Win10, адрес 192.168.0.2.

Установлен VB, он эмулирует сетевой адаптер с IP 192.168.56.1/24.

Создан виртуальный хост Ubuntu server, его настройки (ip a): inet 192.168.0.120/24 brd 192.168.0.255 scope global enp0s3 . Шлюз -192.168.0.1 (адрес роутера). Мост: inet 192.168.56.1/24 brd 192.168.56.255 scope global lxcbr0

В Убунту установлен контейнер, его сеть (ip a): inet 192.168.56.122/24 brd 192.168.56.255 scope global eth1. В настройке netplan указан ДНС 192.168.0.1 (адрес роутера). Шлюз - 192.168.56.1. С этого контейнера пингуются роутер и виртуальный хост. С роутера пингуются этот контейнер и виртуальный хост. С виртуального хоста пингуются роутер и контейнер.

В роутере настроена переадресация на Убунту сервер.

Получилась такая схема: роутер – Виндоус10 – VB с установленным Убунту сервером, у которого адаптер-сетевой мост – контейнер lxc с apache.

Если в браузере Виндоус, Убунту сервер ввести ip контейнера, то будет показана страница сайта, расположенного в контейнере.

Если в браузере Виндоус ввести статический адрес, то будет показана стартовая страница apache, установленного на Убунту сервере.

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

Мне надо для этого сделать в Убунту сервере проброс портов на контейнер?

Может, я, вообще, изначально неправильно настроил сеть?



Последнее исправление: paa66 (всего исправлений: 1)

Как то все сложно и непонятно, а в чем проблема?

Если в браузере Виндоус, Убунту сервер ввести ip контейнера, то будет показана страница сайта, расположенного в контейнере.

Если в браузере Виндоус ввести статический адрес, то будет показана стартовая страница apache, установленного на Убунту сервере.

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

последнее предложение намекает на какой то хентай. Что не так-то?

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

AVL2 ★★★★★
()
Ответ на: комментарий от AVL2

последнее предложение намекает на какой то хентай. Что не так-то?

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

В чем смысл этой матрешки?

:)) Видно, что вы с юмором. На вашем месте у меня, наверно, мой пост вызвал бы такие же вопросы.

На самом деле это не какая-то прикладная задача, я просто набиваю руку, экспериментирую, можно сказать.

paa66
() автор топика
Ответ на: комментарий от Anoxemian

Ты запилил контейнер внутри виртуалки, настроил 3 разных сетки и не можешь понять как это все работает?

Я не опытен в этих делах, поэтому сделал так, как позволяет делать мой опыт. Судя по твоей фразе я сделал в корне неверно. Я с удовольствием сделаю так, как делают опытные в этом деле люди. Подскажите, как надо?

paa66
() автор топика
Ответ на: комментарий от annulen

На виртуалке я могу удалять, устанавливать по-новому операционки, причём, разные на одну виртуалку. И, пока идёт процесс, в Винде могу своими другими делами заниматься. Т.е., пользуюсь всеми преимуществами виртуалки.

paa66
() автор топика
Последнее исправление: paa66 (всего исправлений: 1)
Ответ на: комментарий от paa66

Сделал проброс с ip виртуального сервера на ip контейнера, а обратно с ip моста на ip виртуального сервера и всё заработало. Вот адрес, можете проверить моё вояние: 217.114.238.97

paa66
() автор топика
Последнее исправление: paa66 (всего исправлений: 1)
Ответ на: комментарий от paa66

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

Ну то есть, другими словами, тебе надо, чтобы на запросы по одному адресу и порту, отвечал процесс, который работает совсем на другом адресе?

Решений тут всего два - прокси и dnat. В случае с прокси на том адресе, который должен официально отвечать, нужно запустить программу-прокси, которая, получив запрос от клиента, переправит его на нужный адрес, получит ответ и вернет его клиенту. Примерами таких программ можно назвать nginx, 3proxy, haproxy и пр. У прокси есть преимущество, они разбираются в протоколе, по которому принимают запросы, в существе запроса клиента и могут умно отработать его, например, переслав на разные адреса в зависимости от того, что там запрашивается или отдав статические фалы самостоятельно. У прокси есть недостаток, он должен разбираться в протоколе, по которому принимает запросы, поэтому не существует прокси-царя, который работает со всем. Каждый прокси, это прокси конкретного протокола, http для примера и он тогда не будет работать, например, с вебсокетами.

dnat, это способ объяснить «ядру» операционки, что запросы, пакеты, на такой-то адрес надо переправлять на такой-то адрес. Таким образом, пакет, пришедший на сервер тут же отправится на актуальный адрес, там его сервер примет, ответит и ответ должен будет овернуться обратно на первый сервер и оттуда уже клиенту. И это работает для всего протокола tcp или udp, то есть, довольно универсально, хотя и тоже не глобально для всего. Недостатки тоже есть. Потребуется настройка маршрутизации (не всегда), или настройка dnat+snat. В одном случае это гемор, в другом сервер не увидит адрес оригинального клиента, что может быть неудобно.

я просто набиваю руку, экспериментирую, можно сказать.

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

AVL2 ★★★★★
()
Ответ на: комментарий от AVL2

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

2ТС сказано все очень верно, прислушайтесь.

Запускай линукс как гипервизор, а виндоуз в виртуалках, если надо. Так все будет хорошо.

А как же игори? :)

anc ★★★★★
()
Ответ на: комментарий от anc

А как же игори? :)

Для меня давно уже линукс стал одной большой игрой, что то вроде РПГ/FPS. Постоянно какие то новые миссии, разговоры, ковыряние в инвентаре, сдержанная гордость и горшочки золота в случае успеха и голодная апатия при обратном исходе.

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

AVL2 ★★★★★
()
Ответ на: комментарий от AVL2

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

Эммм, а причем тут онтопик?

anc ★★★★★
()
Ответ на: комментарий от anc

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

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

AVL2 ★★★★★
()
Ответ на: комментарий от AVL2

Хоть я шин и «не очень», но «раз или два в неделю» это перебор. Скорее, что-то сделали не так. А может и с железом траблы, шин много требует, вот и вылетала... а самбе столько не нужно было.

anc ★★★★★
()
Ответ на: комментарий от anc

Это факт. Просто вин был еще 95. И да, линукс на том же железе работал хорошо.

Но сейчас отчасти не лучше. У меня стоит комп для одной операции. Он запускается раз в месяц. Но каждый раз я молюсь, чтобы он просто запустился. Уже несколько раз было так, что комп обновлялся и не запускался, вплоть до полной смерти. А не обновлять теперь не разрешают. Задрали насмерть.

AVL2 ★★★★★
()
Последнее исправление: AVL2 (всего исправлений: 1)

Если в браузере Виндоус ввести статический адрес, то будет показана стартовая страница apache, установленного на Убунту сервере.

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

goingUp ★★★★★
()
Ответ на: комментарий от AVL2

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

Брр. Комп или ОС? Если комп, то что именно обновляли? Если ОС, тот же вопрос.

anc ★★★★★
()
Ответ на: комментарий от anc

ОС на компе. Данные вынимаешь через линукс, систему на переустановку. Гемор на ровном месте.

Ничего не обновлял, оно же само периодически обновляется. Раздражает неимоверно.

AVL2 ★★★★★
()