Автор Тема: Всяка виртуалка с различен реален хост  (Прочетена 1941 пъти)

bILLY

  • Напреднали
  • *****
  • Публикации: 159
  • Distribution: Red Hat 7
  • Window Manager: Windows 10
    • Профил
    • WWW
Здравейте хора, отдавна не бях драскал.

Та имам един реален сървър със 3-4 виртуалки, разбрах че можело да се направи така, че всяка от тях  да има реален хост, но не знам какво и къде точно трябва да търся и да чета.

Идеята е такава: реалния е с реално IP а виртуалките са със вътрешни IP та.
Това което искам е всяка от тях да има реален хост, но не знам как да направя така, че реалния да ги препраща към виртуалните. Примерно:

host1.com -> real server -> virtual - 192.168.1.11
host2.com -> real server -> virtual - 192.168.1.12
host3.com -> real server -> virtual - 192.168.1.13

само чух, че можело и имало начин, а така като мисля ми се струва, че в  host файла на реалния просто трябва да се опишат примерно както са:

127.0.0.1   localhost localhost.localdomain
192.168.1.11   host1 host1.com
....

Но ме съмнява да е толкова просто и лесно. Идеята като цяло е много практична понеже ще мога да ползвам абсолютно целия диапазон от портове на определен хост за определена виртуалка от 1 реално IP.

Някой има ли идея какво по-точно трябва да прочета?
Не ви питам как става, питам ви за гайдове ....  няма да ви тормозя много :)
Активен

"UNIX is like sex: If you don't know it, you don't miss it. But if you know it, you'll need it!"
Lars Eilebrecht

wfw

  • Напреднали
  • *****
  • Публикации: 249
  • Distribution: Debian
  • Window Manager: none
    • Профил
Нещо не разбрах, host1.com, host2.com, host3.com към едно и също реално IP ли отиват?
Активен

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Когато говориш за виртуалки винаги споменавай и какъв софтуер за виртуализация имаш предвид! Но общо казано терминът, за който трябва да прочетеш, е "bridged networking". Нататък зависи от софтуера за виртуализация как точно да го направиш, а щом реалната машина ще е в различна мрежа от виртуалките, то ще ти трябва и допълнителен реален или виртуален мрежови интерфейс на реалната машина, който да е в мрежата на виртуалките и да послужи за моста, и съответните iptables правила, с които да осигуриш на виртуалките връзка към Интернет и да пренасочиш нужните портове. В някакъв момент, ако имаш такава нужда, може да намесиш и термините "host-only networking" и "internal networking", стига да се поддържат от софтуера ти за виртуализация.

П.П.: Описанието на хостовете в /etc/hosts е с единствена цел да можеш да правиш обръщения към виртуалните машини чрез зададените домейни, вместо само по IP (нещото, за което по принцип служат DNS сървърите), но не искаш или не можеш да зададеш нужните домейни и IP-та в DNS сървър. И да - толкова е просто и лесно, стига да не очакваш, че ще изпълнява и други цели.
« Последна редакция: Apr 02, 2015, 00:44 от neter »
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

bILLY

  • Напреднали
  • *****
  • Публикации: 159
  • Distribution: Red Hat 7
  • Window Manager: Windows 10
    • Профил
    • WWW
@wfw да към едно външно IP отиват а от там реалната машита ги разпределя по вътрешни IP адреси.

@neter впрочем реалната машина е зад рутер, тоест и тя е с вътрешно IP. Ползвам KVM (Kernel-based Virtual Machine) и мисля че има бридж, понеже да кажем рутера е с вътрешно IP 192.168.1.1 a реалния е с 192.168.1.2, и е направено така, че ввяка виртуалка да ползва ип-тата на същата вътрешна мрежа 192.168.1.xxx
Активен

"UNIX is like sex: If you don't know it, you don't miss it. But if you know it, you'll need it!"
Lars Eilebrecht

BRADATA

  • Напреднали
  • *****
  • Публикации: 833
  • Distribution: Slackware/Mint/CentOS
  • Window Manager: console/KDE/LXDE
    • Профил
    • WWW
@wfw да към едно външно IP отиват а от там реалната машита ги разпределя по вътрешни IP адреси.

@neter впрочем реалната машина е зад рутер, тоест и тя е с вътрешно IP. Ползвам KVM (Kernel-based Virtual Machine) и мисля че има бридж, понеже да кажем рутера е с вътрешно IP 192.168.1.1 a реалния е с 192.168.1.2, и е направено така, че ввяка виртуалка да ползва ип-тата на същата вътрешна мрежа 192.168.1.xxx
Ако правилно съм разбрал имаш три виртуални машини, на които има уеб сървър и ти искаш да ги достъпваш от интернет по урл? Ако съм прав - решението е https://confluence.atlassian.com/display/DOC/Using+Apache+with+virtual+hosts+and+mod_proxy . За да съм по-ясен - на виртуализатора или на някоя друга машина вдигаш апач с настройките от линка. За този апач на рутера трябва да направиш пренасочване на порт 80. В ДНС сървъра(ите) си правиш съответните записи да сочат към реалното ИП и воала. Всичко работи.

А ако не съм те разбрал правилно - уточни си въпроса.

офтопик: С някой се вкарахме в някакъв спор на тема виртуални машини и знания на задклавиатурното устройство. В онази тема беше въпрос за БИОС и виртуализация. Сега става въпрос за мрежова подсистема и виртуализация. И както виждаме отново познанията не достигат дори за формулиране на ясен въпрос.... Та не съм съгласен с това, че виртуалните машини са решение без необходимия товар в главата...
Активен

wfw

  • Напреднали
  • *****
  • Публикации: 249
  • Distribution: Debian
  • Window Manager: none
    • Профил
В общия случай няма как да разпределяш случаен трафик между виртуалните машини. Трябва да има механизъм за разпределянето, най-често някакво прокси на L7, както е казал колегата.

Ако трафика ти е HTTP, можеш да го направиш с mod_proxy, squid, предполагам дори с haproxy ще успееш.

Ако трафика ти е случаен, (така разбирам информацията която си дал) не виждам как ще направиш рутирането.
Активен

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
bILLY, уточни с по-подробни и пълни примери какво искаш да постигнеш!
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти