VPS на домашнем ПК: настройка сети в VM VirtualBox и Debian
После того, как на компьютере установлен Oracle VM VirtualBox 4.1 и создана виртуальная машина с Linux Debian 6, самое время заняться настройкой данной связки в целях решения поставленных задач, а именно — работающего VPS (или VDS) для тестирования сайтов на локальном компьютере.
Первым делом надо определиться с сетью. Современные версии VM VirualBox 4.x предлагают 5 вариантов взаимодействия по сети: NAT, Сетевой мост, Внутренняя сеть, Виртуальный адаптер хоста и Универсальный драйвер. Имеется и 6-й вариант — без сети, но это нам не интересно. Как, собственно, и большинство других вариантов, кроме NAT и сетевого моста.
Итак, в настоящее время у нас настроен доступ через NAT, т.к. именно этот режим устанавливается по умолчанию. Собственно говоря, это самый простой способ получить интернет на виртуальной машине. Но при этом саму виртуальную машину в «интернете», который представлен собственно вашим ПК (хост-системой), видно не будет. Конечно, можно пробросить все нужные порты (в VM VirtualBox Manager свойства виртуальной машины — сеть — проброс портов), но это не то, что нам надо. Поэтому зайдем в настройки сети и изменим тип подключения на «сетевой мост».
Теперь вернемся к настройкам Debian. Если у вас раздача IP-адресов происходит автоматически по DHCP (т.е. компьютер подключен к интернету через роутер), то достаточно перезапустить сеть. Для этого в командной строке введем:
/etc/init.d/networking restart
Сеть перезапущена. Проверяем, получили ли мы адрес, для чего используем команду ifconfig:
ifconfig
Смотрим вывод для интерфейса eth0 – должен быть inet addr похожий, кроме последней цифры, на адрес вашего ПК. Если же DHCP не работает, то надо ввести настройки вручную. Для этого надо отредактировать файл interfaces, находящийся в каталоге /etc/network. Однако прежде упростим себе работу с файловой системой в Linux, для чего установим файловый менеджер Midnight Commander. Если вы используете FAR, то знайте, что MC – это примерно то же самое. Если вы когда-то работали в DOS, то вам должны быть известный Norton Commander или его клоны. Наконец, Total Commander – тоже из этой оперы, только он работает в графическом режиме. Итак, устанавливаем, для чего в командной строке вводим:
apt-get install mc
На подтверждающий запрос отвечаем Y (или просто жмем Enter) и через несколько секунд программа установлена. Теперь запускаем его:
mc
Проведем небольшую настройку - нажмем F9, перейдем стрелками в меню Optins, выберем пункт Configuration (Enter) и отметим пункт Use internal edit (выбрав его стрелками и нажав пробел — все так же, как и при установке), после чего дойдем до кнопки OK и нажмем Enter. Теперь для правки текстовых файлов будет использоваться простой встроенной редактор MC.
Итак, возвращаемся к сетевым настройкам. Находим файл /etc/network/interfaces и жмем F4 чтобы открыть его в редакторе. Находим строку iface eth0 inet dhcp и меняем её на iface eth0 inet static. Далее указываем IP-адрес, маску подсети и шлюз.
Закончив правку нажимаем F2 и затем Esc. Если при установке вы не указали NS-сервера, то самое время это сделать, для чего отредактируем файл /etc/resolv.conf, содержимое которого должно быть примерно таким:
nameserver 213.248.0.6
nameserver 213.248.1.6
Т.е. указывается параметр nameserver, а через пробел пишется IP-адрес NS. И так по одному на строку.
Наконец, завершив настройку сети, перезапускаем сетевую службу:
/ect/init.d/networking restart
Пробуем связь с внешним миром. Для начала попробуем пропинговать хост-машину, для чего введем команду ping и IP-адрес вашего компьютера, например:
ping 192.168.0.15
Если вы видите, что передача пакетов пошла, отменяйте выполнение при помощи Ctrl+C. Если сети нет, то проверьте файл /etc/network/interfaces — убедитесь, что параметры введены правильно. Если все в порядке, то проверяйте доступность интернета:
ping ya.ru
Если интернета не видно, то убедитесь, что вы указали верные NS в /etc/resolv.conf. Так же следует убедиться, что на назначенный вами IP-адрес виртуальной машины вообще может прийти интернет.
Если же тут все в порядке, то напоследок попробуйте пингануть виртуалку с хост-машины, для чего из командной строки теперь уже Windows введите ping IP_виртуалки, например:
ping 192.168.0.207
Итак, мы убедились, что сеть работает. Теперь вы можете получить доступ к виртуальной машине как с самого хост-компьютера, так и с любого устройства, подключенного к вашей сети. Кстати, раз уж мы здесь занимаемся созданием аналога удаленного VPS, то первым делом будем ходить на свою виртуалку так же, как если бы она находилась где-нибудь в интернете. Для этого нам потребуется SSH-клиент (помните, при установке мы выбирали опцию SSH-server?). В качестве такового рекомендуется PuTTY - это программа терминала, не требующая установки. Достаточно скачать файл putty.exe и кинуть его на рабочий стол. Далее запускаем и вводим IP виртуальной машины и название соединения, например, «small vps»
Затем следует перейти в категорию Transliteration и выбрать в списке кодировок UTF-8. После чего вернемся в Session, и нажмем Save. Всё, настройки сохранены — теперь можно подключаться, для чего нажмем Open. При первом соединении с новым сервером программа просит вас сохранить ключ соединения — соглашаемся и получаем приглашение на удаленный вход в систему. Вводим сначала логин (root), затем — пароль, после чего оказываемся в своей виртуальной машине, подключившись к ней не напрямую, а через сеть — точно так же, как если бы вы подключались к выделенному серверу, расположенного в дата-центре у хостинг-провайдера.
В завершение можно установить Apache и PHP:
apt-get install apache2 php5 libapache2-mod-php5 php5-gd
Все это будет автоматически скачано (либо скопировано с диска), установлено и настроено, ведь Linux – это вам не Windows, тут все просто!
На этом вопрос установки и настройки локального VPS-сервера на Debian на основе Oracle VM VirtualBox под Windows можно считать закрытым. Далее настройка Apache, PHP, MySQL и дополнительных модулей произвоится так же, как на обычном Linux-сервере. Впрочем, это уже совсем другая тема.
2011-10-28 // Есть вопросы, предложения, замечания? Вы можете обсудить это на форуме !