0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Настройка файлового сервера в локальной сети на Windows/Linux

Содержание

Настройка файлового сервера в локальной сети на Windows/Linux

В инструкции описан процесс настройки общего файлового сервера для всех пользователей локальной или виртуальной сети с операционными системами Linux и Windows.

Что это такое?

Файловый сервер работает по протоколу SMB/CIFS и позволяет предоставить доступ к общим ресурсам в локальной сети, например, текстовым файлам или сетевым принтерам. Для его развертывания на Windows используются штатные средства ОС, на Linux используется файловый сервер Samba.

В инструкции рассмотрена настройка файлового сервера на серверах с операционными системами Linux и Windows. На сервере будет находиться 2 каталога — публичный и приватный. К файловому серверу подключение будет происходить как с операционной системы Windows, так и с Linux, т.к. в виртуальной или физической локальной сети могут находиться серверы с разными ОС.

Создание и настройка частной сети

Для начала в панели управления должны быть созданы все необходимые для сети серверы.

После создания необходимо объединить все машины в единую локальную сеть через панель управления в разделе Сети. В результате серверы получат локальные IP-адреса.

После создания частной сети необходимо настроить сетевые адаптеры на каждом сервере. Об этом можно прочитать в наших инструкциях:

Настройка файлового сервера

Прежде всего, необходимо определиться, на сервере с какой операционной системой будет находиться общий каталог.

Настройка файлового сервера на Linux (Debian/Ubuntu)

Для развертывания файлового сервера на системах Linux используется инструмент SAMBA. Ниже перечислены действия по его установке и настройке.

Прежде всего следует обновить локальную базу пакетов:

Далее установите пакеты из главного репозитория:

apt-get install -y samba samba-client

Создайте резервную копию файла конфигурации Samba:

cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

Создайте или выберете директорию, к которой все пользователи будут иметь общий доступ:

mkdir -p /samba/public

Перейдите к этому каталогу и измените режим доступа и владельца:

cd /samba
chmod -R 0755 public

Создайте или выберете каталог, к которому иметь доступ будут ограниченное число пользователей:

Создайте группу пользователей, которые будут иметь доступ к приватным данным:

Создайте нужных пользователей с помощью команды useradd:

Добавьте созданных пользователей в группу:

usermod -aG smbgrp user1

Измените группу, которой принадлежит приватная директория:

chgrp smbgrp /samba/private

Задайте пароль, с помощью которого пользователь будет подключаться к каталогу:

smbpasswd -a user1

Откройте файл конфигурации на редактирование с помощью текстового редактора, например nano:

Замените содержимое файла на следующие строки:

[global]
workgroup = WORKGROUP
security = user
map to guest = bad user
wins support = no
dns proxy = no

[public]
path = /samba/public
guest ok = yes
force user = nobody
browsable = yes
writable = yes

[private]
path = /samba/private
valid users = @smbgrp
guest ok = no
browsable = yes
writable = yes

Сохраните внесенные изменения, нажав CTRL+X, затем Enter и Y.

Значения параметров выше:

  • global — раздел с общими настройками для Samba сервера
  • workgroup — рабочая группа Windows, WORKGROUP — значение по умолчанию для всех Windows машин, если вы не меняли самостоятельно
  • security — режим безопасности, значение user означает аутентификацию по логину и паролю
  • map to guest — задает способ обработки запросов, bad user — запросы с неправильным паролем будут отклонены, если такое имя пользователя существует
  • wins support — включить или выключить поддержку WINS
  • dns proxy — возможность запросов к DNS
  • public — название общего каталога, которое будут видеть пользователи сети, может быть произвольным и не совпадать с именем директории
  • path — полный путь до общего каталога
  • browsable — отображение каталога в сетевом окружении
  • writable — использование каталога на запись, инверсия read only
  • guest ok — авторизация без пароля
  • force user — пользователь по умолчанию
  • valid users — список пользователей, у которых есть доступ к каталогу, через @ указывается unix-группа пользователей

Проверить настройки в smb.conf можно с помощью команды:

Чтобы изменения вступили в силу, перезапустите сервис:

service smbd restart

Далее нужно настроить firewall, открыв порты, которые использует SAMBA. Настоятельно рекомендуем разрешить только подключения из локального диапазона IP-адресов или виртуальной частной сети. Адресное пространство вашей частной сети вы можете увидеть в панели управления 1cloud.

Замените значение параметра –s в правилах ниже для соответствия адресному пространству вашей частной сети. Как правило префикс сети /24, если вы явно не подразумеваете иного:

iptables -A INPUT -p tcp -m tcp —dport 445 –s 10.0.0.0/24 -j ACCEPT
iptables -A INPUT -p tcp -m tcp —dport 139 –s 10.0.0.0/24 -j ACCEPT
iptables -A INPUT -p udp -m udp —dport 137 –s 10.0.0.0/24 -j ACCEPT
iptables -A INPUT -p udp -m udp —dport 138 –s 10.0.0.0/24 -j ACCEPT

Теперь необходимо сделать так, чтобы указанные выше правила фаервола iptables были сохранены после перезагрузки машины. Для это установим пакет iptables-persistent:

apt-get install iptables-persistent

После установки откроется окно с предложением последовать запомнить текущие правила iptables для IPv4 и IPv6. Подтвердите это действие.

Проверить актуальные правила iptables можно командой:

В выводе команды вы должны увидеть ранее добавленные разрешающие политики (Accept).

Настройка общего публичного каталога на Windows

Для общего доступа к файлам по сети в Windows используются стандартные средства ОС.

Чтобы пользователи локальной сети могли без пароля подключаться к общему ресурсу, необходимо в панели управления снять ограничения защиты. Откройте панель управления и перейдите в раздел Сеть (Network and Internet) -> Центр управления сетями и общим доступом (Network and Sharing Center) -> Расширенные настройки общего доступа (Advanced sharing settings). В разделе Все сети (All Networks) выберете опцию Отключить доступ с парольной защитой (Turn off password protected sharing) и сохраните изменения.

Далее, чтобы настроить общий доступ к каталогу на Windows необходимо создать или выбрать нужный и открыть его свойства. В свойствах перейдите во вкладку Доступ (Sharing) и нажмите Расширенная настройка (Advanced Sharing).

В открывшемся окне отметьте галочкой Открыть общий доступ к этой папке (Share this folder), для того чтобы она стала общедоступной. В поле Имя общего ресурса (Share name) введите имя, которое будет видно всем пользователям. Далее нажмите Разрешения (Permissions) для настройки прав доступа.

Выберете нужные права доступа для всех пользователей (Everyone). Нажмите Применить (Apply), чтобы изменения вступили в силу.

Теперь в свойствах каталога нажмите Общий доступ (Share).

В поле поиска введите Все пользователи (Everyone) и нажмите Добавить (Add). Для полного доступа выберете права Read/Write и нажмите Поделиться (Share).

Теперь ваш каталог Windows доступен всем пользователям локальной сети без пароля.

Настройка общего приватного каталога на Windows

Для настройки общего каталога, который будет доступен только определенным пользователям, необходимо, чтобы данные пользователи существовали на сервере с общей папкой и на Windows машине с которой будет происходить подключение (наличие пользователя на Linux сервере не требуется), причем логин и пароль пользователей должны полностью совпадать. О том как создать нового пользователя читайте в нашей инструкции.

Чтобы пользователи локальной сети могли без пароля подключаться к общему ресурсу, необходимо в панели управления снять ограничения защиты. Откройте панель управления и перейдите в раздел Сеть (Network and Internet) -> Центр управления сетями и общим доступом (Network and Sharing Center) -> Расширенные настройки общего доступа (Advanced sharing settings). В разделе Все сети (All Networks) выберете опцию Отключить доступ с парольной защитой (Turn off password protected sharing) и сохраните изменения.

Далее, чтобы настроить общий доступ к каталогу на Windows необходимо создать или выбрать нужный и открыть его свойства. В свойствах перейдите во вкладку Доступ (Sharing) и нажмите Расширенная настройка (Advanced Sharing).

Так как каталог будет доступен только определенным пользователям, необходимо удалить группу Все пользователи (Everyone) с помощью кнопки Удалить (Remove).

Далее с помощью кнопки Добавить (Add) добавьте пользователей для управления каталогом.

Введите имя и нажмите Проверить имена (Check Names), выберете полное имя пользователя и нажмите OK.

Установите нужные права и нажмите Применить (Apply).

Теперь в свойствах каталога нажмите Поделиться (Share).

В поле поиска введите имя пользователя и нажмите Добавить (Add). Для полного доступа выберете права Чтение/Запись (Read/Write) и нажмите Поделиться (Share).

В итоге каталог стает общедоступным для определенных пользователей.

Подключение к общему каталогу с помощью Linux

Чтобы подключиться к общему каталогу, необходимо установить клиент для подключения:

sudo apt-get install smbclient

Для подключения используйте следующий формат команды:

Также можно выполнить монтирование общего каталога, для этого установите дополнительный пакет утилит:

sudo apt-get install cifs-utils

Для монтирования используйте следующий формат команды:

mount -t cifs -o username= ,password= // /

Где — адрес машины, на которой расположена общая директория, а — путь до общей директории.

mount -t cifs -o username=Everyone,password= //10.0.1.2/Win /root/shares/public

Если общий каталог находится на Windows Server?

Если общий каталог находится на сервере с операционной системой Windows, то для публичного каталога используйте имя пользователя Everyone, а в качестве пароля просто нажмите Enter. Например:

smbclient -U Everyone \\10.0.1.2\Win
Enter Everyone’s password:
OS=[Windows Server 2016 Standard 14393] Server=[Windows Server 2016 Standard 6.3]
smb: >

Для приватного каталога используйте имя пользователя и пароль, которому разрешен доступ.

Если общий каталог находится на Linux?

Если общий каталог находится на сервере с операционной системой Linux, то для публичного каталога используйте имя пользователя nobody, а в качестве пароля просто нажмите Enter. Например:

smbclient -U nobody \\10.0.1.2\public
Enter nobody’s password:
OS=[Windows Server 2016 Standard 14393] Server=[Windows Server 2016 Standard 6.3]
smb: >

Для приватного каталога используйте имя пользователя и пароль, которому разрешен доступ.

Подключение к общему каталогу с помощью Windows

Для подключения используйте Проводник Windows, в адресную строку введите строку в следующем формате:

Если общий каталог находится на Windows Server?

Если вы подключаетесь к приватному каталогу, то он откроется автоматически, а если подключаетесь к публичному, то перед вами вами появится окно для ввода данных для входа. Введите логин Everyone и пустой пароль, нажмите OK. В результате вы будете подключены к общему каталогу.

Если общий каталог находится на Linux?

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

  • Зачем желательно почву обогащать
  • Google, расширяем функционал
  • Интерактивим
  • С возвращением
  • Шрифты в Linux (часть 1)
  • Интернет-гиганта Гугл собираются обязать удалять информацию о пользователях интернета.
  • Омские линуксоиды участвуют в Омском городском пикнике
  • Делаем Ломо цвета
  • Направлениe в библиотеки школ и ВУЗов Омской области Linux-материалов
  • С наступающим
Читать еще:  Ошибка 0x80300024 при установке Windows 7

Организация сетевой установки
Сетевая — значит необходима сеть, но если вы работаете учителем информатики, значит знаете что это такое.
Установка — значит необходимы компьютеры.
Будем считать что эти два пункта у нас есть.
Сетевая — значит необходимы программы для работы в сети. Программы необходимо куда-то установить. Пусть это будет компьютер с AltLinux Master (проблемы установки с DVD диска рассматривать не будем). Конечно же вы задали IP адреса сетевых карт.
1 программа необходима для того чтобы у компьютеров могли появится IP — адреса (так как это всё — таки сеть). Такой программой является dhcp-сервер. (В Windows он тоже есть, но немного завуалирован: это когда вы разрешаете компьютерам сети использовать соединение на каком-либо компьютере и ставите галочку автоматический адрес IP). Сначала необходимо установить этот сервер. В AltLinux Master он устанавливается автоматически и включается если в компе 2 сетевые карты и хотя бы один IP — адрес задан вручную. Если по какой- либо причине это не так (или для того чтобы убедится в его наличии), то в Synaptic в поиске введите dhcp — server. Если установлен, то квадратик зелёный.

