- Обновим пакеты по необходимости:
sudo apt-get update && sudo apt-get upgrade
- Установим утилиту
sudo apt-get -y install ipcalc
-
- Определили адрес сети с помощью команды
ipcalc 192.167.38.54/13 | grep Network
- Определили адрес сети с помощью команды
-
- Перевод маски 255.255.255.0 в префиксную и двоичную запись
ipcalc 192.167.38.54/255.255.255.0
- Перевод маски 255.255.255.0 в префиксную и двоичную запись
- Перевод /15 в обычную и двоичную
- Перевод 11111111.11111111.11111111.11110000 в обычную и префиксную
-
- Минимальный и максимальный хост в сети 12.167.38.4 при маске /8 - Макс. хост 12.255.255.254, Мин. хост 12.0.0.1
- Минимальный и максимальный хост при маске 11111111.11111111.00000000.00000000 - Макс. хост 12.167.255.254, Мин. хост 12.167.0.1
- Минимальный и максимальный хост при маске 255.255.254.0 - Макс. хост 12.167.39.254, Мин. хост 12.167.38.1
- Минимальный и максимальный хост при маске /4 - Макс. хост 15.255.255.254, Мин. хост 0.0.0.1
-
- which can be public and which private
-
10.0.0.45 - private
-
134.43.0.2 - public
-
192.168.4.2 - private
-
172.20.250.4 - private
-
172.0.2.1 - public
-
192.172.0.1 - public
-
172.68.0.2 - public
-
172.16.255.255 - private
-
10.10.10.10 - private
-
192.169.168.1 - public
-
- Which of the listed gateway IP addresses are possible on the 10.10.0.0/18 network:10.0.0.1 (not possible), 10.10.0.2 (possible), 10.10.10.10 (possible), 10.10.100.1 (not possible), 10.10. 1.255( possible)
- Подняли 2 вирутальные машины ws1 и ws2 в virtualBox
-
С помощью команды ip a посмотрели существующие сетевые интерфейсы.
-
Задали следующие адреса и маски: ws1 - 192.168.100.10, маска /16, ws2 - 172.24.116.8, маска /12
-
Выполнили команду netplan apply для перезапуска сервиса. Выводим таблицу маршрутизации.
-
Добавили статический маршрут от одной машины до другой и обратно при помощи команды вида
ip r add <ip> dev enp0s3 -
Пропинговать соединение между машинами
-
Добавили статический маршрут от одной машины до другой с помощью файла etc/netplan/00-installer-config.yaml
-
Пропинговали соединение между машинами
- Базовой единицей скорости передачи информации является бит в секунду (бит/с). Разница между байтами в секунду (Б/с) и битами в секунду (бит/c) такая же, как разница между байтами (Б) и битами (бит): 1 Б/с = 8 бит/с. Точно так же разница между килобайтами в секунду (КБ/с) и Б/с такая же, как разница между килобайтами и байтами: 1 КБ/с = 1024 Б/с. И так далее.
-
8 Mbps (мегабит в секуду) = 1 MB/s (мегабайт в секунду)
-
100 MB/s (мегабайт в секунду) = 800 000 Kbps (килобит в секунду)
-
1 Gbps (гигабит в секунду) = 1 000 Mbps (мегабит в секунду)
-
Измерили скорость соединения между ws1 и ws2. Перед этии установили утилиту ipref3 командой
sudo apt-get install iperf3
-
iptables — это утилита брандмауэра командной строки, которая использует цепочки политик для разрешения или блокировки трафика. Когда соединение пытается установиться в системе, iptables ищет правило в своем списке, чтобы сопоставить его. Если утилита не находит нужного правила, она прибегает к действию по умолчанию.
-
Подсистема iptables и Netfilter уже достаточно давно встроена в ядро Linux. Все сетевые пакеты, которые проходят через компьютер, отправляются компьютером или предназначены компьютеру, ядро направляет через фильтр iptables. Там эти пакеты поддаются проверкам и затем для каждой проверки, если она пройдена выполняется указанное в ней действие. Например, пакет передается дальше ядру для отправки целевой программе, или отбрасывается.
-
Переходим в кореневой каталог
cd
-
Создаем файл
/etc/firewall.sh, имитирующий фаерволл, наws1иws2с помощью команды
- Добавляем в файл следующие правила согласно задания:
sudo nano /etc/firewall.sh
-
- на
ws1применить стратегию когда в начале пишется запрещающее правило, а в конце пишется разрешающее правило (это касается пунктов 4 и 5).
- на
-
- на
ws2применить стратегию когда в начале пишется разрешающее правило, а в конце пишется запрещающее правило (это касается пунктов 4 и 5).
- на
-
- открыть на машинах доступ для порта 22 (ssh) и порта 80 (http).
-
- запретить echo reply (машина не должна "пинговаться”, т.е. должна быть блокировка на OUTPUT).
-
- разрешить echo reply (машина должна "пинговаться").
-
Запустим файлы на обеих машинах командами
- Разница между стратегиями, применёнными в первом и втором файлах, заключается в следующем: в утилите
iptablesправила выполняются сверху вниз. На первой машине первым указано запрещающее правило на выход, поэтому она не сможет пропинговать другую машину. У второй машины, наоброт - первым указано разрешающее правило, значит она сможет пропинговать другую машину.
-
nmap - это очень популярный сканер сети, для исследования сети и аудита безопасности. Он имеет открытый исходный код, который может использоваться как в Windows, так и в Linux.
-
Эта программа помогает системным администраторам очень быстро понять какие компьютеры подключены к сети, узнать их имена, а также посмотреть какое программное обеспечение на них установлено, какая операционная система и какие типы фильтров применяются.
-
Этот инструмент обычно используется хакерами и энтузиастами кибербезопасности, а также сетевыми и системными администраторами. Он используется для следующих целей:
- информация о сети в режиме реального времени;
- подробная информация обо всех IP-адресах, активированных в вашей сети;
- количество открытых портов в сети;
- предоставить список живых хостов;
- сканирование портов, ОС и хостов;
- посмотреть типы применямых фильтров. Например, с помощью скриптов можно автоматически обнаруживать новые уязвимости безопасности в сети. Чаще всего nmap используется для сканирования системы по имени хоста или IP-адресу. Одной из особенностей nmap является то, что эта утилита может определить, включен ли хост, даже если его нельзя пропинговать.
4.2.1 Поиск машины, которая не "пингуется"
- Запускаем утилиту
nmapкомандой (для проверки ищем в выводе nmap наличие строки Host is up)
-
Set up the machine configurations in etc/netplan/00-installer-config.yaml according to the network in the picture.
-
etc/netplan/00-installer-config.yaml
-
To enable IP forwarding, run the following command on the routers:
sysctl -w net.ipv4.ip_forward=1 -
With this approach, the forwarding will not work after the system is rebooted.
-
Add a screenshot with the call and output of the used command to the report
-
r1:
-
r2:
`net.ipv4.ip_forward = 1`
*r2:
-
Configure the default route (gateway) for the workstations. To do this, add default before the router's IP in the configuration file
-
Add a screenshot of the etc/netplan/00-installer-config.yaml file to the report.
-
ws11:
-
ws21
-
ws22
Ping r2 router from ws11 and show on r2 that the ping is reaching. To do this, use the tcpdump -tn -i eth1
- Add static routes to r1 and r2 in configuration file. Here is an example for r1 route to 10.20.0.0/26
# Add description to the end of the eth1 network interface:
- to: 10.20.0.0
via: 10.100.0.12
The default route has a lower priority and is triggered when no suitable route is found in the routing table. 0.0.0.0/0 is a non-routable address that can be used for a variety of purposes, mainly as a default address or a placeholder address. The default route has a lower priority and is triggered when no suitable route is found in the routing table. We created a rule for network 10.10.0.0, and the created route is used accordingly. You can also set a metric to change route priorities.
Для установки утилиты на ws11 используем команду
sudo apt install traceroute
-
Run the
tcpdump -tnv -i eth0dump command on r1 -
The output of the used commands (tcpdump and traceroute)
First the data goes to the eth0 interface of the r1 router, then it gets routed to the second router using eth0 interface of r2 and finally gets routed to destination 10.20.0.10.
-
Run on r1 network traffic capture going through eth0 with the
tcpdump -n -i eth0 icmpcommand. -
Ping a non-existent IP (e.g. 10.30.0.111) from ws11 with the
ping -c 1 10.30.0.111command. -
Сохранить дампы образов виртуальных машин p.s. Ни в коем случае не сохранять дампы в гит!
-
First step it to install DHCP server:
apt install isc-dhcp-server -
For r2, configure the DHCP service in the
/etc/dhcp/dhcpd.conffile:
-
Reboot the ws21 machine with
rebootand show withip athat it has got an address. -
ping ws22 from ws21
-
Specify MAC address at ws11 by adding to etc/netplan/00-installer-config.yaml:
macaddress: 10:10:10:10:10:BA, dhcp4: true
-
Сonfigure
r1the same way asr2, but make the assignment of addresses strictly linked to the MAC-address(ws11). -
Run the same tests
ip a: -
Also ping
r1fromws1:
-
Describe in the report what DHCP server options were used in this point.
-
Option routers [10.0.0.0,...]the routers option specifies a list of IP addresses for routers on the client's subnet. Routers should be listed in order of preference -
Option domain-name-servers [10.0.0.0, ...]domain-name-servers option specifies a list of Domain Name System (STD 13, RFC 1035) name servers available to the client. Servers should be listed in order of preference. -
Сохранить дампы образов виртуальных машин p.s. Ни в коем случае не сохранять дампы в гит!
- To work with the apache2 server, install it on machines r1, r2 and ws22. Perhaps apache2 will not install, then maybe updating the system will help (see below).
sudo apt install apache2
- Обновление системы(Updata)
-
sudo apt update -
sudo apt upgrade
-
In /etc/apache2/ports.conf file change the
line Listen 80toListen 0.0.0.0:80on ws22 and r1, i.e. make the Apache2 server public -
r1:
-
ws22:
-
Start the Apache web server with
service apache2 startcommand on ws22 and r1
-
delete rules in the filter table -
iptables -F -
delete rules in the "NAT" table -
iptables -F -t nat -
drop all routed packets -
iptables --policy FORWARD DROP
-
Run the File as in Part4
-
Check the connection between ws22 and r1 with the ping command
-
- allow routing of all ICMP protocol packets
- Check connection between
ws22andr1with thepingcommand
-
Add two more rules to the file:
-
- enable SNAT, which is masquerade all
local ipfrom the local network behindr2(as defined in Part 5 -network 10.20.0.0)
- enable SNAT, which is masquerade all
-
Tip: it is worth thinking about routing internal packets as well as external packets with an established connection
6) enable DNAT on port 8080 of r2 machine and add external network access to the Apache web server running on ws22
-
Tip: be aware that when you will try to connect, there will be a new tcp connection for
ws22andport 80 -
Run the file as in Part 4
-
Before testing it is recommended to disable the NAT network interface in VirtualBox (its presence can be checked with ip a command), if it is enabled
-
Check the TCP connection for SNAT by connecting from ws22 to the Apache server on r1 with the
telnet 10.10.0.1 80command -
Check the TCP connection for DNAT by connecting from r1 to the Apache server on ws22 with the
telnet 10.100.0.12 808 -
Save dumps of virtual machine images
-
sudo vim /etc/firewall.sh -
sudo /etc/firewall.sh
Start the Apapche web server on ws22 on localhost only (i.e. in /etc/apache2/ports.conf file change the line Listen 80 to Listen localhost:80)
- Use Local TCP forwarding from
ws21tows22to access the web server onws22fromws21
- Use Remote TCP forwarding from
ws11tows22to access the web server onws22fromws11
-
To check if the connection worked in both of the previous steps, go to a second terminal (e.g. with the Alt + F2) and run the
telnet 127.0.0.1 [local port]command.
p.s. Do not upload dumps to git under any circumstances!




































































































