Установка linux через lan

Установка linux через lan

Этот метод установки задействует протоколы DHCP/BOOTP, TFTP и FTP/HTTP для получения источников инсталляции. Инсталлятор сам по себе сделан на основе ядра Linux и initrd. Эти файлы передаются через DHCP/TFTP в процессе сетевой загрузки.

Остальные инсталляционные данные передаются через FTP или HTTP. Если целевая машина имеет доступ в Интернет, то эти данные могут поступать напрямую с зеркала Ubuntu. Альтернативно Вы могли бы загрузить один из установочных образов ISO, смонтировать его через loop-back, и опубликовать его содержимое для целевой машины через локальный сервер HTTP/FTP.

[Подготовка сетевой загрузки]

В этой статье (перевод [1]) описывается, как установить Ubuntu на целевую машину, используя на ней только сетевую карту для загрузки инсталлятора, который будет устанавливать Ubuntu. Чтобы это работало, кратко процесс можно описать так: Вы устанавливаете и конфигурируете службы bootp, tftp, dhcp и шлюза в Интернет (gateway). Целевая машина будет загружаться по сети (netboot) через свой сетевой адаптер, используя протокол PXE/BOOTP, и получит ядро Linux и инсталлятор через TFTP. После запуска ядра запустится инсталлятор, который и установит Ubuntu на целевую машину.

Большинство устанавливаемых для этого пакетов поставляются через Интернет из последних версий репозиториев Ubuntu. Ниже приведена подготовка сетевой загрузки по шагам.

1. Установите сервер TFTP. Убедитесь, что устанавливаете сервер TFTP с поддержкой bootp (например, на Linux таким сервером может быть tftp-hpa), и что у этого сервера есть сетевой доступ к Вашему роутеру/шлюзу.

2. Сконфигурируйте роутер и его сервер DHCP. Узнайте MAC-адрес целевой машины, на которую будете устанавливать Ubuntu. Самый простой путь — настроить для целевой машины фиксированный IP, например 192.168.1.42. Это можно сделать по MAC-адресу, если сделать соответствующую настройку на сервере DHCP. Также запомните адрес шлюза роутера (пусть это будет адрес 192.168.1.1).

3. Установите на хосте Linux сервис bootp. Проще всего установить из консоли командами apt:

sudo apt-get update sudo apt-get install bootp

4. Отредактируйте файл /etc/bootptab. Пример:

client:\ ha="00:00:39:2B:54:B5":\ ip=192.168.1.42:\ gw=192.168.1.1:\ sm=255.255.255.0:\ td=/: hd=/: bf=pxelinux.0

Здесь настроено следующее:

ha MAC-адрес сетевой карты целевой машины.
ip IP-адрес, который назначил роутер для целевой машины.
gw IP-адрес роутера (gateway).
sm маска подсети для Вашей локальной сети.
td директория на сервере tfptboot, где находятся файлы PXE, относительно корневого каталога сервера tftpboot.
hd дальнейший путь, который заканчивается либо на файле pxe boot, либо на ссылке на него (скорее всего, этот путь можно оставить как есть).
bf файл pxe boot (скорее всего, тут будет именно такое имя файла).

Читайте также:  Linux ssh keys permissions

Для дополнительной справки используйте man bootpd, man bootptab. Также некоторую информацию по настройке можно найти в комментариях файла etc/bootptab.

Если Вы не знаете аппаратный адрес целевой машины (т. е. MAC-адрес её сетевой карты), или какой IP-адрес целевой машине назначил DHCP-сервер роутера, то это можно сделать несколькими способами. Первый способ — настроить в BIOS целевой машины сетевую загрузку. Значение MAC-адреса будет отображаться либо в самом BIOS, либо на экране целевой машины, когда она делает попытку загрузиться через свой сетевой адаптер (также может отображаться и IP-адрес, выданный сервером DHCP). Второй способ — открыть лог DHCP-сервера или его файл текущих назначений IP-адресов. После того, как узнаете MAC адрес и IP-адрес, обновите /etc/bootptab на сервере bootp, после чего перезапустите bootpd.

5. Запустите bootp. Ниже приведена обертка, предназначенная для запуска и остановки bootpd из командной строки.