Теперь необходимо подправить файл /etc/dchp/dhcpd.conf (нужны права админа)

Должен быть таким примерно таким

subnet 10.11.19.0 netmask 255.255.255.224 <>

subnet 192.168.0.0 netmask 255.255.255.0 <
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;

option domain-name-servers 192.168.0.1;

range dynamic-bootp 192.168.0.2 192.168.0.200;
default-lease-time 21600;
max-lease-time 43200;
filename «pxelinux.0»;
next-server 192.168.0.1;
>

здесь две сетевые карты: внешняя с адресом в сети 10.11.19.0/27(для выхода в интернет — adsl модем)
внутреняя с адресом в сети 192.16.0.0/24 (адрес 192.16.0.1) (наша сетка).
Очень долго мучился именно из-за этого файла, а именно из-за filename «pxelinux.0»(а точнее из-за отсутствия этой строчки)
если в этом файле вы что-то изменили, то необходимо перезагрузить dhcp-сервер.

В терминале с правами root выполним команду

# service dhcpd restart

Для автоматической загрузки dhcp-сервера выполним

# chkconfig dhcpd on

Теперь вторая важная программа которая необходима для загрузки начального файла. Название программе tftp-server. Установите из репозитория с помощью Synaptic.

В терминале с правами root выполним команды последовательно

# chkconfig tftp on
а затем
# service xinetd restart

Таким образом мы поместили сервер tftp в автозагрузку и перезагрузили сервер xinetd через который работает tftp.

Теперь нам понадобиться папка с диска AltLinux Master, которая называется isolinux.

Полностью копируем папку в

откроем папку isolinux, найдём папку pxelinux.cfg и файл pxelinux.o

перекопируем их в папку

переименуем папку isolinux например в master

Файл default из папки pxelinux.cfg редактируем следующим образом

default altmaster
prompt 1
timeout 30

label altmaster
kernel ../master/alt0/vmlinuz
append initrd=../master/alt0/full.cz xdriver=auto ramdisk_size=65536 lang=ru_RU vga=0x314 splash=silent splashcount=17 showopts automatic=method:nfs,network:dhcp,server:192.168.0.1,directory:/srv/boot

где то что стоит после слова append должно быть на одной строке (т. е. enter жать не надо)

192.168.0.1 — адрес нашего компьютера (у вас может быть другим)

/srv/boot — папка на нашем компьютере, которую мы создадим в недалёком будущем, и в ней разместим файлы нашего дистрибутива.

Итак папка /srv в корневом разделе существует, внутри неё создадим папку boot и скопируем в него содержимое нашего диска AltLinux Master.

Третья программа которая нам необходима — это NFS — server. Она необходима для того чтобы открыть доступ к папке /srv/boot. Установим Synaptic -ом.

#chkconfig nfs on

поместим в автозагрузку

В нём прописываем путь до нашей папки с параметрами

перезагружаем nfs сервер командой

#service nfs restart

Запускаем программу для работы nfs которая называется portmap командой

#service portmap start

и помещаем программу в автозагрузку

#chkconfig portmap on

Настраиваем компьютеры на которые требуется установка на загрузку из сети и работаем

Примечание1: допустим нам нужно установить AltLinux Lite, тогда нам необходим первый диск.

Копируем его в папку например /srv/bootlite

Добавляем путь до него в файл /etc/exports с теми же параметрами

перезагружаем nfs сервер

С диска берём папку syslinux и копируем в папку /var/lib/tftpboot

переименовываем папку в lite

в файл /var/lib/tftpboot/pxelinux.cfg/default добавляем

label altlite
kernel ../lite/alt0/vmlinuz
append initrd=../lite/alt0/full.cz xdriver=auto ramdisk_size=65536 lang=ru_RU vga=0x314 splash=silent splashcount=17 showopts automatic=method:nfs,network:dhcp,server:192.168.0.1,directory:/srv/bootlite

не забывая что после слова append всё должно быть в одной строчке

На компьютере где производится установка после строчки boot: вводим altlite и жмём Enter.

Примечание2:допустим нам нужно установить AltLinux пятой платформы, тогда нам необходим установочный диск .

Копируем его в папку например /srv/boot5

Добавляем путь до него в файл /etc/exports с теми же параметрами

перезагружаем nfs сервер

С диска берём папку syslinux и копируем в папку /var/lib/tftpboot

переименовываем папку в five

в файл /var/lib/tftpboot/pxelinux.cfg/default добавляем

label five
kernel ../five/alt0/vmlinuz
append initrd=../five/alt0/full.cz xdriver=auto ramdisk_size=65536 lang=ru_RU vga=0x314 splash=silent splashcount=17 showopts
automatic=method:nfs,network:dhcp,server:192.168.0.1,directory:/srv/boot5

не забывая что после слова append всё должно быть в одной строчке

На компьютере где производится установка после строчки boot: вводим five и жмём Enter.

Примечание3: AltLinux Lite 5.0 идёт на двух дисках которые являются обязательными поэтому затруднена установка по сети

  • Блог пользователя ПРИВЕТ
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Не хочет

Не хочет работать.
После того как произошло присваивание адаптеру адреса загрузка останавливается на окне Sending DHCP request. Сообщение висит около минуты затем появляется No DHCP reply received далее выходитс список вариантов установки. Я не пониманию зачем отправлять запрос к DHCP серверу если адрес сетевой карточке уже присвоен.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Сегодня

Сегодня поставил пятый Школьный сервер. Делал все пошагово, как описано в статье. В итоге все тоже самое. IP -адрес присваивается адаптеру в самый первый момент загрузки. После этого запускается загрузчик. И все зависает на прогрессбаре заставки школьного мастера. Нажав клавишу Esc, я вижу все тоже сообщение.
Судя по http://xgu.ru/wiki/PXE проблема в получении IP адреса уже самим ядром. Интересно, после получения, он будет таким-же как и полученный адаптером?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

MAC адрес

у каждой карточки есть свой mac адрес, а нужно получить ещё и ip адрес!
По видимому не работает DHCP-сервер, либо он блокируется брандмауэром, хотя врядли!
Что выдаёт при перезагрузке DHCP-сервера?
Всё это вы проделали на Школьном сервере?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

А дополнительные комментарии ПРИВЕТа

ниже вы смотрели? там есть дополнительные изменения к статье

