- Определить адрес сети 192.167.38.54/13.
На скриншоте показан результат работы программы ipcalc. Адрес сети указан в строчке Network: 192.160.0.0/13.
-
Перевод маски 255.255.255.0 в префиксную и двоичную запись, /15 в обычную и двоичную, 11111111.11111111.11111111.11110000 в обычную и префиксную.
-
Минимальный и максимальный хост в сети 12.167.38.4 при масках: /8, 11111111.11111111.00000000.00000000, 255.255.254.0 и /4
- Для localhost зарезервирован диапазон ip 127.0.0.1 - 127.255.255.254. Поэтому обратиться к приложению, работающем на localhost с IP 194.34.23.100 и 128.0.0.1 мы не сможем, тогда как к IP 127.0.0.2 и 127.1.0.1 сможем.
1) Частные и приватные IP:
Класс | Частные адреса | Публичные адреса |
---|---|---|
A | 10.0.0.0 — 10.255.255.255 | 1.0.0.0 - 9.255.255.255 11.0.0.0 - 126.255.255.255 |
B | 172.16.0.0 — 172.31.255.255 | 128.0.0.0 - 172.15.255.255 172.32.0.0 - 191.255.255.255 |
C | 192.168.0.0 — 192.168.255.255 | 192.0.0.0 - 192.167.255.255 192.169.0.0 - 223.255.255.255 |
В выводе команды ipcalc
обращаем внимание на строку Hosts/Net
, где должно быть указано Private Internet
если IP частный.
- Определить и записать в отчёт какие из перечисленных IP можно использовать в качестве публичных, а какие только в качестве частных:
- 10.0.0.45/8, Частный
- 134.43.0.2/16, Публичный
- 192.168.4.2/16, Частный
- 172.20.250.4/12, Частный
- 172.0.2.1/12, Публичный
- 192.172.0.1/12, Частный
- 172.68.0.2/12, Публичный
- 172.16.255.255/12, Частный
- 10.10.10.10/8, Частный
- 192.169.168.1/16 Публичный
- В выводе команды
ipcalc
обращаем внимание на строкуHosts/Net
, где должно быть указаноPrivate Internet
если IP частный.
- Шлюзы, возможные у сети 10.10.0.0/18:
- 10.10.0.2
- 10.10.10.10
- 10.10.1.255
- Вывод команды
ip a
.
- Изменение сетевого интерфейса. На первой машине заданый следующий адрес и маска: ws1 - 192.168.100.10, маска /16.
- На второй машине: ws2 - 172.24.116.8, маска /12
- Выполнение команды netplan apply для перезапуска сервиса сети
- Использование команды ip r add для добавления статического маршрута.
- ping 172.24.116.8 с ws1
- ping 192.168.100.10 c ws2
- После презапуска машин добавили статический маршруты от одной машины до другой в файле etc/netplan/00-installer-config.yaml
- Пропинговали соединения между машинами.
- 8 Mbps = 1 MB/s
- 100 MB/s = 819200 Kbps
- 1 Gbps = 1024 Mbps
- Ниже на скриншотах показана работа утилиты iperf3. Машина ws1 бала сервером, а клиентом была машина ws2. тест выполняется 10 секунд. В колонке bitrate можно посмотреть пропускную способность сети. Было предано 5.50 Мегабайт со сокростью 563 Мегабайт в секунду.
- Cодержание файла /etc/firewall.sh ws1
- Cодержание файла /etc/firewall.sh ws2
- Запуск файлов на обеих машинах командами
chmod +x /etc/firewall.sh
и/etc/firewall.sh
В iptables пакет попав в цепочку последовтельно проходит правила в порадке их пречесления до превого срабатывания. Поэтому для ws1 сработает правило DROP и пакет покинет цепочку, а для ws2 сработает правило ACCEPT.
- С помощью команды ping мы выяснили, что хост ws1 не пингуется, командой nmap проверили, что хост запущен.
- Cодержание файла etc/netplan/00-installer-config.yaml ws11
- Cодержание файла etc/netplan/00-installer-config.yaml ws21
- Cодержание файла etc/netplan/00-installer-config.yaml ws22
- Cодержание файла etc/netplan/00-installer-config.yaml r1
- Cодержание файла etc/netplan/00-installer-config.yaml r2
-
Применим изменения с помощью команды
sudo netplan apply
-
Теперь проверим, что адреса машин заданы верно с помощью команды
ip -4 a
-
Вывод комнады
ip -4 a
для ws11
- Вывод комнады
ip -4 a
для ws21
- Вывод комнады
ip -4 a
для ws22
- Вывод комнады
ip -4 a
для r1
- Вывод комнады
ip -4 a
для r2
- Пинг с ws21 до ws22
- Пинг с ws11 до r1
- Включение переадресации IP, командой
$ sysctl -w net.ipv4.ip_forward=1
- Содержание файла /etc/sysctl.conf на r1.
- Содержание файла /etc/sysctl.conf на r2.
- Содержание файла etc/netplan/00-installer-config.yaml после добавления маршрута по-умолчанию для трех рабочих станций ws11, ws21, ws22.
- Использование и вывод команды
ip r
для трех рабочих станций ws11, ws21, ws22.
- Пинг с ws11 роутер r2 и вывод команды
tcpdump -tn -i eth0
- Cодержание изменённого файла etc/netplan/00-installer-config.yaml для r1 и r2
- Таблицы с маршрутами на роутерах r1 и r2
- Команды на ws11
ip r list 10.10.0.0/[маска сети]
иip r list 0.0.0.0/0
Для адреса 10.10.0.0/18 был выбран маршрут, отличный от 0.0.0.0/0, потому что маска /18 описывает маршрут к сети точнее, в отличие от маски /0
- Запуск на r1 команду дампа
tcpdump -tnv -i eth0
- Cписок маршрутизаторов на пути от ws11 до ws21, полученный при помощи утилиты traceroute
Принцип работы traceroute Для определения промежуточных маршрутизаторов traceroute отправляет целевому узлу серию ICMP-пакетов, с каждым шагом увеличивая значение поля TTL («время жизни») на 1. Это поле обычно указывает максимальное количество маршрутизаторов, которое может быть пройдено пакетом. Первая серия пакетов отправляется с TTL, равным 1, и поэтому первый же маршрутизатор возвращает обратно ICMP-сообщение «time exceeded in transit», указывающее на невозможность доставки данных. Traceroute фиксирует адрес маршрутизатора, а также время между отправкой пакета и получением ответа (эти сведения выводятся на монитор компьютера). Затем traceroute повторяет отправку серии пакетов, но уже с TTL, равным 2, что заставляет первый маршрутизатор уменьшить TTL пакетов на единицу и направить их ко второму маршрутизатору. Второй маршрутизатор, получив пакеты с TTL=1, так же возвращает «time exceeded in transit».
Процесс повторяется до тех пор, пока пакет не достигнет целевого узла. При получении ответа от этого узла процесс трассировки считается завершённым.
- Вывод команды ping -c 1 10.30.0.111 на машине ws11
- Вывод команды tcpdump -n -i eth0 icmp на машине r1
- Изменение файла /etc/dhcp/dhcpd.conf и resolv.conf для r2
- Перезагрузка службы DHCP при помощи команды
systemctl restart isc-dhcp-server
- После перезагрузки машины ws21 проверяем получение адреса
- Результат пинга машины ws22 с ws21
-
Укажем MAC адрес у ws11, для этого в настройках виртуальной машины в нужном адаптере меняем MAC и в
etc/netplan/00-installer-config.yaml
добавим строки:macaddress: 10:10:10:10:10:BA dhcp4: true
- Изменение файла /etc/dhcp/dhcpd.conf и resolv.conf для машины r1
- Перезагрузка службы DHCP при помощи команды
$ systemctl restart isc-dhcp-server
- После перезагрузки машины ws11 проверяем получение адреса
Обновление адреса для машины ws21 при помощи запроса его у dhcp сервера. Сначала освобождаем текущий ip-адрес командой
sudo dhclient -r eth0
, а потом при помощи командыsudo dhclient eth0
получаем новый
- Ip-адрес машины ws21 до обновления
- Ip-адрес машины ws21 после обновления
- Изменение файла /etc/apache2/ports.conf на машинах ws22 и r1
- Вызов команды service apache2 start на машинах ws22 и r1
-
Добавляем в фаервол
/etc/firewall.sh
, для r2 пишем следующие правила:-
Удаление правил в таблице filter -
iptables -F
-
Удаление правил в таблице "NAT" -
iptables -F -t nat
-
Отбрасывать все маршрутизируемые пакеты -
iptables --policy FORWARD DROP
-
-
Запустим файл также, как в Part.4
$ sudo chmod +x /etc/firewall.sh
$ /etc/firewall.sh
- Проверка соединения между ws22 и r1. Соединение не проходит.
- Проверка соединения между ws22 и r1 после добавления правила на разрешение маршрутизации пакетов протокола ICMP. Соединение проходит.
# Разрешаем пропуск сквозных пакетов
-A FORWARD -i eth1 -j ACCEPT
-A FORWARD -o eth0 -j ACCEPT
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
- Содержание файла firewall.sh
- Проверка соединения машины ws22 с r1
- Проверка соединения машины r1 с ws22
- Запустить веб-сервер Apache на ws22 только на localhost (изменения в файле /etc/apache2/ports.conf)
- Выполнение Local TCP forwarding с машины ws21 до ws22 командой
$ ssh -L 8080:127.0.0.1:80 student@10.20.0.20
- Когда "тунель открыт" на ws21, проверяем соединение с веб-сервером
- Пробрасываем удаленное соединение Remote TCP forwarding c ws11 до ws22, чтобы получить доступ к веб-серверу на ws22 с ws11 командой
$ sudo ssh -R 8080:127.0.0.1:80 student@10.10.0.2
- Когда "тунель открыт", на ws11 проверяем соединение с веб-сервером Apache на ws22