Как настроить vsftpd на virtualbox? 500 Illegal PORT command (continue)

Изображение пользователя Dexel.

Продолжение топика http://kubuntu.ru/node/12227

Задача сделать на виртуалках динамическое получение IP от dhcp-сервера хост-машины.
У каждой виртуалки один(один) eth, а не два.
Ручное прописывание всех конфигов, по сему виртуал-боксовские настройки нафиг.

Тогда в interfaces указывать allow-hotplug eth0 или auto?

В ifconfig хост-машины, виртульные интерфейсы типа "виртуальный адаптер" появляются при включении VirtualBox (не виртуалок самих). Тогда получается что auto нужно?

А какой вообще тип сетевого интерфейса нужно виртуалке делать, чтоб имитировать физический разъём, настройки которого прописываются полностью в конфигах виртуалки??

0
lord_i - 22 Апрель, 2014 - 22:08
Изображение пользователя lord_i.

Вы бы хоть схему своей сети описали (нарисовали) ... Если речь все еще идет про машину, которая смотрит в интернет напрямую без роутера - то

имитировать физический разъём

наврядли получится. Потому как для такой схемы чтоб виртуалки имели доступ к инету можно использовать только нат в настройках сети. А там уже и так раздаются адреса внутренней сети виртуалбокса...
Если все еще идет речь про vsftpd - может имеет смысл внятно объяснить что Вы хотите получить в итоге?
ЗЫ Все весьма сумбурно как-то ...

0
Dexel - 23 Апрель, 2014 - 00:57
Изображение пользователя Dexel.

Да, это продолжение того топика. Про тот же ftpd речь.
Там я сделал через 2 интерфейса. Один через NAT для выхода наружу гэста, второй eth для ssh/ftp с хост-машиной. Всё работает.
Но хочу с одним интерфейсом на гэсте.
Сейчас squid установил, со всеми примочками, но как сетку настроить через прокси, хез. С iptables немного разобрался. В частности закрыл доступ снаружи ко всем портам. Хочу понять как работает вообще внутренняя сеть.
А? схему сети?
Та я электронщик, и без схем нифига не воспринимаю. И если б мне сейчас нарисовали схему, - выход чего подключен к каким входам, и всё в этом роде, я бы сюда сейчас не пришел.

Сейчас у меня есть eth0 на хост-машине. Настройка через dhcp auto.

Есть на виртуалке eth0, который не знаю через что приладить :D к eth0 или squid или к bind9 или к dhcp, или NAT, хез вобщем что нужно ;)

Ну вот кто мне нарисует схему/временнУю диаграмму?

0
MacLeod - 23 Апрель, 2014 - 01:04
Изображение пользователя MacLeod.

MacLeod, а какой тип интерфейса создавать под сию задачу?
Тот же виртуальный подойдет. Только не советую "вешать" DHCP сервер на интерфейс провайдера - можете создать проблемы во всей подсети.

0
Dexel - 23 Апрель, 2014 - 01:45
Изображение пользователя Dexel.