Настройка сети через терминал в Ubuntu

Тут мы рассмотрим автоматическую настройку сети для Ubuntu 16.04 без Network Manager с помощью стандартных скриптов системы, которые остались от Upstart и пока всё ещё используются. Давайте сначала определим, какие шаги нам нужно предпринять, чтобы всё заработало:

  • Включаем сетевой интерфейс и подключаемся к сети;
  • Устанавливаем IP-адрес;
  • Получаем адреса DNS-серверов.

Собственно, готово. Эти шаги очень символичны, потом что система всё сделает за нас сама. Нам нужно только выполнить нужные настройки. Но сначала давайте посмотрим, какие сетевые интерфейсы подключены к системе. Мне нравится команда:

Но если хотите, можете использовать ifconfig:

В нашей системе только один интерфейс — это enp0s3, есть еще lo, но он виртуальный и указывает на эту машину.

Настройки сети находятся в файле /etc/network/interfaces.

Нас будут интересовать в этом файле строчки auto и iface. Первая указывает, что нужно активировать интерфейс при загрузке, вторая же определяет настройки самого интерфейса.

Настройка динамического получения IP-адреса

Добавьте в этот файл такие строки, чтобы запускать интерфейс при загрузке и получать IP-адрес автоматически по DHCP:

auto enp0s3
iface enp0s3 inet dhcp

Синтаксис строки auto прост. Он состоит из самой команды и имени сетевого интерфейса. Рассмотрим подробнее:

$ iface интерфейс inet тип

Тип получения IP-адреса может иметь несколько значений, но нас в этой статье будут интересовать только два: dhcp и static.

После завершения настройки сохраните файл и перезапустите сетевой сервис:

sudo service networking restart

Всё, если сетевой кабель подключён, и вы всё сделали правильно, Сеть будет работать.

Настройка статического адреса Ubuntu

При настройке статического IP-адреса компьютер не будет связываться с DHCP-сервером, поэтому здесь придётся указать намного больше параметров.

Содержимое нашего конфигурационного файла будет выглядеть вот так:

auto eth0
iface eth0 inet static
address 192.168.1.7
gateway 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

С первыми двумя строчками все понятно, а следующие задают параметры настройки интерфейса:

  • address — наш IP-адрес;
  • gateway — шлюз, через который будем получать доступ в интернет;
  • netmask — маска сети;
  • network — адрес сети, имеет тот же адрес, что и шлюз, только с нулем вместо единицы;
  • broadcast — широковещательный адрес сети, отправленный на него пакет придет всем компьютерам локальной сети.

Как видите, network и broadcast — это первый и последний IP-адреса сети. Теперь сохраните файл и перезапустите сеть:

sudo service networking restart

Если все параметры были указаны правильно, всё будет работать. Но если допущена хоть одна ошибка, доступ к сети вы не получите.

Это была автоматическая настройка локальной сети Гbuntu, но я ещё расскажу, как всё сделать вручную, без конфигурационных файлов.

Myx.Ostankin

Немножко философских размышлений

Понятие «инсталляционный диск» постепенно уходит в прошлое. Действительно, зачем нужен инсталляционный диск, если есть скоростной безлимитный Интернет, позволяющий, не сходя с места, скачать самую последнюю версию программы и тут же ее установить? А поскольку скоростной Интернет потихоньку становится явлением уже почти повсеместным, то и онлайн-дистрибутивы набирают все бо́льшую и бо́льшую популярность, вытесняя диски в коробочках.

Немножко особняком здесь стоят операционные системы. Действительно, скачать и установить обычную программу несложно: компьютер с работающей операционной системой и сайт покажет, и инсталлятор скачает, и установит. Пользователю нужно только кнопочки Yes да Next нажимать время от времени. А вот как установить саму операционку, да еще и на чистый компьютер? Раньше без специальной загрузочной дискеты было не обойтись. Причем даже когда операционки стали распространяться на компакт-дисках, все равно нужна была работающая операционка, которая могла бы создать загрузочную дискетку с образа, расположенного на компакт-диске. Потом появились загрузочные компакт-диски, и процесс установки стал значительно легче: всунул диск, включил компьютер, инсталлятор сам запустился, нашел все диски, спросил, куда будем ставиться — и понеслась.

Но диски тоже потихоньку сходят с арены, уступая более компактным и надежным (а в последнее время еще и более объемным) USB-флешкам.
И хотя сейчас CD/DVD-привод пока еще есть практически в каждом компьютере, многие ноутбуки (а в особенности — нетбуки) уже жертвуют этой громоздкой железякой для экономии места. Действительно, а зачем он нужен, если все необходимое можно скачать через Интернет, в крайнем случае — передать через флешку?

Читать еще:  Установка водяного охлаждения на компьютер

Вопрос кажется риторическим — но ровно до тех пор, пока на такой ноутбук не потребуется поставить операционку. И первыми, надо полагать, с этой проблемой сталкиваются производители и продавцы — в самом деле, надо же как-то на продаваемые ноутбуки ставить предустановленную Windows операционную систему, и хотелось бы делать это с минимальными трудозатратами. Вот тут на помощь и приходит технология инсталляции по сети.

На самом деле, технология запуска рабочей станции по программе, загружаемой из локальной сети, не так уж и нова — ей уже лет тридцать, но до сих пор она использовалась преимущественно коммуникационными железками вроде маршрутизаторов или мини-АТС. Видимо, как раз нетбуки и стали тем спусковым крючком, который породил спрос на включение в материнские платы возможность установки операционной системы путем скачивания инсталлятора с сервера. А что — удобно: подключил к специальному загрузочному серверу несколько десятков ноутбуков (на сколько портов хватило), сервер раздал каждому по загрузчику, операционка сама поставилась, ноутбуки готовы к продаже, подключаем следующую партию. Вот оно, массовое производство.

Эволюция материнских плат

