1
| Имя хоста | Какую команду нужно исполнить |
|---|---|
| CLI | hostnamectl set-hostname CLI |
| ISP | hostnamectl set-hostname ISP |
| HQ-R | hostnamectl set-hostname HQ-R |
| HQ-SRV | hostnamectl set-hostname HQ-SRV |
| HQ-CLI | hostnamectl set-hostname HQ-CLI |
| HQ-AD | hostnamectl set-hostname HQ-AD |
| BR-R | hostnamectl set-hostname BR-R |
| BR-SRV | hostnamectl set-hostname BR-SRV |
- Можно представить то что провайдер выдает IP-адреса из приватной подсети 100.64.0.0/10
- Исходя из задания, требуется подсеть (BRANCH - не более 16), для решения этого задания подойдет подсеть размером /27, в которой содержится 32 адреса и 30 хостов на которые можно распределить IP-адреса.
- Аналогично с заданием выше, требуется (HQ - не более 64), подойдет подсеть размером /25, в которой содержится 32 адреса и 30 хостов на которые можно распределить IP-адреса.
Таблица №1
| Имя устройства | IP |
|---|---|
| CLI | 100.64.3.1/24 |
| ISP | 100.64.1.1/24, 100.64.2.1/24 |
| HQ-R | 100.64.1.2/24, 192.168.0.1/25 |
| HQ-SRV | 192.168.0.2/25 |
| HQ-CLI | DHCP |
| HQ-AD | DHCP |
| BR-R | 100.64.2.2/24, 192.168.1.1/27 |
| BR-SRV | 192.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/interfacespost-up iptables -t nat -A POSTROUTING -s 'ЛокальнаяСетьЗоны' -o eth* -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s 'ЛокальнаяСетьЗоны' -o eth* -j MASQUERADEeth*- при настройке необходимо выбрать интерфейс который смотрит в сторону сети интернет(в случае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
vtushconfigure terminal
router-id ***
router ospf
network *** area 0
network *** area 0
network *** area 0
end
write memHQ-R
vtushconfigure terminal
router-id ***
router ospf
network *** area 0
network *** area 0
network *** area 0
end
write memBR-R
vtushconfigure terminal
router-id ***
router ospf
network *** area 0
network *** area 0
network *** area 0
end
write mem3
Для автоматического распределения IP-адресов необходимо настроить DHCP сервер, необходимо установить пакет:
apt install isc-dhcp-serverОтредактировать файл конфигурации:
nano /etc/default/isc-dhcp-serverНеобходимо изменить файл конфигурации так, чтоб в строчке INTERFACESv4=, после знака = был указан интерфейс который смотрит в нашу локальную сеть. Теперь необходимо изменить второй файл конфигурации который отвечает за логическую часть, для этого необходимо:
rm /etc/dhcp/dhcpd.confnano /etc/dhcp/dhcpd.confВажное уточнение почему сначала удаляем файл конфигурации, а потом его заново создаем, в оригинальном файле очень много строчек и все их комментировать можно устать, поэтому в режиме максимальной экономии времени можно поступить именно так.
subnet *** netmask *** {
range *** ***;
option routers ***;
}
host HQ-SRV {
hardware ethernet ***
fixed-address ***
}
После внесения всех изменений можно перезагрузить демон DHCP сервера
systemctl restart isc-dhcp-server.service4
| Имя хоста | Какую команду нужно исполнить | |
|---|---|---|
| CLI | adduser admin | |
| ISP | Не требуется | |
| HQ-R | adduser admin; adduser network_admin | |
| HQ-SRV | adduser admin | |
| BR-R | adduser branch_admin; adduser network_admin | |
| BR-SRV | adduser 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.- Также можно провести тестирование пропускной способности в обратную сторону добавив аргумент
-R:
iperf3 -c 100.64.1.1 -P 8 -R- Должен получиться подобный вывод:
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 /backupcd /backupnano backup.shВ открывшийся файл необходимо добавить следующую строчку:
tar -cvpzf /backup/backup.tar.gz /etc/frrchmod -x /backup/backup.plcrontab -eВыбриваем в качестве редактора nano, и дописываем следующую строчку
0 0 * * 1 /backup/backup.sh
7
nano /etc/ssh/sshd_configPort 3035
apt install iptables
8
Необходимо ввести комманды:
iptables -A INPUT -s *** -p tcp --dport 3035 -j DROPiptables -A INPUT -s *** -p tcp --dport 22 -j DROPiptables-save > /etc/iptables/rules.v4