Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

858

.pdf
Скачиваний:
0
Добавлен:
21.11.2023
Размер:
157.46 Кб
Скачать

Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования

«Нижегородский государственный архитектурно-строительный университет»

А. И. Домрачев

АДМИНИСТРИРОВАНИЕ СЕРВЕРОВ НА ПЛАТФОРМЕ "UNIX"

Учебно-методическое пособие

по выполнению лабораторных работ для обучающихся по дисциплине «АДМИНИСТРИРОВАНИЕ СЕРВЕРОВ НА

ПЛАТФОРМЕ "UNIX"»

по направлению подготовки 09.04.02 Информационные системы и технологии, профиль Технология разработки информационных систем

Нижний Новгород

2016

Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования

«Нижегородский государственный архитектурно-строительный университет»

А. И. Домрачев

АДМИНИСТРИРОВАНИЕ СЕРВЕРОВ НА ПЛАТФОРМЕ "UNIX"

Учебно-методическое пособие

по выполнению лабораторных работ для обучающихся по дисциплине «АДМИНИСТРИРОВАНИЕ СЕРВЕРОВ НА

ПЛАТФОРМЕ "UNIX"»

по направлению подготовки 09.04.02 Информационные системы и технологии, профиль Технология разработки информационных систем

Нижний Новгород ННГАСУ

2016

УДК

Домрачев А. И./ АДМИНИСТРИРОВАНИЕ СЕРВЕРОВ НА ПЛАТФОРМЕ "UNIX" [Электронный ресурс]: учеб. – метод. пос./ А. И. Домрачев; Нижегор. гос. архитектур. – строит. ун-т – Н. Новгород: ННГАСУ, 2016. - ___ с. 1 электрон. опт.

диск (CD-R)

Приводятся цели, задания и порядок выполнения лабораторных работ, а также контрольные вопросы в конце каждой лабораторной работы.

Предназначено для обучающихся в ННГАСУ по дисциплине «АДМИНИСТРИРОВАНИЕ СЕРВЕРОВ НА ПЛАТФОРМЕ "UNIX"» по направлению подготовки 09.04.02 Информационные системы и технологии, профиль Технология разработки информационных систем.

© А. И. Домрачев © ННГАСУ. 2016.

Лабораторная работа №1. Настройка маршрутизатора.

Цель работы: изучить настройку UNIX маршрутизатора.

В этой работе рассмотрим настройку классической схемы подключения Linux сервера к интернету через Linux маршрутизатор.

Такая схема позволяет использовать 1 IP адрес для подключения к интернету нескольких серверов и управлять доступом к ним через маршрутизатор. В работе необходимо подключиться к серверу за маршрутизатором и настроить на нём параметры сети. В качестве основного шлюза необходимо указать доступный интерфейс маршрутизатора.

На маршрутизаторе необходимо включить маршрутизацию и задать правила для преобразования проходящих через него пакетов. Первое правило - общее для всех серверов - для настройки трансляции адресов из внутренней сети во внешнюю. Второе правило — для каждого сервера в отдельности — правило перенаправления пакетов из внешней сети во внутреннюю. Сервис, для которого будет производиться перенаправление — сервис удалённого управления SSH, который ожидает подключения на 22-м порту TCP.

Команда или файл

Описание

 

 

/proc/sys/net/ipv4/ip_forward

Для включения маршрутизации должен содержать

 

1

 

 

/etc/network/interfaces

Файл, в котором хранятся сетевые настройки

 

 

ssh пользователь@IP-адрес

Подключение по протоколу SSH

 

 

reboot

Перезагрузка компьютера

 

 

route

Просмотр таблицы маршрутизации

 

 

ifconfig

Просмотр сетевых настроек

 

 

iptables -A POSTROUTING –t nat -s

Правило трансляции адресов

адрес-сети-серверов/маска -o имя-

 

внешнего-интерфейса-маршрутизатора

 

-j SNAT --to-source адрес-внешнего-

 

интерфейса-маршрутизатора

 

 

 

iptables -A PREROUTING –t nat -i имя-

Правило перенаправления порта с внешнего

внешнего-интерфейса-маршрутизатора

интерфейса маршрутизатора на сервер.

-p tcp --dport порт-на-внешнем-

 

интерфейсе -j DNAT --to-destination

 

адрес-сервера:порт

 

 

 

netstat -tna

Просмотр открытых TCP портов, ожидающих

 