А раз уж такая функция появилась на ноутбучных материнках, то почему бы ей не появиться и на обычных — чипсеты-то везде одинаковые. Вообще, эволюция материнских плат — прелюбопытнейшая вещь. Первые материнки, которые я застал, без дополнительных устройств могли подключать разве что только клавиатуру и мышь. Даже жесткий диск к ним подключать напрямую было нельзя — нужно было ставить специальную плату с дисковыми контроллерами, называемую «мультипортовой платой». Но это было настолько давно, что неудивительно, что нынешний пятнадцатилетний мальчик, перерыв весь Интернет, так и не смог найти внятное объяснение, что же такое «мультяшка — байты растеряшка» — еще бы, явление прекратило существовать примерно в первый год его жизни, поскольку к этому времени практически все материнки содержали встроенный контроллер дисков.

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

И вот, современные материнки уже настолько умны, что они в момент включения могут сами отыскать в локальной сети сервер, который скажет им, что нужно запустить. Причем на компьютере может не быть ни одного диска — все необходимые инструкции и программы будут также получены по сети.

От теории к практике

Недавно мне довелось попробовать это все на личном опыте. Я устанавливал Debian Linux на свой домашний сервер. И, поскольку материнка поддерживает старт через сеть, я решил, что этим грех не воспользоваться. В теории все выглядит очень заманчиво: при включении компьютера крохотный инсталлятор скачивается с соседнего компьютера, после чего инсталлятор выходит в Интернет и скачивает последнюю-распоследнюю версию операционки (т.е. не надо никаких сервиспаков, обновлений, драйверов и прочей фигни). Пользователю остается только выбрать режим установки, указать, куда поставить систему, какие компоненты ставить — в общем, стандартный набор простейших действий.

В конечном итоге у меня все получилось, хотя грабли я собрал, кажется, все, какие только возможно — в процессе даже возникала крамольная мысль: «а не проще ли скачать образ DVD и поставить с него?». Но в итоге все трудности были успешно преодолены, а о встреченных граблях мне хотелось бы рассказать — вдруг кому будет полезно.

Итак, топология сети проста и незатейлива, как и в большинстве домов, где больше одного компьютера: роутер, раздающий интернет, к нему подключены два компа (мой и Юлькин), и туда же был воткнут сервер. Теперь задача: один из компов (очевидно, мой) должен стать устройством, с которого сервер получит инсталлятор Линукса.

Почитав мануалы, я узнал, что загрузка осуществляется по протоколу TFTP. TFTP — это упрощенный FTP, там нет авторизации и есть только две команды: get и put. Гугл мне подсказал, что в винде встроенного TFTP-сервера нет, но его можно установить в виде отдельной приблуды под названием Tftpd32. Скачал, установил. Убедился, что команда tftp localhost put aaa.txt действительно заливает файлик aaa.txt из текущего каталога в рабочий каталог Tftp32. «Полдела сделано», — подумал я оптимистично и распаковал в рабочий каталог файлы инсталлятора Debian.

А дальше началось самое веселое — нужно было как-то дать понять стартующему серверу, куда лезть за загрузчиком. Сначала я наивно подумал, что он сам просканирует сеть и найдет там TFTP-сервер. Надо ли говорить, что ничего подобного не случилось. Включившись, сервер некоторое время показывал мне вот такую надпись:

после чего добавил:

На этом загрузка по сети закончилась.

Ну, логично, подумал я. В настройках Tftp32 есть вкладка DHCP, и там есть поле Boot File — куда, очевидно, надо вписать pxelinux.0 (это имя загрузчика, я узнал об этом из мануала по установке Debian). Но вот что меня смущало: то, что это поле находится во вкладке DHCP означает, что Tftpd32 должен выступать еще и в роли DHCP-сервера? Так у меня уже есть один, на роутере, зачем мне еще один?

Но поскольку поле Boot File попросту не прописывалось без прочих настроек, очевидно было, что Tftpd32 все-таки придется сделать DHCP-сервером. Получается, «кто девушку ужинает, тот ее и танцует» — т.е. кто айпишник выдал, тот и инструкции по загрузке выдает, иначе никак.

Мне очень не хотелось отключать DHCP на роутере, поэтому я попробовал прямо так — а вдруг не подерутся? Но они, естественно, подрались. Ладно, выставил на всех компах статические адреса, отключил DHCP на роутере, попробовал заново. Включаю опять сервер — кажется, дело сдвинулось с мертвой точки. Tftp32 даже написал, что у него запросили файлик pxelinux.0, и показал прогресс-бар загрузки. который замер на нуле и больше не двигался.

Еще поползал по Интернету, покурил различные мануалы. Осознал, что старт происходит не просто по протоколу TFTP, а по некоей его модификации под названием PXE. Нашел в настройках Tftpd32 неприметную галочку PXE Compatibility. Поставил. Еще раз стартовал сервер. Опять ничего не грузится: No boot filename received.

Оказывается, Tftpd32 после каждого изменения настроек сбрасывает рабочий каталог на каталог по умолчанию (тот, куда он сам установился). Я выругался, вернул каталог на место и снова стартовал сервер. Помогло. Пискнув, сервер гордо отобразил экран инсталлятора Debian Linux.

Облегченно вздохнув и мысленно возликовав, я начал установку. Все вроде бы шло как по маслу, но когда мне предложили выбрать адрес зеркала, с которого будет вестись установка, я столкнулся с очередной проблемой. Какое бы зеркало я ни выбрал, я получал одну и ту же ошибку:

Squeeze — это кодовое название версии Debian 6.0 — самой актуальной на данный момент. Ну не может такого быть, чтобы она нигде не поддерживалась! Более того, слазив по адресу ftp://ftp.us.debian.org/debian/dists/squeeze, я убедился, что этот каталог вполне себе существует и доступен. Явно это у меня где-то очередной косяк.

Самое странное, что в Интернете я не нашел четкого описания причин этой проблемы, но, чуть-чуть подумав, допер сам. Ошибка возникает при попытке инсталлятора исполнить команду wget -q http://ftp.uk.debian.org/debian//dists/squeeze/Release -O — | grep -E ‘^(Suite|Codename):’. Причина ошибки не анализируется, поэтому отсутствие конкретного файла и недоступность всего зеркала целиком трактуются одинаково — т.е. даже если зеркало недоступно целиком, пользователь получит вводящее в заблуждение сообщение, мол, «на данном зеркале твоя версия не поддерживается».

А причиной недоступности, очевидно, было то, что я в настройках DHCP в Tftpd32 забыл указать адрес DNS-сервера — поэтому загрузчик не мог разрешить ни одного доменного имени, и, как следствие, не мог достучаться ни до одного зеркала. После того, как я эту проблему исправил, инсталляция прошла успешно.