А, на 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 установил, вроде нужен. хез, вобщем тупик :(
Разъяснений толковых не вижу в нете, только инструкции - пропиши это туда на кой они мне нужны. Разобраться хочу :(

0
MacLeod - 23 Апрель, 2014 - 06:16
Изображение пользователя MacLeod.

Его нужно/нет в GUI включать?
Зачем? Хотите разобраться - консоль.
Eth0 хоста является клиентом dhcp провайдера (как понимаю). Кричит ему "дай порт" через broadcast. Тот ему даёт адрес и маску(?). Это понятно.
Ну и отлично. Теперь представьте, что ваш виртуальный интерфейс на хосте должен откликаться на подобные просьбы от гостевых машин. И выдавать им минимум/максимум данных для настройки интерфейса.
Маска у меня 18, а не 24.
Это не особо важно. И означает лишь то, сколько компьютеров находится с вами в одной подсети и долбят друг друга бродкастами)
Ну вот, хост-машина имеет каким-то образом инет через него.
Не каким-то, а самым прямым получением IP на интерфейс. Редкие провайдеры так делают, чаще выдают айпишник через PPTP или PPPoE, а то и вовсе прямого не дают (дают внутренний с НАТом).
Есть ещё один виртуальный разъем, подключенный статически. На этом точка. Чтоб он работал ему нужен адрес шлюза.
Читайте про DHCP. Поднимайте его на виртуальном интерфейсе хоста, затем на гесте делайте, например, dhclient eth0 и получайте свои айпишники/маски/шлюзы/днсы.
Установил squid и bind, хез чё с ними делать теперь.
Bind - это DNS-сервер. Squid - навороченный прокси, умеет кешировать и работать как "прозрачный прокси" (когда пакеты "заворачиваются iptables'ом на шлюзе на нужный порт и клиент даже не знает о том, что работает через прокси, необходимость настройки браузеров и софта также отпадает). Обе эти софтины не будут работать, пока на интерфейс не будет назначен адрес (DHCP или вручную).
dhcp3-server установил
Разобраться хочу :(
Помогут правильные вопросы гуглу: "принцип работы DHCP", "настройка DHCP [название_сервера]" и т.д.

0
Dexel - 23 Апрель, 2014 - 23:49
Изображение пользователя Dexel.

Если сетевой интерфейс vboxnetN в хост-машине, и он отсутствует при старте хост-машины, то как же на него навесить dhcp-получение ip?

Пробовал так.
Создал виртуальный интерфейс на eth0 хост-машины.
На нём dhcp-сервер. Кстати:
не советую "вешать" DHCP сервер на интерфейс провайдера
- это ж не касалось сего случая?
Прописал /etc/dhcp/dhcpd.conf :

Указал этот вируальный eth0:0 в конфиге isc-dhcp-server:
INERFACES="eth0:0"
и получил - гайки! В ifconfig -a на трех интерфейсах айлишники: vboxnet3, eth0:0 и... eth0 (!)
Т.е. "смешались в кучу кони, люди...", конечно же наружный inet отвалился.

А указывать в том же конфиге:
INERFACES="vboxnet3"
это ж бред кобылы сивой? Интерфейс же этот появится только при первом запуске VirtualBox.

Вот это наверное одно и то же что с GUI виртуалбокса создавать(адреса левые) ?
VBoxManage hostonlyif create
VBoxManage hostonlyif ipconfig vboxnet0 --ip 192.168.56.1
VBoxManage dhcpserver add --ifname vboxnet0 --ip 192.168.56.1 --netmask 255.255.255.0 --lowerip 192.168.56.100 --upperip 192.168.56.200
VBoxManage dhcpserver modify --ifname vboxnet0 --enable

Не в ту сторону?

0
MacLeod - 24 Апрель, 2014 - 02:35
Изображение пользователя MacLeod.

Касалось. Не надо на eth0 хоста ничего вешать, это же провайдерская сеть и вы, наверное, не хотите раздавать адреса своим соседям =)
Смысл данного развлечения: повесить DHCP на vboxnet и раздавать адреса гестам.

0
Dexel - 24 Апрель, 2014 - 09:27
Изображение пользователя Dexel.

На счёт соседей - подсеть была бы другая. И broadcastы тоже, маска потому что разная. Ну да ладно. Нельзя на вирт.интерфейс, понятно.
Вот только игнорирует виртуалка это:
auto eth0
iface eth0 inet dhcp
А статический устанавливает.

Не ясно где "вход" этого DHCP. Выхода - понятно, указан диапазон, и dhcp слушает интерфейс на предмет broadcast. А вход откуда, - хез. Вот здесь как он цепляется к eth0? Откуда DNS адреса серверов оторвал.
По отдельности вроде понятно, в кучу как собрать, хез. Кто бы схему нарисовал ;) К ней вместо двухлучевого С1-117 есть Wireshark ;) Схемы нет :(

0
MacLeod - 26 Апрель, 2014 - 21:40
Изображение пользователя MacLeod.

Я же советовал почитать про DHCP =) Ну хотя бы на википедии...
Вначале клиент выполняет широковещательный запрос по всей физической сети с целью обнаружить доступные DHCP-серверы. Он отправляет сообщение типа DHCPDISCOVER, при этом в качестве IP-адреса источника указывается 0.0.0.0 (так как компьютер ещё не имеет собственного IP-адреса), а в качестве адреса назначения — широковещательный адрес 255.255.255.255.
Если сосед включит комп, а у него срок аренды адреса истек - DHCPDISCOVER может найти ваш сервер и ваш сервер выдаст ему адрес, с которым, естественно, у него ничего работать не будет.
По остальному, повторюсь, читайте принцип работы протокола.