vDaemon=bootpd vCd=/var/lib/tftpboot
Start () < echo -n "Starting $vDaemon: default current directory is at $vCd . :" /usr/sbin/$vDaemon -d 4 -c $vCd >/tmp/$vDaemon.log 2>/tmp/$vDaemon.err & sleep 1 Status >

Источник

Установка Ubuntu по сети

Ubuntu, как и многие другие дистрибутивы Linux, можно легко установить по сети. Для этого вам всего лишь потребуется сетевое соединение с компьютером, который будет служить сервером для установки. BIOS вашего компьютера должен для этого поддерживать загрузку по сети.

Настройка сервера для установки

Прежде всего вам потребуется компьютер с Ubuntu или с другим дистрибутивом Linux (данная инструкция написана для Ubuntu), с которого вы будете устанавливать систему (сервер загрузки по сети), и ISO образ Alternate диска с необходимой версией Ubuntu.

Настройка сервера сетевой загрузки

Для загрузки по сети потребуется установить на сервер TFTP, HTTP и DHCP сервисы, чтобы позволить второму компьютеру подключиться и загрузить все необходимые файлы.

Для установки всего необходимого лучше использовать aptitude, которая не входит в стандартную поставку Ubuntu начиная с версии 10.10. Поэтому сначала ставим aptitude через любую программу установки пакетов или командой

sudo apt-get install aptitude

Далее ставим всё необходимое:

sudo aptitude -R install apache2 atftpd tftpd-hpa dhcp3-server

Ключ -R нужен для того, чтобы atftpd поставился без inetd сервера, который вам совершенно не нужен.

Теперь пора настроить все компоненты.

TFTP сервер

Демон, использующий эти файлы — /etc/hosts.allow и /etc/hosts.deny для ограничения доступа.

Откройте файл /etc/default/atftpd в любом текстовом редакторе с правами суперпользователя, например, так:

sudo nano /etc/default/atftpd

Измените первую строчку с

Читайте также:  Linux get active window

Кроме этого запомните каталог, который находится в конце строчки OPTIONS . Скорее всего это будет /srv/tftp , но в старых Ubuntu может быть и /var/lib/tftpboot . Редактируем файл /etc/default/tftpd-hpa:

sudo nano /etc/default/tftpd-hpa

вписываем, запомненный каталог

Теперь просто запустите atftpd :

sudo /etc/init.d/atftpd start

Теперь создайте в каталоге из OPTIONS папку ubuntu. Далее везде будем считать, что используется каталог /srv/tftp :

После этого необходимо смонтировать ваш ISO образ во вновь созданный каталог. Сделать это можно примерно такой командой:

sudo mount -o loop /home/tux/ubuntu-11.04-alternate-i386.iso /srv/tftp/ubuntu/

Если у Вас нет ISO образа диска, но есть записанный Alternate диск, то просто вставьте его в CD/DVD привод. Диск автоматически монтируется в /media/cdrom . Дальше просто нужно создать симлинк для TFTP сервера:

sudo ln -s /media/cdrom /srv/tftp/ubuntu

На этом настройка TFTP закончена.

Веб-сервер Apache

Что-либо менять в настройках Apache не требуется, достаточно сделать созданный в предыдущем разделе каталог ubuntu доступным через HTTP . Для этого создайте на него симлинк из рабочей папки Apache:

sudo ln -s /srv/tftp/ubuntu /var/www/ubuntu
sudo ln -s /media/cdrom /var/www/ubuntu

DHCP сервер

Всё, что осталось — это настроить правильным образом DHCP сервер. Откройте в любом текстовом редакторе с правами суперпользователя файл /etc/dhcp3/dhcpd.conf , например, командой

sudo nano /etc/dhcp3/dhcpd.conf

В этом файле необходимо изменить следующие настройки:

# Имя вашего внутреннего домена. Если вам это ни о чём не говорит - просто не меняйте. option domain-name "domain.ru"; # Ваш DNS сервер, который должен использоваться на подключаемом компьютере. Чаще всего тут стоит IP адрес роутера. option domain-name-servers 192.168.0.1; # Просто раскомментируйте эту строчку authoritative; # Теперь надо определить сеть для DHCP сервера: # Сначала желаемая подсеть и маска подсети. subnet 192.168.0.0 netmask 255.255.255.0 { # Диапазон выдачи сервером адресов range 192.168.0.100 192.168.0.199; # Роутер для доступа к интернету option routers 192.168.0.1; # Какой файл загружать при сетевой загрузке - укажите именно в таком виде. filename = "ubuntu/install/netboot/pxelinux.0"; } 

