corner |
|
Темы:
6
Сообщения:
773
Участник с: 21 июля 2011
|
Обычно настройка сетевых интерфейсов для новичков представляет некоторые трудности. Существующие методы настройки подразумевают использование bridge-utils и iptables. Но можно настроить сеть и без этих утилит. Материал честно подмотрен на virtualbox.org. Приступим. 1. Настройка модулей в хост-системе. В первую очередь установим необходимые модули для работы с Virtualbox в нашей системе: # modprobe -v vboxdrv # modprobe -v vboxnetflt # modprobe -v vboxnetadp MODULES=(vboxdrv vboxnetflt vboxnetadp) 2. Запускаем Virtualbox, устанавливаем гостевую систему (в нашем случае Debian Squeeze), и приступаем к настройке выхода в интернет. Для этого просто активируем NAT в Virtualbox. В настройках гостевой системы настраиваем соответствующий сетевой интерфейс на получение адрема посредством DHCP. /etc/network/interfaces: allow-hotplug eth0 iface eth0 inet dhcp Но это мы проделаем позже, когда сделаем запуск гостевой машины. 3. Настройка локальной сети в гостевой системе. Теперь приступим к настройке локальной сети между хост и гостевой системами. В Virtualbox главном меню выбираем File=>Preferences=>Network и добавляем новый хост - После этого заходим в настройки хоста и настраиваем его параметры. Сначала отключаем назначение адреса по DHCP (снимаем галочку, позже поймем, почему) Настраиваем статический адрес (я выбрал сеть 172.16.0.0, потому что у моего провайдера «светятся» в сети адреса класса 192.168.0.0/16) На всякий случай конвертируем IPv4 адрес в IPv6 — это не представляет трудностей, в www полно конверторов online. После этого заходим в настройки сетевых интерфейсов гостевой машины и добавляем еще один интерфейс в режиме Host Заметим для себя, что мы решили присвоить своей гостевой машине локальный адрес 172.16.0.16. Теперь в хост-системе редактируем файл /etc/hosts, добавив в него наш новый хост с алиасом, например 172.16.0.16 test.virtualdebian6.org virtudeba6 Вот поэтому нам и нужен статический адрес. Настала пора запустить гостевую систему и провести соответствующие настройки. После запуска системы проверяем полученные интерфейсы #dmesg |grep -i eth Выяснив номера интерфейсов, правим /etc/network/interfaces И смело перезапускаем сеть на гостевой машине - #invoke-rc.d networking restart Если интерфейсы не подымутся (бывало и такое, не знаю, почему) — перезапускаем гостевую машину. После перезапуска проверяем в гостевой интерфейсы - И выход в интернет Теперь посмотрим на нашу гостевую систему из хост-системы: интерфейсы : нас интересует наличие такой записи при запуске $ ip a vboxnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000 link/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff inet 172.16.0.1/12 brd 172.31.255.255 scope global vboxnet0 inet6 fe80::ac10:1/64 scope link valid_lft forever preferred_lft forever inet6 fe80::800:27ff:fe00:0/64 scope link valid_lft forever preferred_lft forever Пингуем гостевую машину по имени (см. /etc/hosts) — результат: PING test.virtualdebian6.org (172.16.0.16) 56(84) bytes of data. 64 bytes from test.virtualdebian6.org (172.16.0.16): icmp_req=1 ttl=64 time=0.597 ms 64 bytes from test.virtualdebian6.org (172.16.0.16): icmp_req=2 ttl=64 time=0.525 ms 64 bytes from test.virtualdebian6.org (172.16.0.16): icmp_req=3 ttl=64 time=0.529 ms 64 bytes from test.virtualdebian6.org (172.16.0.16): icmp_req=4 ttl=64 time=0.541 ms 64 bytes from test.virtualdebian6.org (172.16.0.16): icmp_req=5 ttl=64 time=0.523 ms — test.virtualdebian6.org ping statistics — 5 packets transmitted, 5 received, 0% packet loss, time 4000ms rtt min/avg/max/mdev = 0.523/0.543/0.597/0.027 ms Что и требовалось получить. Для более полной картины посмотрим на гостевую при помощи Zenmap : И пробуем обратиться к гостевой, как к обычному серверу в сети : Теперь наша гостевая машина имеет полный доступ в интернет, адрес в «локальной» сети, и мы можем работать с ней без проброса портов и дополнительных настроек iptables. |
sleepycat |
|
Темы:
98
Сообщения:
3291
Участник с: 19 июля 2011
|
вопрос , а зачес 1 айпишник выдавать? Может там создается не интерфейс а сеть? просто логики не понял, дважды создавать интерфейс, а потом еще и в гостевой он сам прописывается. Боксом не пользовался , только вимарь юзал….
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
|
corner |
|
Темы:
6
Сообщения:
773
Участник с: 21 июля 2011
|
ipcalc 172.16.0.0/12Столько хватит? Для данного случая. Хост 172.16.0.1 создается один для всех виртуальных машин. Опять же - это простой способ быстрой настройки, когда нужно, например, быстро посмотреть поведение сервера. А для упражнений с веб-программированием и т.п., вообще, наверное, удобное решение. Ну и, конечно, ключевое слово - упрощенная настройка. Во всяком случае, все, что удалось найти на wiki и форумах - стоит метка - deprecated. Не спорю, с iptables покрасивее будет, но некогда… |
sleepycat |
|
Темы:
98
Сообщения:
3291
Участник с: 19 июля 2011
|
Да нет,все верно, это лучше чем возится с фаером на сервере. Я просто только щас понял то хост 172.16.0.1 это чтото вроде виртуального Хаба в Вимаре…спс. за пояснение.
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
|
Volldemar |
|
Темы:
98
Сообщения:
573
Участник с: 19 октября 2011
|
Спасибо за разъяснения, помогло описание настройки. У меня хост система - арч, гостевая выньХП. На арче три интерфейса: eth0 - локальная сеть провайдера eth1 - внутренняя локальная сеть ppp0 - ВПН к провайдеру, собственно инет :) и внешний статичный апи Вопрос, как пробросить этот внешний апи, вместе в апишником :), на гостевую выньХП? |
corner |
|
Темы:
6
Сообщения:
773
Участник с: 21 июля 2011
|
Дополнение: Раньше, до вступления в силу systemd, интерфейс vboxnet в хост-системе подымался автоматически. Теперь это не происходит. Следующие команды подымают vboxnet (соглвсно вышеуказанного примера) : # ip address add 172.16.0.1/24 scope host dev vboxnet0 # ip link set vboxnet0 up # ip route add 172.16.0.0 dev vboxnet0 |