подключения и установленных соединений.

 

 

iptables-save

Вывод правил Iptables

 

 

sudo команда

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

 

 

iptables -t nat -D POSTROUTING 2

Удалить правило №2 из таблицы nat POSTROUTING

 

 

iptables-restore

Восстановление правил Iptables

 

 

/etc/rc.local

Команды из этого файла выполняются после

 

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

 

 

Задания поработе:

 

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

2.На маршрутизаторе настроить трансляцию адресов. Проверить связь сервера с каким-нибудь компьютером внешней сети.

3.Настроить перенаправление какого-либо порта на внешнем интерфейсе маршрутизатора на порт для удалённого управления сервера. Подключиться из внешней сети к своему серверу.

Вопросы по работе:

1.Что нужно сделать, чтобы в указанной сети с сервера был доступен интернет?

2.Что нужно сделать, чтобы из интернета был доступен сервер?

3.Для чего настраиваются трансляция адресов и перенаправление портов, приведите примеры.

Лаборатораная работа №2. Установка и настройка серверных программ.

Веб сервер будем устанавливать на серверы за маршрутизатором. Поскольку устанавливать программы будем из интернета, то необходимо указать DNS сервер.

Команда, файл или конфигурация

Описание

 

 

ifquery имя-интерфейса

Проверка файла настроек интерфейса

 

 

dns-nameservers адрес-сервера-ДНС

Настройка ДНС в файле конфигурации сети (interfaces)

 

 

dig имя-сервера-интернет

Проверка работы ДНС

 

 

dpkg -l|

Список установленных программ

 

 

apt-get install имя-программы

Установка программы

 

 

/etc/apache2/sites-enabled/000-default.conf

Файл настройки сайта-по-уполчанию

 

 

DocumentRoot

Директива настройки сайта. Путь к HTML-файлам

 

 

service имя-программы-сервера status

Проверка запущен ли сервер

 

 

service имя-программы-сервера restart

Перезапуск программы-сервера

 

 

netstat –tan

Просмотр открытых TCP портов

 

 

<?php phpinfo(); ?>

Содержимое файла index.php, который покажет

 

настройки php

 

 

mysql -u имя_пользователя -p

Подключиться к серверу Mysql из командной строки

 

 

create database имя_БД ;

Создание базы данных

 

 

GRANT ALL PRIVILEGES ON

Создание пользователя mysql

имя_базы_данных.* TO

 

'имя_пользователя'@'адрес_компьютера'

 

IDENTIFIED BY 'пароль' WITH GRANT OPTION;

 

 

 

Задания по лабораторной работе:

 

1.Настроить DNS на своём сервере и проверить его работу.

2.Установить веб сервер ( программа apache2).

3.Сделать веб сервер доступным из сети ННГАСУ путём перенаправления порта с внешнего интерфейса маршрутизатора.

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

5.Установить поддержку PHP в apache2 (программа php5). После установки веб сервер перезапустить.

6.Проверить поддерживает ли веб сервер язык PHP, для чего создать файл index.php, который отобразит настройки PHP.

7.Установить сервер MySql (программа mysql-server)

8.Подключитесь к серверу mysql из командной строки и создайте базу данных

9.Создайте пользователя mysql с возможностью подключения к созданной БД только со своего компьютера (адрес компьютера localhost) и второго пользователя с возможностью подключения к БД из своей подсети (адрес подсети 192.168.0.%).

10.Установите программу поддержки mysql для языка php ( php5-mysql) и перезапустите веб сервер.

11.Скачайте по ссылке http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/4.2.10/phpMyAdmin- 4.2.10-all-languages.tar.bz2 программу Phpmyamin, распакуйте архив и переместите содержимое в каталог веб-сайтов. Зайдите в phpmyadmin и подключитесь к созданной вами базе.

12.Создайте в базе данных любую таблицу и заполните её любыми данными.

Вопросы по работе:

1.Для чего нужен ДНС сервер и как его настроить?

2.Как установить программу?

3.Как проверить установлена ли программа?

4.В какой папке хранятся настройки веб сервера?

5.Как узнать, в какой папке веб сервер хранит HTML и PHP файлы.

6.Какие нужно произвести действия для того, чтобы создать базу дынных Mysql?

7.Как управлять базой данных?

Лабораторная работа 3. Добавление второго жёсткого диска к серверу.

Используемые команды:

Файл, через который происходт обращение к

/dev/sda, /dev/sdb, /dev/sda1, /dev/sdb1,

первому и второму жёстким дискам, затем к

 

их первым разделам

 

 

 

Просмотр информации о жёском диске

fdisk -l файл-для-обращения-к-диску

 

 

Отформатировать диск

mkfs

 

 

Просмотр смонтированных устройств

df -h

 

 

Монтирование нового жёсткого диска

mount каталог файл-для-обращения-к-разделу

 

 

Размонтировать раздел диска.

umount файл-для-обращения-к-разделу

 

 

Просмотр информации о разделах жёстких

parted -l

дисков

 

 

 

Файл, с информацией о том, какие устройства

/etc/fstab

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

 

 

 

Программа для создания разделов на диске

fdisk файл-для-обращения-к-диску

 

 

Увеличить размер ФС до последнего сектора

resize2fs файл-для-обращения-к-разделу

 

 

Проверка файловой системы и исправление

fsck -f файл-для-обращения-к-разделу

ошибок

 

 

 

Проверка файла /etc/fstab

mount -a

 

 

Задания по работе.

 

1.На новом жёстком диске создайте раздел максимального размера.

2.Отформатируйте созданный раздел, используя файловую систему ext3.

3.Смонтируйте новый раздел в каталог /mnt. Запишите на него какие-либо данные.

4.Задайте системе монтировать вновь созданный раздел при загрузке. Сделайте это аналогично с монтированием корневого раздела. Вместо UUID=… укажите файл-для- обращения-к-разделу. После внесения изменений размонтируйте новый диск и проверьте файл /etc/fstab. Новый диск должен смонтироваться.

5.Попросите преподавателя расширить ваш диск и после этого расширьте файловую систему раздела диска. Для этого удалите имеющийся раздел и создайте новый большего размера. Сохраните изменения. Затем расширьте файловую систему. Если диск смонтирован, то его необходимо размонтировать. Пред началом операции и после её окончания

Вопросы по работе:

Знать все используемые команды.

Лабораторная работа 4. Управление сервером по сети. Передача файлов.

Протокол SSH предназначен для создания шифрованного соединения между компьютерами. Это соединение может использоваться для управления компьютером или передачи файлов. Сервер SSH ожидает подключений на порту 22 TCP.

Описание

Команда, файл или параметр настройки

 

 

Клиент SSH для передачи файлов

scp пользователь@адрес:путь папка_назначения

 

 

Создание пары криптографических ключей

ssh-keygen

 

 

Каталог, где хранятся закрытые ключи

Домашний_каталог/.ssh/

 

 

Файл, где хранятся открытые ключи

Домашний_каталог/.ssh/authorized_keys

 

 

Файл, в котором хранятся периодические

/etc/crontab

задачи

 

 

 

Текущая дата

date +формат

 

 

Занести результат команды в переменную

DATA=`date +формат` (без пробелов)

 

 

Использование переменной

FILENAME=/backup/имя_файла_{$DATA}

 

 

tar –czf имя_архива.tar.gz

Создать архив файлов и каталогов

файлы_и_каталоги

 

 

 

mysqldump –uпользователь -pпароль

Создать архив базы данных

имя_базы > файл_архив.sql

 

 

 

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

Для того, чтобы создать задачу по расписанию нужно внести изменения в файл /etc/crontab. Формат файла следующий:

Минуты часы число месяц день_недели пользователь путь_к_файлу_задачи

Все параметры, обозначающие время запуска задаются числом или знаком *, или */число. * означает каждую минуту, час или день. */15 означает раз в 15 минут, часов или дней.

Файл задачи – это сценарий, каждая строка которого представляет собой команду. После создания файла не забывайте дать права на выполнение. Для запуска используйте полный путь к файлу, иначе система будет искать его в каталогах, в которых хранятся исполняемые файлы команд. Путь к текущему каталогу может быть заменён символом точка.

Задания:

1.Сделать так, чтобы с одного узла можно было подключаться к другому узлу, не вводя пароль.

2.Создайте сценарий ежедневного копирования сайта и базы данных с вашего компьютера на другой компьютер в файл /backup/имя_файла_дата

Вопросы:

1.Каким образом копировать файлы между машинами с Linux?

2.Каким образом копировать файлы между машинами, не вводя пароль?

3.Каким образом дать системе задание, которое должно выполняться периодически?

4.Каким образом занести в переменную результат выполнения команды?

5.Каким образом создать бэкап сайта и базы данных?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]