0
Dexel - 28 Апрель, 2014 - 21:16
Изображение пользователя Dexel.

У меня это проходит. Только и делаю что читаю ;)
Адрес dhcp клиент(локалка) похоже что получает, во всяком случае в заданном диапазоне адресов.
И Bind9 как-бы настроен. Выдаёт прямую и обратную зоны, по записям "A" и "PTR" соответственно. И висит это дело как сопля на прИвязи ;)
С iptables сейчас разбираюсь. NAT хочу локалке сделать. Вроде 5 правил, и вроде правильно, а не работает. Ща думаю что в dns-nameserver в самой локалки нужно прописать.... хз что прописать.
Адрес dns-сервера хост-машины наверное, хотя бы потому что на интерфейсе vboxnet4 этой локалки при команде ping ya.ru ничего нет(в Wireshark).

Вот этот zeroconf 224.0.0.251 почему не проходит?

0
Dexel - 29 Апрель, 2014 - 17:20
Изображение пользователя Dexel.

По моему это невозможно.
Причина в том, что в самой VirtualBox на интерфейсе свой DHCP-сервер.
И если я ставлю на хост-машину icp-dhcp или dnsmasq, то это уже два подряд dhcp: dnsmasq и dhcp VirtualBox.
Тут задача не галочки ставить в виртуальной машине, а скриптами всё сделать.
Тут между интерфейсами eth0 геста и vboxnetX что-то, хз что. И тот-же vboxnet при старте dnsmasq не виден. Соответственно ndsmasq ругню сыпет, типа интерфейс неизвестный ему подоткнули.
Далее. Диапазон генерируемых dnsmasq адресов?
Кому, неизвестному интерфейсу? Не стартует он по этой причине. А сам диапазон, когда включен на вирт.машине с GUI свой dhcp?
В двух словах, загвоздка в том, что один dhcp на хост-машине, другой на виртуалке в виде чёрного ящика.
Если предположить, что этот чёрный ящик подразумевает наружный dhcp-сервер с указанными настройками, и сам при этом не есть dhcp, то хрень получается хотя бы потому, что клиенту dhcp вообще никакие настройки не требуются. У меня новый провайдер пришел, подоткнул кабель, и тырнэт без настроек встал изкоробочную Kubuntu(так же на изкоробочную Lubuntu).
Ну так что, не возможно это сделать на сетевом уровне без настройки чёрного ящика?
Теперь сносить всё к едреням...

+1
lord_i - 29 Апрель, 2014 - 17:34
Изображение пользователя lord_i.

Дон-Кихот Ламанчский - наши дни ... :)
Осмелюсь повторить свое предложение. Про роутер.
Разъясню. Если Вы подключите к провайдеру роутер, а в роутер комп, на котором подняты виртуальные машины, на них (виртуальных) можно будет выставить соединение типа мост. Тогда от роутера dhcp будет раздавать всем машинам (и хосту и виртуальным) адреса вашей локалки
и все машины (и хост и виртуалки) будут равноценными в этой локальной сети, и ничего не надо будет шаманить.

0
Dexel - 29 Апрель, 2014 - 17:58
Изображение пользователя Dexel.