Шаг 1: Системные требования

Для работы 3CX достаточно сервера или виртуальной машины с одним (1) процессорным ядром и одним (1) Гб ОЗУ. Ознакомьтесь с рекомендованными требованиями к аппаратному обеспечению и, при необходимости, выделите дополнительные ресурсы ЦПУ и ОЗУ в зависимости от следующих факторов:

  • Планируемое количество одновременных вызовов в системе.
  • Количество активных пользователей — 100 пользователей, интенсивно работающих в веб-клиенте, отличаются от 100 звонков, периодически совершаемых с IP-телефонов.
  • Запись разговоров — оказывает нагрузку на систему из-за микширования аудиопотоков и записи на диск.

Ubuntu → Установка Ubuntu по сети (DHCP, PXE, boot-menu) / На примере Ubuntu 14.04

Уже довольно давно, мной была написана статья о сетевой установке Ubuntu, по локальной сети, без использования различных носителей, только загрузка по PXE и все. В этот раз я решил обновить статью и сделать ее ближе к современным реалиям, а главное, расширить функционал. Все будет выполняться на примере Ubuntu 14.04!

Под разные требования, должны быть и разные решения, главная загвоздка в том, что зачастую, нам требуется не одна операционная система, а несколько. Вот я и решил написать на эту тему статью. С предыдущей статьей, можно ознакомиться по ссылке, Установка Ubuntu по сети.
Главная идея заключаться в том что у нас появится возможность, выбирать какую операционную систему мы будем устанавливать, а также ее разрядность, фактически, у нас появится меню загрузки, после загрузки системы по локальной сети.
Все это мы реализуем, на примере, только что вышедшей Ubuntu 14.04

Для тех кто не понял, все затевается ради того чтобы появилась возможность выбора, какую операционную систему устанавливать, а также ее разрядность т.е. должно появиться меню где будут представлены все ОС доступные для установи по сети, которое будет иметь следующий вид:

Для работы нам понадобится:

Обязательно!
1) Настроенный шлюз, для примера, воспользуйтесь статьей: Настройка шлюза локальной сети, на базе Ubuntu
2) DHCP сервер, для примера, можно воспользоваться статьёй: Настройка DHCP сервера под управлением Ubuntu
3) Настроенный TFTP сервер, загружающий PXE загрузчик, воспользоваться статьёй: Настройка PXE Boot меню с мемтестом и паролями

Опционально!
3) Дополнительным, но не обязательным моментом, может быть настроенный DNS сервер, пример есть в статье Настройка DNS сервера для локальной сети

Предполагается что у вас настроен шлюз, DHCP, TFTP севрер, а также добавлено меню загрузки PXE т.к. на этом моменте я останавливаться не буду.

Переходим к настройке инсталлируемой системы.

Для начала мы создадим пункт установки для Ubuntu 14.04×86, для чего нам понадобится установочный диск соответствующей разрядности. Нам его необходим скачать и примонтировать, для того чтобы извлечь файлы загрузчика инасталятора системы.
Т.к. файл сетевого загрузчика у нас лежат в директории директории /var/lib/tftpboot/ откуда они и подтягиваются TFTP сервером, то в ней нам нужно создать директорию Ubuntu, чтобы в нее сложить файлы с дисков установки, сделаем это:

Читать еще:  Код ошибки 0x80070057 при установке Windows 7

В директории Uubntu мы создаем дополнительные директории для файлов загрузчика инсталлятора ОС для x86 разрядных систем и ADM64-соответсвенно.

Теперь нам требуется скачать установочный диск посмотреть можно тут mirror.yandex.ru/ubuntu-releases/14.04/
Мы качнем версию х86 для сервера т.к. она меньше весит

После завершения закачки ISO образа, нам нужно его смонтировать, чтобы извлечь нужные нам файлы, а для этого, в директории /media мы создадим директорию iso, давайте сделаем это:

Монтируем образ диска в эту директорию:

Система выдаст что диск смонтирован в режиме чтения:

mount: warning: /media/iso/ seems to be mounted read-only.

Идем забирать загрузчик и ядро инсталятора:

Нас интересуют 2 файла linux и initrd.gz, которые нам нужно забрать и перенести в директорию /var/lib/tftpboot/ubuntu/x86
давайте скопируем их:

Все, установочный образ нам больше не нужен, для начала отмонтируем его из директории iso:

После этого ISO-образ можно удалить.
Похожие действия проводим для образа установочного диска с разрядностью x64, я не буду расписывать что и куда, просто приведу листинг команд, действия все те же, только пути немного отличаются, там прописано amd64

С файлами установки закончили, теперь настроим PXE меню загрузки.

Настройка меню загрузки PXE

Для начала добавим пункт меню с названием Linux Install, для этого нам нужно отредактировать файл:

В конец файла добавим запись:

Как видно из записи, у нас будет другая страница с выбором дисирибутивов для установки, создадим ее:

Добавим в нее названия пунктов для загрузки с возможностью выбора операционной системы для установки, пока это будет Ubuntu 14.04 x86 и amd64 архитектуры:

На этом настройка закончена, можно подключать клиентскую машину и пытаться загрузиться по PXE, в результате после загрузки системы по сети, у нас появится меню такого вида:

Выбираем то что мы хотим установить, установка начнется автоматически, ну а далее только следовать указаниям инсталятора системы.
Другие операционные системы добавляются аналогичным способом.
На этом, я пожалуй и закончу на сегодня.
Ну и как всегда, если возникли вопросы прошу в комментарии, нашли ошибку пишите в личку ну или на почту.

  • Теги:
  • ubuntu
  • linux
  • pxe
  • network
  • dhcp

21 комментарий

Опционально!
3) Дополнительным, но не обязательным моментом, может быть настроенный DNS сервер, пример есть в статье Настройка DNS сервера для локальной сети

вот это пункт я пропустил, его тоже настраивать?

dnsmasq и на тесте с виндой пашет все норм
а при установки ubuntu дохожу до проверки зеркала архива ubntu затем выдает ошибку проблема с зеркалом архива убунту

Оборудование и Linux.

Получение сведений об оборудовании в командной строке Linux — способы получения сведений о компьютерном оборудовании и практические примеры использования команд dmidecode, lspci,lshw и др.

IPMI – интерфейс управления серверными платформами. — Intelligent Platform Management Interface (IPMI) — интеллектуальный интерфейс управления платформой, предназначенный для автономного мониторинга и управления функциями, встроенными непосредственно в аппаратное и микропрограммное обеспечение серверных платформ. Возможности управления сервером через интерфейс IPMI на примере материнской платы Supermicro X8DTT-IBQF с интегрированным контроллером Nuvoton WPCM450 Baseboard Management Controller с поддержкой IPMI 2.0.

S.M.A.R.T и оценка технического состояния жесткого диска в Linux. — Общие сведения о технологии S.M.A.R.T. Расшифровка атрибутов. Как определить техническое состояние жесткого диска с использованием утилиты smartctl в Linux. Встроенные тесты жестких дисков и примеры их запуска с помощью smartctl.

Автоматическая установка «Astra Linux Special Edition»

Из документации на ОС нами было определено, что такая возможность присутствует, что в принципе ожидаемо для достаточно свежего Дебьян-подобного дистрибутива и разработчики приводят инструкцию как это сделать… Но «гладко было на бумаге». В процессе первоначального знакомства столкнулись с рядом проблем. Но обо всем по порядку. Для реализации задачи нами был выбран dnsmasq в качестве dhcp и tftp сервера и образ netinst с диска Астры. Первое с чем надо определится как будем отдавать репозиторий с пакетами. Как правило, используют http и тут первая особенность, поскольку это защищенная и сертифицированная ОС, то имеющийся сервер Apache — тоже защищен, отсутствует возможность доступа без авторизации (только pam или kerberos). Следовательно, если вы будете использовать другую ОС, в качестве сервера установки, то можно настроить любой http-сервер.

Настройка http-сервера apache для ubuntu’образных

# aptitude install apache2
правим /etc/apache2/httpd.conf добавив следующие строки:
# /media/cdrom — зеркала пакетов (в данном примере cd дистрибутивом)

Options Indexes FollowSymLinks
Allowoverride None

Options Indexes FollowSymLinks
Allowoverride None

Alias /astra «/media/cdrom»
Alias /tftpboot «/srv/ftp/tftp»

# service apache2 restart

  • Проверить через браузер, что указанные каталоги доступны.
  • Настройка vsftpd

    # aptitude install vsftpd

    # mkdir -p /srv/ftp && chmod -R 755 /srv/ftp

    # usermod -d /srv/ftp ftp
    правим файл /etc/vsftpd.conf:
    listen=YES
    listen_ipv6=NO
    anonymous_enable=YES
    anon_root=/srv/ftp/
    local_enable=NO
    write_enable=YES
    local_umask=022
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    dirmessage_enable=YES
    use_localtime=YES
    xferlog_enable=YES
    connect_from_port20=YES
    chroot_local_user=YES
    secure_chroot_dir=/var/run/vsftpd/empty
    pam_service_name=ftp
    rsa_cert_file=/etc/ssl/private/vsftpd.pem

    # service vsftpd restart

    Настройка dnsmasq как dhcp и tftp сервера

    # aptitude install dnsmasq
    правим файл /etc/dnsmasq.conf:
    interface=eth0
    dhcp-range= , , , 24h
    dhcp-option=3,
    enable-tftp
    # /srv/ftp/tftp — путь до корневого каталога tftp сервера
    tftp-root=/srv/ftp/tftp
    # pxelinux.0 это файл из пакета SYSLINUX, входящего в состав образа netinst.
    dhcp-boot=pxelinux.0

    # service dnsmasq restart

    Организация каталога для tftp-сервера

    Копируем в /srv/ftp/tftp из netinst файлы linux (ядро), pxelinux.0, initrd. gz (временная файловая система, используемая ядром при начальной загрузке). Далее, в /srv/ftp/tftp создаем каталог pxelinux. cfg и там делаем файл с именем default (его будет получает целевой компьютер). Данный файл содержит параметры загрузки ядра. В параметре url и указывается файл с ответами на вопросы установщика.

    Пример файла default

    • Для установки базовой системы + рабочего стола Fly добавляем строку: tasksel tasksel/first multiselect Base, Fly
    • не настраиваем сервисы ALD и службу kiosk (служба разграничения доступа к файлам) добавляем следующие строки:
      astra-license astra-license/license boolean true
      krb5-config krb5-config/kerberos_servers string
      libnss-ldapd libnss-ldapd/ldap-base string
      libnss-ldapd libnss-ldapd/ldap-uris string
      libnss-ldapd libnss-ldapd/nsswitch multiselect services
      ald-client ald-client/make_config boolean false
      ald-client ald-client/manual_configure note
      tasksel tasksel/astra-feat-setup multiselect

    Пример файла preseed.cfg

    # настройка клавиатуры
    d-i keyboard-configuration/xkb-keymap select ru d-i console-setup/toggle string Alt+Shift
    d-i languagechooser/language-name-fb select Russian
    d-i countrychooser/country-name select Russia
    d-i keyboard-configuration/toggle select Alt+Shift
    d-i console-setup/fontface select Terminus
    d-i console-setup/ask_detect boolean false
    d-i console-setup/layoutcode string ru d-i console-setup/variant Россия

    # подключение репозиториев
    d-i apt-setup/non-free boolean true
    d-i apt-setup/contrib boolean true

    # выключить показ диалога с WEP ключом.
    d-i netcfg/wireless_wep string

    # настройка зеркала с пакетами
    d-i mirror/protocol string ftp
    d-i mirror/country string manual
    d-i mirror/ftp/hostname string
    d-i mirror/ftp/directory string /astra_repository
    d-i mirror/ftp/proxy string

    # задаёт, установлены или нет аппаратные часы по Гринвичу.
    d-i clock-setup/utc boolean true

    # настройка timezone
    d-i time/zone string Europe/Moscow

    # определяет, нужно ли использовать NTP для установки часов во время установки
    d-i clock-setup/ntp boolean false

    # разбиение диска создание разделов
    d-i partman-auto/method string lvm
    d-i partman-lvm/device_remove_lvm boolean true
    d-i partman-auto/purge_lvm_from_device boolean true
    d-i partman-md/device_remove_md boolean true
    d-i partman-md/confirm_nochanges boolean true
    d-i partman-lvm/confirm boolean true
    d-i partman-auto/choose_recipe select atomic
    d-i partman-md/confirm boolean true
    d-i partman-partitioning/confirm_write_new_label boolean true
    d-i partman/choose_partition select Finish partitioning and write changes to disk
    d-i partman/confirm boolean true
    d-i partman-md/confirm_nooverwrite boolean true
    d-i partman/confirm_nooverwrite boolean true

    # устанавливаемый пакет (мета) с образом ядра; можно указать «none»,
    # если ядро устанавливать не нужно.
    d-i base-installer/kernel/image string linux-image-generic

    d-i passwd/make-user boolean true

    # пароль суперпользователя, любой открытым текстом
    d-i passwd/root-password password password
    d-i passwd/root-password-again password password

    # создать учётную запись обычного пользователя.
    d-i passwd/user-fullname string user
    d-i passwd/username string user

    # пароль обычного пользователя, или открытым текстом
    d-i passwd/user-password password user
    d-i passwd/user-password-again password user

    console-setup console-setup/fontface select Terminus

    # Вы можете указать нужно ли устанавливать non-free и contrib ПО.
    d-i apt-setup/non-free boolean true
    d-i apt-setup/contrib boolean true
    d-i apt-setup/services-select multi-select
    d-i apt-setup/security_host string
    d-i apt-setup/volatile_host string

    # По умолчанию программа установки требует, чтобы репозитории
    # аутентифицировались с помощью известного ключа gpg.
    # Этот параметр выключает данную аутентификацию.
    # Предупреждение: это небезопасно, рекомендуется не делать этого.
    d-i debian-installer/allow_unauthenticated string true

    # установка базовой системы + рабочий стол Fly
    tasksel tasksel/first multiselect Base, Fly

    # отдельные дополнительные пакеты для установки
    d-i pkgsel/include string openssh-server

    # специфичные настройки для Astra Linux
    astra-license astra-license/license boolean true
    krb5-config krb5-config/kerberos_servers string
    libnss-ldapd libnss-ldapd/ldap-base string
    libnss-ldapd libnss-ldapd/ldap-uris string
    libnss-ldapd libnss-ldapd/nsswitch multiselect services
    ald-client ald-client/make_config boolean false
    ald-client ald-client/manual_configure note
    # НЕ настраивать киоск
    #astra-feat-setup astra-feat-setup/feat multiselect kiosk mode
    tasksel tasksel/astra-feat-setup multiselect

    d-i console-cyrillic/toggle select Caps Lock

    # некоторые версии программы установки могут отсылать отчёт
    # об установленных пакетах. По умолчанию данная возможность
    # выключена, но отправка отчёта помогает проекту
    # определить популярность программ и какие из них включать на CD.
    popularity-contest popularity-contest/participate boolean false

    # эту переменную можно безопасно устанавливать, она указывает, что grub
    # должен устанавливаться в MBR,
    # если на машине не найдено другой операционной системы.
    d-i grub-installer/only_debian boolean true

    # это заставляет grub-installer устанавливать в MBR, даже если на машине
    # есть другая ОС, что менее безопасно, так как может привести к отказу
    # загрузки этой другой ОС.
    d-i grub-installer/with_other_os boolean true

    # остановить систему после завершения установки, а
    # не перегружаться в установленную систему.
    d-i debian-installer/exit/halt boolean true

    Некоторые выявленные проблемы

    Большинство изменений сделаны в initrd, под спойлерами команды для разборкисборки initrd.

    Разбираем initrd.gz

    # gunzip initrd. gz

    # sudo gzip initrd

    • изменен usr/share/localechooser/languagelist поддержка русскому языку изменена с 2 на 1. Было ru;2;RU;ru_RU.UTF-8;;console-setup стало ru;1;RU;ru_RU.UTF-8;;console-setup . Без этого при выборе русской локали установка «затыкалась».
    • добавлен модуль dca. ko в lib/modules/3.2.0−27-generic/kernel/drivers/dca/. Без него intel’овские гигабитные адаптеры не «поднимаются» в процессе инсталляции, следовательно качнуть пакеты не представляется возможным.
    • добавлены модули dm-log.ko dm-mirror.ko dm-mod.ko dm-region-hash.ko в lib/modules/3.2.0−27-generic/kernel/drivers/md/. Без них не работали наши сервера, в которых стоит программный RAID (serial ata raid, soft raid).
    • также мы добавили ключи от своего репа spkb-archive-keyring.gpg (он служит зеркалом при установке) в usr/share/keyrings, так как репозиторий нам пришлось модифицировать.

    Причина использования собственного репозитория в качестве зеркала для установки в том, что имеющейся в оригинальном дистрибутиве пакет grub-installer1.70astra.se4_amd64.udeb, содержит ошибку и валится при установке grub на soft&fake raid. Был заменен на grub-installer1.78ubuntu8_amd64.udeb.

    Как видно из данной статьи, количество операций по настройке, довольно велико, и, естественно, нам хотелось этот процесс как-то автоматизировать. Что из этого получилось и как задавать индивидуальные параметры установки по mac-адресам читайте в следующей части.

    Похожие статьи

    ГосJava 2020.3

    Изменения по сравнению с версией 2020.2 Java Runtime Environment Импортированы исправления из OpenJDK 8u262. Закрыты уязвимости: CVE-2020-14583: incomplete interface type checks in Graal compiler (Hotspot, 8236867). CVE-2020-14664: out-of-bounds write in.

    Запуск нескольких экземпляров Tomcat

    Запуск нескольких экземпляров Apache Tomcat Если есть необходимость запуска нескольких экземпляров сервера Apache Tomcat, то стандартные настройки и скрипты запуска не подходят. Ниже приведена инструкция и примеры скриптов для решения.

    ГосJava 2020.2

    Изменения по сравнению с версией 2020.1 Apache Tomcat обновление до версии 8.5.55. Закрыты уязвимости: CVE-2020-9484: возможность выполнения кода на сервере через отправку специально оформленного запроса. Java Runtime Environment Импортированы исправления.

    Ссылка на основную публикацию
    Статьи c упоминанием слов:
    Adblock
    detector