Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1 #24

Open
wants to merge 19 commits into
base: snet-22
Choose a base branch
from
17 changes: 17 additions & 0 deletions 4-01.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,14 @@
6. Напишите, какие протоколы и уровни модели OSI вы видите. Ответ внесите в комментарии к решению задания в личном кабинете Нетологии.

---
![image](https://github.com/duha2060/netology/assets/80347708/2e3c8bbd-4484-4ada-801a-88d2258aa9f1)

1. Канальный уровень - Протокол Ethernet. Поля загаловка канального уровеня содержат адрес отправителя и адрес получателя. Потом идет тип протокола следующего уровня IP (0800)
2. Сетевой уровень. Следующим идем как раз протокол IP. Его поля это версия протокола, поле длина заголовка, общая длина,3 поля для фрагментации , ip отправиля и ip получателя, дальше идет код протокола следующего уровня 17(UDP).
3. Транспортный уровень. Здесь используется протокол UDP. Его поля это порт отправиля и порт получателя, контрольня сумма
4. Прикоадной уровень. Протокол DNS.



### Задание 2. Инкапсуляция данных

Expand All @@ -66,6 +74,15 @@
5. Сравните пакеты между собой. В чём отличия с точки зрения модели OSI? Ответ внесите в комментарии к решению задания в личном кабинете Нетологии.

---

HTTP
![image](https://github.com/duha2060/netology/assets/80347708/e4e7e7fa-9edc-4c81-84aa-1eda0b797a61)

DNS
![image](https://github.com/duha2060/netology/assets/80347708/c60a9628-8502-41f1-ad9f-bdbe8ad4f47c)

Самое очивидное то, что используются разные протоколы 7 уровеня то есть прикладного - это HTTP и DNS. Также используются разные протоколы транспортного уровня - это TCP и UDP

### Правила приема работы
- В личном кабинете отправлена ссылка на ваш Google документ, в котором прописан код каждого скрипта и скриншоты, демонстрирующие корректную работу скрипта
- В документе настроены права доступа “Просматривать могут все в Интернете, у кого есть ссылка”
Expand Down
5 changes: 5 additions & 0 deletions 4-07.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,11 @@ openssl x509 -subject -issuer -noout -in certificate.crt
openssl verify certificate.crt
```

*Решение:*

![image](https://github.com/duha2060/netology/assets/80347708/74e577d9-cc02-4b8e-af4d-534b732ebae3)


------
### Правила приема работы
1. В личном кабинете отправлена ссылка на ваш Google документ, в котором прописан код каждого скрипта и скриншоты, демонстрирующие корректную работу скрипта.
Expand Down
19 changes: 16 additions & 3 deletions 4-09.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,21 @@
5. В VirtualBox настройте сетевой интерфейс vm2 так, чтобы он смотрел только в виртуальную сеть 192.168.123.0
6. Для vm1: настройте статический IP адрес у интерфейса смотрящего в сеть 192.168.123.0 (адрес в сети 123.0 выберите на своё усмотрение). Настройте IP-адрес интерфейса смотрящего в вашу локальную сеть так, проверьте чтобы была доступность по ICMP c vm1 до 8.8.8.8.
7. Для vm2: настройте статический IP адрес у интерфейса смотрящего в сеть 192.168.123.0 (адрес в сети 123.0 выберите на своё усмотрение), шлюзом укажите IP vm1 из сети 192.168.123.0
8. Проверьте доступность по ICMP:
![image](https://github.com/duha2060/netology/assets/80347708/411854f6-9b00-48ea-a63c-f673a20bbddf)
![image](https://github.com/duha2060/netology/assets/80347708/119782ab-0f59-4e03-a810-69b1e2bd3573)

9. Проверьте доступность по ICMP:
- vm2 с vm1 по IP
- vm1 с vm2 по IP
9. Приложите скриншоты результата.
![image](https://github.com/duha2060/netology/assets/80347708/cfb9d459-9084-4294-b9a7-6706cc1c5825)
![image](https://github.com/duha2060/netology/assets/80347708/db86a30e-6bd6-43c7-811f-2291e5d5d905)

10. Настройте пересылку трафика на vm1, чтобы с vm2 можно было отправить ICMP-запросы на 8.8.8.8 и приложите скриншот результата.
11. Ответ внесите в комментарии к решению задания в личном кабинете Нетологии.
![image](https://github.com/duha2060/netology/assets/80347708/4909c98f-1680-4ad3-91e0-be2adb41a6c5)

12. Ответ внесите в комментарии к решению задания в личном кабинете Нетологии.
![image](https://github.com/duha2060/netology/assets/80347708/7c214a9f-245d-4884-9454-a1fe000c1318)

---

Expand All @@ -60,7 +69,11 @@
1. Запустите программу VirtualBox.
2. В программе VirtualBox используйте результат предыдущей практической работы.
3. Настройте проброс портов из локальной сети компьютера с VirtualBox через vm1 порт 12322 в виртуальную сеть VirtualBox на 22 порт vm2.
4. Подключитесь к vm2 по ssh через Putty как было показано на уроке. Ответ внесите в комментарии к решению задания в личном кабинете Нетологии
![image](https://github.com/duha2060/netology/assets/80347708/ca9e9f7d-09ea-44f4-928f-a29431719022)

5. Подключитесь к vm2 по ssh через Putty как было показано на уроке. Ответ внесите в комментарии к решению задания в личном кабинете Нетологии
![image](https://github.com/duha2060/netology/assets/80347708/2fe697d1-094e-4f59-a904-b8cfdb87b776)


---

Expand Down
21 changes: 21 additions & 0 deletions 4-10.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,12 @@
5. Запустите службу DHCP:
*sudo systemctl start isc-dhcp-server.service*

![image](https://github.com/duha2060/netology/assets/80347708/832b9fdc-37bd-42e1-8ea9-16519b67d041)

Устройство получается ip из выделенного диапазона. Интерфейс enp0s8 на сервере используется для внутренней сети
![image](https://github.com/duha2060/netology/assets/80347708/63166878-eca6-49e3-a3a4-cc013a2ba8f6)


### Задание 2.

#### Описание задания
Expand All @@ -60,6 +66,21 @@
9. Проверьте работоспособность PXE-сервера, либо загрузив с него файл по сети, либо подключившись TFTP-клиентом.
10. Выполните скриншоты и ответ внесите в комментарии к решению задания.

Настройка конфига tftp
![image](https://github.com/duha2060/netology/assets/80347708/6a6fd396-f48d-4220-ab03-83182b61d5d1)

Настройка конфига dhcp

![image](https://github.com/duha2060/netology/assets/80347708/76232800-4b57-45f5-869f-8e5c51f54220)

![image](https://github.com/duha2060/netology/assets/80347708/6730dfcc-9379-4be6-96e9-b4bc8ea482a7)


Результат:
![image](https://github.com/duha2060/netology/assets/80347708/645d0d9b-f32f-4235-9bb3-170dbc030ecf)



### Правила приема работы
- В личном кабинете отправлена ссылка на ваш Google документ, в котором прописан код каждого скрипта и скриншоты, демонстрирующие корректную работу скрипта
- В документе настроены права доступа “Просматривать могут все в Интернете, у кого есть ссылка”
Expand Down
19 changes: 18 additions & 1 deletion 4-11.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,20 @@
6. Для проверки домашнего задания преподавателем отправьте ссылку на ваш Google документ в личном кабинете.
7. Любые вопросы по решению задач задавайте в чате учебной группы.

---
Проверка работоспособности:
![image](https://github.com/duha2060/netology/assets/80347708/8c3f2378-3c98-4615-bdc5-3f0761340226)


Конфиг named.conf.options:
![image](https://github.com/duha2060/netology/assets/80347708/62e31bb4-ad27-47c8-b01c-9cd98f42ea2e)

Конфиг named.conf.default-zones:
![image](https://github.com/duha2060/netology/assets/80347708/328e0986-07d8-47b4-a4e7-498eb4928b85)

Конфиг forward.bind:
![image](https://github.com/duha2060/netology/assets/80347708/604bf7b5-f258-42eb-ab6e-8215ab3555be)



### Задание 1.

Expand Down Expand Up @@ -58,6 +71,10 @@
5. Сделайте скриншот результата запроса по доменному имени ко второй виртуальной машине.
6. Со второй машины выполните обращение к любому ресурсу в Интернете так, чтобы запрос проходил через наш DNS-сервер на первой виртуальной машине. Сделайте скриншот.

Работоспособность:
![image](https://github.com/duha2060/netology/assets/80347708/94b4a17b-bdb2-4ace-b15d-1d9b99155930)


### Правила приема работы
- В личном кабинете отправлена ссылка на ваш Google документ, в котором прописан код каждого скрипта и скриншоты, демонстрирующие корректную работу скрипта.
- В документе настроены права доступа “Просматривать могут все в Интернете, у кого есть ссылка”.
Expand Down
33 changes: 32 additions & 1 deletion 4-12.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,14 +73,30 @@ http {
```
7. Зайдите на страницу в браузере, пропустив сообщение о неработающем сертификате.
8. Пришлите скриншот работающей страницы https://localhost.
9. Измените конфигурацию сервера добавив переадресацию c Вашего сервера на сайт netology.ru.
![image](https://github.com/duha2060/netology/assets/80347708/7c04705c-01ef-4ec6-81e7-7baea444cff9)

10. Измените конфигурацию сервера добавив переадресацию c Вашего сервера на сайт netology.ru.
```
location / {
return 301 https://netology.ru;
}
```

![image](https://github.com/duha2060/netology/assets/80347708/c1356376-e211-4970-9ffb-032198bcbee2)

10. Используя curl, сделайте запрос к своему серверу.

![image](https://github.com/duha2060/netology/assets/80347708/df8abd55-2ad3-4db1-935e-57b08e0998e7)


Конфиг nginx:

![image](https://github.com/duha2060/netology/assets/80347708/239e5499-56c3-4c98-bc59-cc3eb9ab7d60)





### Задание 2.

#### Описание задания
Expand All @@ -95,6 +111,21 @@ location / {
2. В программе VirtualBox загрузите вторую виртуальную машину с операционной системой Ubuntu.
3. Используя документацию [https://httpd.apache.org/docs/current/](https://httpd.apache.org/docs/current/), установите apache2 веб-сервер.
4. Выполните аналогичные действия как и задании 1, добившись аналогичной работы сервера.
![image](https://github.com/duha2060/netology/assets/80347708/fe415807-1bb7-4ed2-b201-18261ae9857f)

![image](https://github.com/duha2060/netology/assets/80347708/80a1eabe-c57e-46ec-9efb-a407bae09e7b)


переадресация на netologu.ru

![image](https://github.com/duha2060/netology/assets/80347708/33578d39-a28b-4175-b787-c218bac4b9ff)

![image](https://github.com/duha2060/netology/assets/80347708/a6f55b6f-8b3f-421c-ae68-69d33d8e7137)


![image](https://github.com/duha2060/netology/assets/80347708/a4e850a8-0cc3-4a94-948d-617157ffa361)



### Правила приема работы
1. В личном кабинете отправлена ссылка на ваш Google документ, в котором прописан код каждого скрипта и скриншоты, демонстрирующие корректную работу скрипта
Expand Down
49 changes: 46 additions & 3 deletions 5-04.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Домашнее задание к занятию "Работа с текстовыми утилитами"
### Домашние задание к занятию "Работа с текстовыми утилитами"

### Цель задания
В результате выполнения этого задания вы научитесь:
Expand Down Expand Up @@ -31,24 +31,60 @@

- Найдите все файлы с расширением `.conf` в /etc сначала с помощью команды `find`, а потом с помощью команды `locate`;
- Перенаправьте результаты работы каждой команды в разные файлы;

```bash
find /etc -name '*.conf' > find.txt
```
```bash
locate --regex "^/etc/.*\.conf$" > locate.txt
```
- Подсчитайте количество найденных файлов в каждом случае с помощью `wc`.
```bash
cat find.txt | wc -l
```
```bash
cat locate.txt | wc -l
```

![image](https://github.com/duha2060/netology/assets/80347708/daadc5ed-2b12-4565-9ab1-8b4eeb2d35ab)


------
### Задание 2.

- Выведите с помощью `cat` содержимое всех файлов в директории /etc `cat /etc/*`;
- Направьте ошибки в отдельный файл в вашей домашней директории;
- Стандартный поток вывода направьте в другой файл;
```bash
cat /etc/* > cat.txt 2> errorcat.txt
```
- Подсчитайте, сколько объектов не удалось прочитать.

```bash
cat errorcat.txt | wc -l
```
![image](https://github.com/duha2060/netology/assets/80347708/bbe86b20-7f09-4bf9-a893-5f7d0db7b573)

------
### Задание 3.

- Перенаправьте результат работы команды `ls -l` в каталоге с большим количеством файлов в утилиту `cut`, чтобы отобразить только права доступа к файлам;
```bash
ls -l /etc | cut -d " " -f1
```
- Отправьте в конвейере этот вывод на `sort` и `uniq`, чтобы отфильтровать все повторяющиеся строки;
```bash
ls -l /etc | cut -d " " -f1 | sort | uniq
```
- Уберите из подсчета строку `total`;
```bash
ls -l /etc | cut -d " " -f1 | sort | uniq | sed '/итого/d'
```
- С помощью `wc` подсчитайте различные типы разрешений в этом каталоге.

```bash
ls -l /etc | cut -d " " -f1 | sort | uniq | sed '/итого/d' | wc -l
```
![image](https://github.com/duha2060/netology/assets/80347708/70fe68a9-2a1f-495d-9927-1be0b4798d07)


------
## Дополнительные задания (со звездочкой*)
Expand All @@ -61,6 +97,13 @@

Сколько скрытых файлов в вашем домашнем каталоге?

```bash
find ~/ -name '.*' -type f | wc -l
```

![image](https://github.com/duha2060/netology/assets/80347708/a2ad2f2b-d4b8-4e83-88fa-6bb195c79bba)



------

Expand Down
90 changes: 89 additions & 1 deletion 5-05.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ do
done
```


Измените скрипт так, чтобы:

- для ввода пользователем были доступны все параметры. Помимо существующих PREFIX и INTERFACE, сделайте возможность задавать пользователю SUBNET и HOST;
Expand All @@ -65,6 +64,95 @@ done

------

```bash
#!/bin/bash
ip_re='^((25[0-5]|(2[0-4]|1[0-9]|[1-9]|)[0-9])\.?\b){2,4}$'
PREFIX="${1:-NOT_SET}"
INTERFACE="$2"
SUBNET="$3"
HOST="$4"

inteface_array=$(ls /sys/class/net)
if [[ ! $inteface_array =~ $INTERFACE ]]; then
echo "Interface $INTERFACE doesn't exists" >&2
exit 1
fi


function valid_ip () {
local stat=1
ip_re='^((25[0-5]|(2[0-4]|1[0-9]|[1-9]|)[0-9])\.?\b){2,4}$'
if [[ $IP =~ $ip_re ]];then
stat=$?
fi
return $stat
}

trap 'echo "Ping exit (Ctrl-C)"; exit 1' 2

username=$(id -nu)
if [ "$username" != root ]; then
echo "Must be root to run \"$(basename "$0")\"."
exit 1
fi


[[ "$PREFIX" = "NOT_SET" ]] && { echo "\$PREFIX must be passed as first positional argument"; exit 1; }
if [[ -z "$INTERFACE" ]]; then
echo "\$INTERFACE must be passed as second positional argument"
exit 1
fi

if [[ -z "$SUBNET" && -z "$HOST" ]] ;then
for SUBNET in {1..255}
do
for HOST in {1..255}
do
IP="${PREFIX}.${SUBNET}.${HOST}"
if valid_ip $IP;then
arping -c 3 -i "$INTERFACE" "${PREFIX}.${SUBNET}.${HOST}" 2> /dev/null
else
echo "Incorrect \$IP format" >&2
exit 1
fi
done
done
elif [[ -z "$HOST" ]]; then
for SUBNET1 in $SUBNET
do
for HOST in {1..255}
do
IP="${PREFIX}.${SUBNET}.${HOST}"
if valid_ip $IP;then
arping -c 3 -i "$INTERFACE" "${PREFIX}.${SUBNET}.${HOST}" 2> /dev/null
else
echo "Incorrect \$IP format" >&2
exit 1
fi
done
done

else
for SUBNET1 in $SUBNET
do
for HOST1 in $HOST
do
IP="${PREFIX}.${SUBNET}.${HOST}"
if valid_ip $IP;then
arping -c 3 -i "$INTERFACE" "${PREFIX}.${SUBNET}.${HOST}" 2> /dev/null
else
echo "Incorrect \$IP format" >&2
exit 1
fi
done
done
fi
```

![image](https://github.com/duha2060/netology/assets/80347708/324cf6f1-e828-4466-b759-386f9eee554a)



## Дополнительные задания (со звездочкой*)

Эти задания дополнительные (не обязательные к выполнению) и никак не повлияют на получение вами зачета по этому домашнему заданию. Вы можете их выполнить, если хотите глубже и/или шире разобраться в материале.
Expand Down
Loading