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/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
Имя хоста | Какую команду нужно исполнить | |
---|---|---|
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 /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