lord_i, прекращайте, на счёт этого:
Осмелюсь повторить свое предложение
Я предыдущее воспринял как издёв с приколом ;)
У меня же задача не создать виртуальную сеть, а понять как всё это работает, взаимодействует. Мост - тот же чёрный ящик что в предыдущем посте написал.
Если подцеплю через физический роутер, то железяка будет всё делать.
Сейчас я могу сделать элементарно, без Dlink504t:
Создать два интерфейса на каждую виртуалку: NAT и хост-адаптер. Выставить виртуалкам одну подсеть, и будет меж ними связь, как и с хост-машиной. А тырнэт будет им идти через NAT-интрерфейс. Делов то.
А то ж в своё время получилось так, что выдернули с C# & Ассеблером(плюс электронщик) за спиной, и посадили за WEB. И все настройки перепрыгнул. Жрать хотелось, а изучение денег не приносит. Всё на потом откладывал. Вот сейчас время пришло...

0
MacLeod - 29 Апрель, 2014 - 20:55
Изображение пользователя MacLeod.

Ох... Два разА перечитал - чуть не сломал себе мозг. Нихрена не понял)
Что невозможно-то?)
Любая сетевая программа-сервер вешается на интерфейс.
Путаетесь с vbox? Возьмите дополнительную сетевуху, второй любой, пусть даже старый медленный комп, и, используя ваш d-link как свич, сделайте реальную сеть - все станет куда понятнее =)
Касаемо vbox... Не буду в третий раз советовать читать принцип работы DHCP, но обычно, сервер слушает 67 UPD на тырфейсе, куда повесили. Вы netstat'ом vbox'овский видели?)
На вопрос "а почему так?" довольно простой ответ: vbox ставит модуль ядра? ставит. какой функционал может быть реализован модулем ядра? да любой. вплоть до перехвата пакетов тырфейса с последующим из заворачиванием куда угодно. Сомневаюсь, что разработчики vbox стали бы слушать внешний тырфейс без спросу и раздавать адреса всем желающим =)
Какой черный ящик? У прова где-то стоит DHCP сервер, который выдает кубунтеискаропки адрес по первому требованию. Тоже самое вы можете сделать со своим компом для физически подключенного к нему через вторую сетевуху-свич физическим компом или виртуалкой (когда отделите мух от котлет).
Про адреса 224.х.х.х можно почитать на тему multicast/igmp, имеет мало отношения к dhcp.

0
Dexel - 17 Май, 2014 - 22:04
Изображение пользователя Dexel.

Всё уже сделал и забыл. Связка 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
MacLeod - 17 Май, 2014 - 23:14
Изображение пользователя MacLeod.

Да тут все просто - слушать надо все интерфейсы, т.е. 0.0.0.0 или * (не помню уже, как там в апаче), а хостнеймами уже по запросу определять, что за виртуалхост запрашивается.

+1
lord_i - 23 Апрель, 2014 - 08:37
Изображение пользователя lord_i.

Подумайте о приобретении роутера. Тогда и

имитировать физический разъём

будет и

хочу с одним интерфейсом на гэсте.

и еще как приятный бонус - wifi сеть для мобильных устройств, которые, в свою очередь, будут успешно пользоваться vsftpd и прочими плюшками роутера :)
Кроме того, роутер можно перешить прошивкой на линуксе, Open WRT например, и тогда как минимум пол года увлекательных и полезных для самообразования приключений Вам гарантировано.

0
Dexel - 26 Апрель, 2014 - 19:11
Изображение пользователя Dexel.

Подумайте о приобретении роутера
В кладовке лежит DLINK 504t, рядом с Курьером-VOISE.
Мож сразу диалап поставить.
А потом и резак DVD проапгрейдить до грамофона ;)

+1
MacLeod - 26 Апрель, 2014 - 21:45
Изображение пользователя MacLeod.

Использование роутера (маршрутизатора) отнюдь не пережиток прошлого, а средство для раздачи доступа в сеть (по кабелю и вайфаю) нескольким компьютерам, ноутбуку, планшетам и телефонам в квартире, дав им возможность еще и общаться между собой. Речь не о вашем адсл роутере или роботиксе, а о современной коробочке =)

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры