1

Имя хостаКакую команду нужно исполнить
CLIhostnamectl set-hostname CLI
ISPhostnamectl set-hostname ISP
HQ-Rhostnamectl set-hostname HQ-R
HQ-SRVhostnamectl set-hostname HQ-SRV
HQ-CLIhostnamectl set-hostname HQ-CLI
HQ-ADhostnamectl set-hostname HQ-AD
BR-Rhostnamectl set-hostname BR-R
BR-SRVhostnamectl set-hostname BR-SRV
  • Можно представить то что провайдер выдает IP-адреса из приватной подсети 100.64.0.0/10
  • Исходя из задания, требуется подсеть (BRANCH - не более 16), для решения этого задания подойдет подсеть размером /27, в которой содержится 32 адреса и 30 хостов на которые можно распределить IP-адреса.
  • Аналогично с заданием выше, требуется (HQ - не более 64), подойдет подсеть размером /25, в которой содержится 32 адреса и 30 хостов на которые можно распределить IP-адреса.
Таблица №1
Имя устройстваIP
CLI100.64.3.1/24
ISP100.64.1.1/24, 100.64.2.1/24
HQ-R100.64.1.2/24, 192.168.0.1/25
HQ-SRV192.168.0.2/25
HQ-CLIDHCP
HQ-ADDHCP
BR-R100.64.2.2/24, 192.168.1.1/27
BR-SRV192.168.1.2/27
Для того чтобы выдать адреса виртуальным машинам необходимо открыть файл:
nano /etc/network/interfaces

И внести подобные правки под каждую виртуальную машину:

auto (Может быть eth0-*)
    iface (Может быть eth0-*) inet static
        address (IP-адресс хоста)
        gateway (IP-адресс роутера обозначеного *-R)

Сейчас необходимо выполнить пункт который не описывается заданием, но который необходимо выполнить чтобы была возможность выполнить скачивать пакеты и иметь доступ к сети интернет из виртуальных машин. Требуется установить пакет iptables, при помощи которого будет настроен NAT на IPS и *-R

apt install iptables

После установки iptables, требуется отредактировать файл конфигурации сети (команда ниже) и добавить две строки:

nano /etc/network/interfaces
post-up   iptables -t nat -A POSTROUTING -s 'ЛокальнаяСетьЗоны' -o eth* -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s 'ЛокальнаяСетьЗоны' -o eth* -j MASQUERADE
  • eth*- при настройке необходимо выбрать интерфейс который смотрит в сторону сети интернет(в случае IPS), а для *-R выбрать интерфейс направленный в сторону ISP
  • ЛокальнаяСетьЗоны - тут необходимо указать локальную сеть в формате 255.255.255.255/32

2

Чтобы настроить внутреннюю динамическую маршрутизацию трафика необходимо установить пакет FRR на VM под названием *-R и ISP, но перед установкой пакета необходимо произвести некоторые настройки:

nano nano /etc/sysctl.conf

В открывшемся файле необходимо раскоментировать строчку #net.ipv4.ip_forward=1, для того чтобы найти ее можно воспользоваться комбинацией клавиш ctrl + w.

Теперь можно произвести установку пакета FRR

apt install frr

После установки необходимо отредактировать файл конфигурации, для этого необходимо:

nano /etc/frr/daemons

И изменить строчку ospfd=no, чтоб получилось ospfd=yes, после чего можно перезагрузить демона и производить дальнейшие настройки

systemctl restart frr

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

ISP

vtush
configure terminal
router-id ***
router ospf
network *** area 0
network *** area 0
network *** area 0
end
write mem

HQ-R

vtush
configure terminal
router-id ***
router ospf
network *** area 0
network *** area 0
network *** area 0
end
write mem

BR-R

vtush
configure terminal
router-id ***
router ospf
network *** area 0
network *** area 0
network *** area 0
end
write mem

3

Для автоматического распределения IP-адресов необходимо настроить DHCP сервер, необходимо установить пакет:

apt install isc-dhcp-server

Отредактировать файл конфигурации:

nano /etc/default/isc-dhcp-server

Необходимо изменить файл конфигурации так, чтоб в строчке INTERFACESv4=, после знака = был указан интерфейс который смотрит в нашу локальную сеть. Теперь необходимо изменить второй файл конфигурации который отвечает за логическую часть, для этого необходимо:

rm /etc/dhcp/dhcpd.conf
nano /etc/dhcp/dhcpd.conf

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

subnet *** netmask *** {
range *** ***;
option routers ***;
}
host HQ-SRV {
hardware ethernet ***
fixed-address ***
}

После внесения всех изменений можно перезагрузить демон DHCP сервера

systemctl restart isc-dhcp-server.service

4

Имя хостаКакую команду нужно исполнить
CLIadduser admin
ISPНе требуется
HQ-Radduser admin; adduser network_admin
HQ-SRVadduser admin
BR-Radduser branch_admin; adduser network_admin
BR-SRVadduser branch_admin; adduser network_admin

5

Чтобы протестировать скорость соединения между ISP <--> HQ-R, необходимо установить Iperf3 и запустить его в двух режимах клиента/сервера, чтобы этого добиться необходимо: Установить Iperf3

apt install iperf3

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

iperf3 -s

Теперь необходимо подключиться к серверу с стороны клиента HQ-R

iperf3 -c 100.64.1.1 -P 8

Вывод который должен получиться по итогу:

root@HQ-R:~# iperf3 -c 100.64.1.1 -P 8
Connecting to host 100.64.1.1, port 5201
[  5] local 100.64.1.2 port 47030 connected to 100.64.1.1 port 5201
[  7] local 100.64.1.2 port 47034 connected to 100.64.1.1 port 5201
[  9] local 100.64.1.2 port 47042 connected to 100.64.1.1 port 5201
[ 11] local 100.64.1.2 port 47044 connected to 100.64.1.1 port 5201
[ 13] local 100.64.1.2 port 47050 connected to 100.64.1.1 port 5201
[ 15] local 100.64.1.2 port 47054 connected to 100.64.1.1 port 5201
[ 17] local 100.64.1.2 port 47068 connected to 100.64.1.1 port 5201
[ 19] local 100.64.1.2 port 47084 connected to 100.64.1.1 port 5201
...
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  3.60 GBytes  3.09 Gbits/sec    0             sender
[  5]   0.00-10.00  sec  3.59 GBytes  3.08 Gbits/sec                  receiver
[  7]   0.00-10.00  sec  3.60 GBytes  3.09 Gbits/sec    0             sender
[  7]   0.00-10.00  sec  3.59 GBytes  3.08 Gbits/sec                  receiver
[  9]   0.00-10.00  sec  3.60 GBytes  3.09 Gbits/sec    0             sender
[  9]   0.00-10.00  sec  3.59 GBytes  3.08 Gbits/sec                  receiver
[ 11]   0.00-10.00  sec  3.60 GBytes  3.09 Gbits/sec    0             sender
[ 11]   0.00-10.00  sec  3.59 GBytes  3.08 Gbits/sec                  receiver
[ 13]   0.00-10.00  sec  3.60 GBytes  3.09 Gbits/sec    0             sender
[ 13]   0.00-10.00  sec  3.59 GBytes  3.08 Gbits/sec                  receiver
[ 15]   0.00-10.00  sec  3.60 GBytes  3.09 Gbits/sec    0             sender
[ 15]   0.00-10.00  sec  3.59 GBytes  3.08 Gbits/sec                  receiver
[ 17]   0.00-10.00  sec  3.60 GBytes  3.09 Gbits/sec    0             sender
[ 17]   0.00-10.00  sec  3.59 GBytes  3.08 Gbits/sec                  receiver
[ 19]   0.00-10.00  sec  3.60 GBytes  3.09 Gbits/sec    0             sender
[ 19]   0.00-10.00  sec  3.59 GBytes  3.08 Gbits/sec                  receiver
[SUM]   0.00-10.00  sec  28.8 GBytes  24.7 Gbits/sec    0             sender
[SUM]   0.00-10.00  sec  28.7 GBytes  24.7 Gbits/sec                  receiver
 
iperf Done.
  1. Также можно провести тестирование пропускной способности в обратную сторону добавив аргумент -R:
iperf3 -c 100.64.1.1 -P 8 -R
  1. Должен получиться подобный вывод:
root@HQ-R:~# iperf3 -c 100.64.1.1 -P 8 -R
Connecting to host 100.64.1.1, port 5201
Reverse mode, remote host 100.64.1.1 is sending
[  5] local 100.64.1.2 port 54364 connected to 100.64.1.1 port 5201
[  7] local 100.64.1.2 port 54376 connected to 100.64.1.1 port 5201
[  9] local 100.64.1.2 port 54392 connected to 100.64.1.1 port 5201
[ 11] local 100.64.1.2 port 54394 connected to 100.64.1.1 port 5201
[ 13] local 100.64.1.2 port 54398 connected to 100.64.1.1 port 5201
[ 15] local 100.64.1.2 port 54406 connected to 100.64.1.1 port 5201
[ 17] local 100.64.1.2 port 54412 connected to 100.64.1.1 port 5201
[ 19] local 100.64.1.2 port 54426 connected to 100.64.1.1 port 5201
...
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  3.87 GBytes  3.32 Gbits/sec    0             sender
[  5]   0.00-10.00  sec  3.86 GBytes  3.32 Gbits/sec                  receiver
[  7]   0.00-10.00  sec  3.83 GBytes  3.29 Gbits/sec    0             sender
[  7]   0.00-10.00  sec  3.82 GBytes  3.29 Gbits/sec                  receiver
[  9]   0.00-10.00  sec  3.88 GBytes  3.33 Gbits/sec    0             sender
[  9]   0.00-10.00  sec  3.87 GBytes  3.32 Gbits/sec                  receiver
[ 11]   0.00-10.00  sec  3.84 GBytes  3.30 Gbits/sec    0             sender
[ 11]   0.00-10.00  sec  3.83 GBytes  3.29 Gbits/sec                  receiver
[ 13]   0.00-10.00  sec  3.87 GBytes  3.32 Gbits/sec    0             sender
[ 13]   0.00-10.00  sec  3.86 GBytes  3.32 Gbits/sec                  receiver
[ 15]   0.00-10.00  sec  3.85 GBytes  3.31 Gbits/sec    0             sender
[ 15]   0.00-10.00  sec  3.85 GBytes  3.30 Gbits/sec                  receiver
[ 17]   0.00-10.00  sec  3.82 GBytes  3.28 Gbits/sec    0             sender
[ 17]   0.00-10.00  sec  3.81 GBytes  3.27 Gbits/sec                  receiver
[ 19]   0.00-10.00  sec  3.87 GBytes  3.32 Gbits/sec    0             sender
[ 19]   0.00-10.00  sec  3.86 GBytes  3.32 Gbits/sec                  receiver
[SUM]   0.00-10.00  sec  30.8 GBytes  26.5 Gbits/sec    0             sender
[SUM]   0.00-10.00  sec  30.8 GBytes  26.4 Gbits/sec                  receiver
 
iperf Done.

При использовании аргумента -R в выводе будет указано Reverse mode, remote host 100.64.1.1 is sending, что означает что Iperf был запущен в обратном режиме.

6

Для выполнения этого пункта задания необходимо:

mkdir /backup
cd /backup
nano backup.sh

В открывшийся файл необходимо добавить следующую строчку:

tar -cvpzf /backup/backup.tar.gz /etc/frr
chmod -x /backup/backup.pl
crontab -e

Выбриваем в качестве редактора nano, и дописываем следующую строчку

0 0 * * 1 /backup/backup.sh

7

nano /etc/ssh/sshd_config
Port 3035
apt install iptables

8

Необходимо ввести комманды:

iptables -A INPUT -s *** -p tcp --dport 3035 -j DROP
iptables -A INPUT -s *** -p tcp --dport 22 -j DROP
iptables-save > /etc/iptables/rules.v4

Продолжение в модуле 2