Установка, настройка 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 текущая сетевая конфигурация должна быть изменена:
|
|
|
Были добавлены рабочие станции 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!