HOWTO Настройка User-Mode Linux
Материал из Gentoo Linux Wiki
- Вернуться в раздел руководства
В данном HOWTO описывается установка 2-х UML систем и настройки сетевых подключений. Для этого использовалось основное ядро – kernel-2.6.11-gentoo-r6 и ядро vanilla-sources-2.6.11.7 в которое уже изначально включена поддержка UML. В ядро kernel-2.6.11-gentoo-r6 поддержка UML также включена, однако скомпилировать UML ядро из этого исходного кода так мне и не удалось. Зачем это вам надо – незнаю, придумайте сами. :) Может сгодится для чего.
Ядро основной системы должно быть скомпилировано с следующими опциями, для поддержки виртуальной сети:
Device Driver --->
Networking support --->
<*>Universal TUN/TAP device driver support
Device Driver --->
Networking Support --->
Networking options --->
[*]Network packet filtering --->
IP: Netfilter configuration --->
<*>MASQUERADE target support
Устанавливаем ядро Vanilla:
emerge vanilla-sources
Переходим в каталог с исходным кодом ядра:
cd /usr/src/linux-2.6.11.7
Запускаем конфигурирование ядра UML:
make menuconfig ARCH=um
Ядро UML системы должно быть скомпилировано с следующими опциями:
UML - specific options ---> <*>Host filesystem
File systems --->
Pseudo filesystems --->
[ ]Automatically mount at boot
[*]Virtual memory file system support
Копируем ядро UML в /usr/local/bin:
cp linux /usr/local/bin/linux
Устанавливаем утилиты, необходимые для работы с UML ядром:
emerge sys-apps/usermode-utilities
Создаем будущий корневой каталог системы UML:
mkdir /mnt/uml1
cd /mnt/uml1
Разархивируем основные файлы системы (всего около 300Мб) В нашем случае используем системные фаилы с дистрибутива Gentoo 2005.0 оптимизированные для работы с процессором intel Pentium 4:
tar -xvjpf /home/alex/stage3-pentium4-2005.0.tar.bz2
Разархивируем систему портежей. В нашем случае это система портежей по состоянию на 03-03-2005:
mkdir ./usr/portage
cd ./usr/portage
tar -xvjpf /portage-20050303.tar.bz2
mkdir distfiles
Задаем имя UML-системы в файле /mnt/uml1/etc/hostname:
uml1
Удаляем пароль root’а в фаиле /mnt/etc/uml1/etc/shadow Запускаем систему UML, в нашем случае сетевой интерфейс основного ядра – eth0, настроен с IP – адресом 192.168.10.66 и запущен:
linux root=/dev/root rootflags=/mnt/uml1 rootfstype=hostfs eth0=tuntap,,,192.168.10.66
В появившейся консоли вводим пользователя root, затем задаем пароль root’а командой:
passwd
Настраиваем сетевое подключение в файле /etc/conf.d/net, задаем UML-системе IP – адрес 192.168.10.1 Шлюзом настраиваем реальный IP – адрес основной системы, то есть - 192.168.10.66, в противном случае сетевой интерфейс работать не будет.:
iface_eth0="192.168.10.1 broadcast 192.168.10.255 netmask 255.255.255.0"
gateway="eth0/192.168.10.66"
Для работы с виртуальной сетью необходимо в основном ядре выполнить следующее:
emerge iptables
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forvard
Настраиваем систему подключать сетевой интерфейс при загрузке автоматически:
rc-update add net.eth0 default
Для настройки доступа в интернет необходимо указать имя DNS – сервера, в нашем случае это 192.168.0.85:
File /etc/resolv.conf
nameserver 192.168.0.85
Выключим UML систему для того чтоб создать еще одну UML систему:
reboot
Для создания 2-й UML системы нужно просто скопировать корневой каталог uml1 в каталог uml2:
cd /mnt
mkdir ./uml2
cp -r ./uml1/* ./uml2
Так же необходимо сменить название системы в файле /mnt/uml1/etc/hostname с uml1 на uml2 и IP – адрес системы в файле /mnt/uml1/etc/conf.d/net с 192.168.10.1 на 192.168.10.2: Теперь запустим наши UML системы и для проверки всех сетевых соединений выполним в каждой системе (в том числе и в основной):
ping –c 3 192.168.10.66
ping –c 3 192.168.0.85
ping –c 3 192.168.10.1
ping –c 3 192.168.10.2
ping –c 3 www.gentoo.org
Если проверка везде прошла успешно то системы настроены верно. Интересен тот факт что способ создания корневого раздела указанный на официальном сайте Gentoo, то есть создание корневого раздела, swap – раздела, и при необходимости других, в 1 файле, оказался не работоспособен, поскольку при запуске UML ядро монтировало эти разделы только для чтения, что делало нормальную работу невозможной, однако может быть все дело в радиусе кривизны моих рук. Так же следует заметить что здесь не приводится настройка многих параметров системы, информацию о которых можно получить здесь, из документации на дистрибутив или на официальном сайте Gentoo.
