Продолжение топика http://kubuntu.ru/node/12227
Задача сделать на виртуалках динамическое получение IP от dhcp-сервера хост-машины.
У каждой виртуалки один(один) eth, а не два.
Ручное прописывание всех конфигов, по сему виртуал-боксовские настройки нафиг.
Тогда в interfaces указывать allow-hotplug eth0 или auto?
В ifconfig хост-машины, виртульные интерфейсы типа "виртуальный адаптер" появляются при включении VirtualBox (не виртуалок самих). Тогда получается что auto нужно?
А какой вообще тип сетевого интерфейса нужно виртуалке делать, чтоб имитировать физический разъём, настройки которого прописываются полностью в конфигах виртуалки??
Вы бы хоть схему своей сети описали (нарисовали) ... Если речь все еще идет про машину, которая смотрит в интернет напрямую без роутера - то
наврядли получится. Потому как для такой схемы чтоб виртуалки имели доступ к инету можно использовать только нат в настройках сети. А там уже и так раздаются адреса внутренней сети виртуалбокса...
Если все еще идет речь про vsftpd - может имеет смысл внятно объяснить что Вы хотите получить в итоге?
ЗЫ Все весьма сумбурно как-то ...
Да, это продолжение того топика. Про тот же ftpd речь.
Там я сделал через 2 интерфейса. Один через NAT для выхода наружу гэста, второй eth для ssh/ftp с хост-машиной. Всё работает.
Но хочу с одним интерфейсом на гэсте.
Сейчас squid установил, со всеми примочками, но как сетку настроить через прокси, хез. С iptables немного разобрался. В частности закрыл доступ снаружи ко всем портам. Хочу понять как работает вообще внутренняя сеть.
А? схему сети?
Та я электронщик, и без схем нифига не воспринимаю. И если б мне сейчас нарисовали схему, - выход чего подключен к каким входам, и всё в этом роде, я бы сюда сейчас не пришел.
Сейчас у меня есть eth0 на хост-машине. Настройка через dhcp auto.
Есть на виртуалке eth0, который не знаю через что приладить :D к eth0 или squid или к bind9 или к dhcp, или NAT, хез вобщем что нужно ;)
Ну вот кто мне нарисует схему/временнУю диаграмму?
Тот же виртуальный подойдет. Только не советую "вешать" DHCP сервер на интерфейс провайдера - можете создать проблемы во всей подсети.
А, на eth0 хост-машины dhcp наверное был. Так думаю.
Вобщем в /etc/network/interfaces был только петлевой интерфейс.
То я подумал что он по дефолту и есть dhcp, и прописал - без изменений.
Виртуальный адаптер имеет возможность в GUI включения dhcp. Его нужно/нет в GUI включать?
Вообще запутался...
Eth0 хоста является клиентом dhcp провайдера (как понимаю). Кричит ему "дай порт" через broadcast. Тот ему даёт адрес и маску(?). Это понятно.
Маска у меня 18, а не 24.
Mask:255.255.192.0
Ну вот, хост-машина имеет каким-то образом инет через него.
Есть ещё один виртуальный разъем, подключенный статически. На этом точка. Чтоб он работал ему нужен адрес шлюза. А его нет. Т.е. eth0 виртуалку не подключить роутером на фиксированный gateway.
Какое-то пром-звено нужно. Установил squid и bind, хез чё с ними делать теперь.
dhcp3-server установил, вроде нужен. хез, вобщем тупик :(
Разъяснений толковых не вижу в нете, только инструкции - пропиши это туда на кой они мне нужны. Разобраться хочу :(
Зачем? Хотите разобраться - консоль.
Ну и отлично. Теперь представьте, что ваш виртуальный интерфейс на хосте должен откликаться на подобные просьбы от гостевых машин. И выдавать им минимум/максимум данных для настройки интерфейса.
Это не особо важно. И означает лишь то, сколько компьютеров находится с вами в одной подсети и долбят друг друга бродкастами)
Не каким-то, а самым прямым получением IP на интерфейс. Редкие провайдеры так делают, чаще выдают айпишник через PPTP или PPPoE, а то и вовсе прямого не дают (дают внутренний с НАТом).
Читайте про DHCP. Поднимайте его на виртуальном интерфейсе хоста, затем на гесте делайте, например, dhclient eth0 и получайте свои айпишники/маски/шлюзы/днсы.
Bind - это DNS-сервер. Squid - навороченный прокси, умеет кешировать и работать как "прозрачный прокси" (когда пакеты "заворачиваются iptables'ом на шлюзе на нужный порт и клиент даже не знает о том, что работает через прокси, необходимость настройки браузеров и софта также отпадает). Обе эти софтины не будут работать, пока на интерфейс не будет назначен адрес (DHCP или вручную).
Помогут правильные вопросы гуглу: "принцип работы DHCP", "настройка DHCP [название_сервера]" и т.д.
Касалось. Не надо на eth0 хоста ничего вешать, это же провайдерская сеть и вы, наверное, не хотите раздавать адреса своим соседям =)
Смысл данного развлечения: повесить DHCP на vboxnet и раздавать адреса гестам.
На счёт соседей - подсеть была бы другая. И broadcastы тоже, маска потому что разная. Ну да ладно. Нельзя на вирт.интерфейс, понятно.
Вот только игнорирует виртуалка это:
auto eth0
iface eth0 inet dhcp
А статический устанавливает.
Не ясно где "вход" этого DHCP. Выхода - понятно, указан диапазон, и dhcp слушает интерфейс на предмет broadcast. А вход откуда, - хез. Вот здесь как он цепляется к eth0? Откуда DNS адреса серверов оторвал.
По отдельности вроде понятно, в кучу как собрать, хез. Кто бы схему нарисовал ;) К ней вместо двухлучевого С1-117 есть Wireshark ;) Схемы нет :(
Я же советовал почитать про DHCP =) Ну хотя бы на википедии...
Если сосед включит комп, а у него срок аренды адреса истек - DHCPDISCOVER может найти ваш сервер и ваш сервер выдаст ему адрес, с которым, естественно, у него ничего работать не будет.
По остальному, повторюсь, читайте принцип работы протокола.
У меня это проходит. Только и делаю что читаю ;)
Адрес dhcp клиент(локалка) похоже что получает, во всяком случае в заданном диапазоне адресов.
И Bind9 как-бы настроен. Выдаёт прямую и обратную зоны, по записям "A" и "PTR" соответственно. И висит это дело как сопля на прИвязи ;)
С iptables сейчас разбираюсь. NAT хочу локалке сделать. Вроде 5 правил, и вроде правильно, а не работает. Ща думаю что в dns-nameserver в самой локалки нужно прописать.... хз что прописать.
Адрес dns-сервера хост-машины наверное, хотя бы потому что на интерфейсе vboxnet4 этой локалки при команде ping ya.ru ничего нет(в Wireshark).
Вот этот zeroconf 224.0.0.251 почему не проходит?
По моему это невозможно.
Причина в том, что в самой VirtualBox на интерфейсе свой DHCP-сервер.
И если я ставлю на хост-машину icp-dhcp или dnsmasq, то это уже два подряд dhcp: dnsmasq и dhcp VirtualBox.
Тут задача не галочки ставить в виртуальной машине, а скриптами всё сделать.
Тут между интерфейсами eth0 геста и vboxnetX что-то, хз что. И тот-же vboxnet при старте dnsmasq не виден. Соответственно ndsmasq ругню сыпет, типа интерфейс неизвестный ему подоткнули.
Далее. Диапазон генерируемых dnsmasq адресов?
Кому, неизвестному интерфейсу? Не стартует он по этой причине. А сам диапазон, когда включен на вирт.машине с GUI свой dhcp?
В двух словах, загвоздка в том, что один dhcp на хост-машине, другой на виртуалке в виде чёрного ящика.
Если предположить, что этот чёрный ящик подразумевает наружный dhcp-сервер с указанными настройками, и сам при этом не есть dhcp, то хрень получается хотя бы потому, что клиенту dhcp вообще никакие настройки не требуются. У меня новый провайдер пришел, подоткнул кабель, и тырнэт без настроек встал изкоробочную Kubuntu(так же на изкоробочную Lubuntu).
Ну так что, не возможно это сделать на сетевом уровне без настройки чёрного ящика?
Теперь сносить всё к едреням...
Дон-Кихот Ламанчский - наши дни ... :)
Осмелюсь повторить свое предложение. Про роутер.
Разъясню. Если Вы подключите к провайдеру роутер, а в роутер комп, на котором подняты виртуальные машины, на них (виртуальных) можно будет выставить соединение типа мост. Тогда от роутера dhcp будет раздавать всем машинам (и хосту и виртуальным) адреса вашей локалки
и все машины (и хост и виртуалки) будут равноценными в этой локальной сети, и ничего не надо будет шаманить.
lord_i, прекращайте, на счёт этого:
Я предыдущее воспринял как издёв с приколом ;)
У меня же задача не создать виртуальную сеть, а понять как всё это работает, взаимодействует. Мост - тот же чёрный ящик что в предыдущем посте написал.
Если подцеплю через физический роутер, то железяка будет всё делать.
Сейчас я могу сделать элементарно, без Dlink504t:
Создать два интерфейса на каждую виртуалку: NAT и хост-адаптер. Выставить виртуалкам одну подсеть, и будет меж ними связь, как и с хост-машиной. А тырнэт будет им идти через NAT-интрерфейс. Делов то.
А то ж в своё время получилось так, что выдернули с C# & Ассеблером(плюс электронщик) за спиной, и посадили за WEB. И все настройки перепрыгнул. Жрать хотелось, а изучение денег не приносит. Всё на потом откладывал. Вот сейчас время пришло...
Ох... Два разА перечитал - чуть не сломал себе мозг. Нихрена не понял)
Что невозможно-то?)
Любая сетевая программа-сервер вешается на интерфейс.
Путаетесь с vbox? Возьмите дополнительную сетевуху, второй любой, пусть даже старый медленный комп, и, используя ваш d-link как свич, сделайте реальную сеть - все станет куда понятнее =)
Касаемо vbox... Не буду в третий раз советовать читать принцип работы DHCP, но обычно, сервер слушает 67 UPD на тырфейсе, куда повесили. Вы netstat'ом vbox'овский видели?)
На вопрос "а почему так?" довольно простой ответ: vbox ставит модуль ядра? ставит. какой функционал может быть реализован модулем ядра? да любой. вплоть до перехвата пакетов тырфейса с последующим из заворачиванием куда угодно. Сомневаюсь, что разработчики vbox стали бы слушать внешний тырфейс без спросу и раздавать адреса всем желающим =)
Какой черный ящик? У прова где-то стоит DHCP сервер, который выдает кубунтеискаропки адрес по первому требованию. Тоже самое вы можете сделать со своим компом для физически подключенного к нему через вторую сетевуху-свич физическим компом или виртуалкой (когда отделите мух от котлет).
Про адреса 224.х.х.х можно почитать на тему multicast/igmp, имеет мало отношения к dhcp.
Всё уже сделал и забыл. Связка BIND9, isc-dhcp-server, на iptables NAT, и форвардинг включен.
Была возня с vboxnet0 - во время загрузки rc2.d не стартовал Bind9, там ладно - перенёс далее по S№№.
А вот isc-dhcp-server жопа не хотел видеть vboxnet0. Короче, разрулил, всё.
Тут самое главное что /etc/hosts наконец-то пустой.
Там штук 30 Web-проектов было. Всё это перенёс в прямую зону bind.
Но получается сейчас привязка вирт.хостов по ip.
Не нравится.
Мельком наткнулся на статью где типа dhcp-сервак раздаёт ip-шники виртуальным хостам Апача.
Чё хотел спросить по этому поводу.
В dchp для виртуалок адреса раздавались произвольные. И далее привязка имени машины производилась у меня не к ip, а к MAC-адресу виртуалки.
А как быть с хостами Апача?
Чтоб было типа - создал вирт.хост, прописал зону в Bind... тут не понятно. Как тогда привязывать локальный домен к bind... если айпишник у них динамический?
Да тут все просто - слушать надо все интерфейсы, т.е. 0.0.0.0 или * (не помню уже, как там в апаче), а хостнеймами уже по запросу определять, что за виртуалхост запрашивается.
Подумайте о приобретении роутера. Тогда и
будет и
и еще как приятный бонус - wifi сеть для мобильных устройств, которые, в свою очередь, будут успешно пользоваться vsftpd и прочими плюшками роутера :)
Кроме того, роутер можно перешить прошивкой на линуксе, Open WRT например, и тогда как минимум пол года увлекательных и полезных для самообразования приключений Вам гарантировано.
В кладовке лежит DLINK 504t, рядом с Курьером-VOISE.
Мож сразу диалап поставить.
А потом и резак DVD проапгрейдить до грамофона ;)
Использование роутера (маршрутизатора) отнюдь не пережиток прошлого, а средство для раздачи доступа в сеть (по кабелю и вайфаю) нескольким компьютерам, ноутбуку, планшетам и телефонам в квартире, дав им возможность еще и общаться между собой. Речь не о вашем адсл роутере или роботиксе, а о современной коробочке =)
Отправить комментарий