Установка, настройка TFTP-сервера.



       В данном конкретном примере будет использоваться tftp-сервер tftpd-hpa. Он представляет собой расширенную версию tftpd.

Команда для установки tftpd-hpa:

 

sudo apt-get install tftpd-hpa

 

В процессе установки будет предложено выбрать рабочую директорию. Была выбрана /home/tftpd.

 

Необходимо также изменить файл конфигурации /etc/default/tftpd-hpa

 

TFTP_USERNAME="tftp"

TFTP_DIRECTORY="/home/tftpd"

TFTP_ADDRESS="10.0.0.2:69"

TFTP_OPTIONS="--secure"

 

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

Затем была произведена установка системного загрузчика Syslinux:

 

sudo apt-get install syslinux

 

Некоторые файлы Syslinux будут использоваться для работы PXE. Для этого их надо скопировать в рабочую директорию tftpd-сервера:

 

sudo cp /usr/lib/syslinux/pxelinux.0 /home/tftpd

sudo cp /usr/lib/syslinux/menu.c32 /home/tftpd

sudo cp /usr/lib/syslinux/memdisk /home/tftpd

sudo cp /usr/lib/syslinux/mboot.c32 /home/tftpd

sudo cp /usr/lib/syslinux/chain.c32 /home/tftpd

 

Далее необходимо копировать в рабочую директорию tftpd-сервера файлы установки выбранной операционной системы. В данном случае это будет debian.

Образ .iso был скачан на жесткий диск при помощи команды wget:

wget http://cdimage.debian.org/debian-cd/6.0.6/i386/iso-cd/debian-6.0.6-i386-netinst.iso

 

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

sudo mkdir /mnt/iso

 

Теперь можно подмонтировать образ:

sudo mount -o loop /home/user/debian-6.0.6-i386-netinst.iso /mnt/iso/

 

Затем создать информативные каталоги:

sudo mkdir /home/tftpd/images/

sudo mkdir /home/tftpd/images/debian/

sudo mkdir /home/tftpd/images/debian/6.0.6

И выполнить копирование файлов установки операционной системы:

sudo cp -rfva /mnt/iso/* /home/tftpd/images/debian/6.0.6/

sudo cp -r /mnt/iso/.disk /home/tftpd/images/debian/6.0.6.

 

       PXE.

       После установки и настройки dhcp и tftp сервов можно сказать, что подготовка для сетевой загрузки завершена. В настройках виртуальной машины из списка возможных источников загрузки следует отметить пункт "сеть". Далее, при попытке загрузки по сети, сработает алгоритм PXE:

       -- Получение IP адреса посредством DHCP (помимо адреса, на этом этапе будут переданы сведения о файле загрузчика и адрес tftp-сервера);

       -- Обращение к tftp-серверу;

       -- Выполнение алгоритма загрузки.

 

 


Этап 3. Реализация DMZ.

       Для реализации DMZ текущая сетевая конфигурация должна быть изменена:

vlan 2
vlan 3
vlan 2

Были добавлены рабочие станции XP2 и XP1, а также два сервера MainSrv и MainSrvBackup ( это сервера DMZ). Компоненты сети были распределены по различным виртуальным локальным сетям:

       --vlan2: 192.168.7.0/24, DMZ

       --vlan3: 172.16.2.0/24, (XP1,XP2);

В соответствии с таким планом, была произведена настройка свитча R10:

 

Интерфейс FastEthernet1/0 теперь изменил режим работы на trunk:

 

interface FastEthernet1/0

 switchport mode trunk

 

А интерфейсы, подсоединенные к XP1, XP2, изменили режим работы на access (3):

 

interface FastEthernet1/4

 switchport access vlan 3

 

interface FastEthernet1/2

 switchport access vlan 3

 

Интерфейсы, подсоединенные к DMZ, изменили режим работы на access (2):

 

interface FastEthernet1/5

 switchport access vlan 2

 

interface FastEthernet1/3

 switchport access vlan 2

 

После этого были выполнены настройки маршрутизатора R10:

 

Следует создать новый пул адресов для сети 172.16.2.0:

 

ip dhcp pool 172.16.2.0

network 172.16.2.0 255.255.255.0

default-router 172.16.2.0

dns-server 172.16.0.2

lease 4

 

После этого был создан виртуальный интерфейс:

 

interface FastEthernet0/0.2

 encapsulation dot1Q 2

 ip address 172.16.2.1 255.255.255.0

 ip nat inside

 ip virtual-reassembly

 

Был преобразован список доступа NAT (чтобы NAT выполнялся и клиентской зоне) :

 

ip access-list extended NAT

permit ip 172.16.2.0 0.0.0.255 any


       Настройка и установка отказоустойчивого http-сервиса.

В качестве сервиса, запущенного в DMZ,  был реализован http-сервис, доступность которого не зависела бы только от одной аппаратной платформы. Существует несколько протоколов, при помощи которых можно реализовать данное решение. Один из них – это протокол VRRP (Virtual Router Redundancy Protocol). Этот протокол, в свою очередь, на платформе Debian представлен в нескольких пакетах, например, в VRRPd или в Keepalived. Предпочтение отдано Keepalived , т.к. он стабильнее VRRPd  и позволяет конфигурировать большее число параметров, чем VRRPd . Установить Keepalived можно командой apt-get install keepalived.

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

 

global_defs {

notification_email {

! my@email.address

!my@email.address - адрес куда отправляются сообщения

}

notification_email_from keepalived@serverhame

!keepalived@serverhame - адрес с которого отправляются сообщения

smtp_server localhost

! localhost - сервер через который отправляются сообщения

smtp_connect_timeout 30

}

 

vrrp_instance eth1 {

state MASTER

interface eth1

virtual_router_id 2

priority 100

advert_int 1

smtp_alert

virtual_ipaddress {

192.168.7.10 label eth1:1

}

}

Согласно приведенной выше конфигурации, сервис создаст виртуальный ip-адрес 192.168.7.10 на основе интерфейса eth1:1, и на адрес 224.0.0.18 будет распространять оповещения о номере виртуальной схемы (vrrp_instance) и своем приоритете в этой схеме.

Пример такого оповещения:

IP 192.168.7.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 2, prio 100, authtype none, intvl 1s, length 20

 

Теперь необходимо создать файл с таким же именем на резервном сервере. Его содержание будет следующим:

 

global_defs {

notification_email {

! my@email.address

!my@email.address - адрес куда отправляются сообщения

}

notification_email_from keepalived@serverhame

!keepalived@serverhame - адрес с которого отправляются сообщения

smtp_server localhost

! localhost - сервер через который отправляются сообщения

smtp_connect_timeout 30

}

 

vrrp_instance eth3 {

state BACKUP

interface eth3

virtual_router_id 2

priority 50

advert_int 1

smtp_alert

virtual_ipaddress {

192.168.7.10 label eth3:2

}

}

 

Следует обратить внимание на отличие в порядковых номерах интерфейсов на различных серверах. Как видно из конфигурации, приоритет этой виртуальной схемы ниже, чем у той, которая присутствовала на основном сервере. Это значит, что виртуальный адрес на данном устройстве не будет поднят до тех пор, пока на устройство eth3  не перестанут приходить (по каким-либо причинам) уведомления от основного сервера о наличии на нем виртуальной схемы более высокого приоритета.

Запустить сервис keepalived можно командой service keepalive start.

Ниже приведен пример поднятого виртуального интерфейса:

 

 

После этого нужно убедиться, что на запасном сервере сервис keepalived работает, но виртуальный интерфейс отсутствует. Это значит, что обе схемы работают корректно: уведомления более приоритетной схемы принимаются схемой резервного сервера, предотвращая тем самым поднятия на нем виртуального интерфейса. На этом базовую подготовку к реализации отказоустойчивости можно считать завершенной. Теперь можно приступить к установке веб-сервера. Веб-сервер можно реализовать на apache2. Установить его можно командой apt-get install apache2.

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

ip nat inside source static tcp 192.168.7.10 80 interface Ethernet0/0 80

 

Это правило будет перенаправлять все веб-запросы, пришедшие на внешний интерфейс маршрутизатора Ethernet0/0 на внутренний адрес 192.168.7.10, который представляет группу отказоустойчивых серверов.

Теперь можно проверить работоспособность веб-сервера извне:

 

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


Теперь можно создать условия аварийного отказа основного сервера. Для этого можно разорвать связь основного сервера с главным свитчем:

Теперь можно убедиться в том, что виртуальный интерфейс на резервном сервере поднялся корректно. Команда ifconfig:

 

Можно увидеть, что виртуальный интерфейс был успешно поднят. Также была проверена работоспособность веб-сервера (проверка осуществлялась с внешнего адреса):

 

Для наглядности в веб-страницу была добавлена соответствующая надпись (нижняя).

 


Теперь можно снова восстановить связь:

 

 

Убедиться в том, восстановился ли виртуальный интерфейс на основном сервере можно через открытие веб-страницы:

 

 

Как видно из надписи в нижней части веб-страницы, основной сервер вновь работает.
Этап 4. Тестирование и мониторинг.


Дата добавления: 2023-02-21; просмотров: 16; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!