После этого нужно сказать нашему DHCP серверу слушать один из интерфейсов. Для этого откройте файл /etc/default/dhcp3-server и добавьте в параметр INTERFACES имя нужного интерфейса. Например, вот так:

Теперь нужно запустить DHCP сервер и можно будет приступать к установке. Однако перед запуском убедитесь, что в вашей сети нету ещё каких-нибудь работающих DHCP серверов. Чаще всего DHCP бывает запущен на роутерах, в этом случае надо зайти на роутер и остановить на нём этот сервис.

Итак, для запуска DHCP сервера достаточно выполнить команду

sudo /etc/init.d/dhcp3-server start

Теперь необходимо перевести второй компьютер в режим загрузки по сети. После этого Вы должны увидеть экран установки Ubuntu.

Читайте также:  What is forking in linux

Установка по при помощи Minimal CD

Если вы по каким-то причинам не можете использовать полноценный диск с Ubuntu, но всё же в вашем компьютере есть CD привод и подключение к интернету, то вы можете поставить систему по сети, загрузившись с маленького диска Minimal CD.

В этом случае система поставится целиком из интернет-репозитория, а диск нужен будет только для запуска процесса установки.

Источник

Сетевая установка Linux

Недавно столкнулся с установкой Centos 7 в необычных условиях.

Во-первых, дома. То есть имел дело с локальными компьютером, а не с сервером с IPMI.

Во-вторых, за неимением дискового привода обычно использую загрузочную флешку, которая в данном случае оказалась бесполезной, так как новый компьютер загружается только с флешек с инсталятором Windows. Проблема не новая, судя по отзывам о материнской плате.

В моем распоряжении осталась сеть. Приведу пример установки Centos 7 по PXE и iPXE

Итак, начнем.

Как установить Linux через ipxe?
Как установить Linux через pxe?

Установка через PXE

Соединим ethernet кабелем компьютер1 — на котором будут DHCP, TFTP и компьютер2 — на который должна быть установлена ОС.

Добавим статичные настройки сетевого адаптера на компьютер1. Мой адрес 192.168.1.50.

Скачаем и установим TFTP. В этой программе настроим DHCP и TFTP сервер с которого отдадим IP адрес и установочные файлы компьютеру2.

Отключим брандмауэр и запустим tftpd с правами администратора. Выставим аналогичные установки, как на картинках. Возможно потребуется перезапуск tftpd.

На компьютере2 в boot меню выберем сетевой адаптер. В окне tftpd на компьютере1 будет отображаться шкала прогресса.

После этого, на компьютере2 загрузится окно инсталлятора ОС.

Установка Linux через iPXE

Скачаем образ ipxe.iso. Rufus-ом создадим загрузочную флешку на основе этого образа.

Выложим скрипт install.ipxe на любой веб сервер. О том, как поднять веб сервер на локальном компьютере можно узнать тут. Адрес моего скрипта будет таким sitename.ru/install.ipxe

Содержимое скрипта install.ipxe для установки Centos 7

#!ipxe set base http://mirror.centos.org/centos/7/os/x86_64 prompt -k 0x197e -t 2000 Press F12 to install CentOS. || exit kernel $/images/pxeboot/vmlinuz initrd=initrd.img repo=$ initrd $/images/pxeboot/initrd.img boot

По аналогии с этим скриптом для установки Centos 7, можете подготовить свой скрипт для установки другой ОС.

Соединим компьютер, на который необходимо установить Linux, и роутер ethernet кабелем. Вставим флешку и загрузимся с нее. После нажатия F12 появится ipxe консоль. Используем следующие команды для получения IP адреса и скачивания скрипта

iPXE> dhcp DHCP (net0 52:54:00:12:34:56). ok iPXE> chain http://sitename.ru/install.ipxe

Источник

Оцените статью
Adblock
detector