# Практическая работа номер 1.1 - Управление сетью, устранение неполадок и отладка
# Создание snapshot систем


## Конфигурация сети
### ifconfig(устарела)
:::warning
Так как эта команда устарела - приведено поверхностное использование данной команды
:::
Вывод команды ifconfig:

MTU - максимальный блок отладки
Устанавливаем ip-адрес и маску интерфейса:
```
sudo ifconfig eth0 192.168.56.5 netmask 255.255.255.0
```
Поднять/положить интерфейс:
```
sudo ifconfig eth0 up/down
```
### ip
:::warning
При использовании этой команды результаты при перезагрузке теряются(например, маршруты, запущенные/остановленные интерфейсы)
Как вариант - прописывать в файл **up** <какая-то команда>/**down** <какая-то команда>. Это позволяет при включении или отключении сервиса, соответствующего этому конфигу, запускать команды.
:::
***ip addr show***
Посмотреть все сетевые интерфесы

***ip -4 addr show/ip -6 addr show***
Выводить только ipV4 или ipV6 адреса интерфейсов

***ip addr show dev <имя интерфейса>***
Просмотр информации только о конкретном интерфейсе

***sudo ip addr add <ip-адрес> dev <имя интерфейса>***
Назначение ip-адресов на интерфейс

***sudo ip addr del <ip-адрес> dev <имя интерфейса>***
Удаление ip-адреса с интерфейса

***ip link show***
Просмотр статуса интерфейсов без ip-адреса

***sudo ip link set <имя интерфейса> up/down***
Перевести интерфейс в статус включено/выключено

***sudo ip route add/del via/dev***
Используется для управления маршрутами.
***add*** - добавить
***del*** - удалить
***via*** - перенаправить на ip-адрес
***dev*** - перенаправить на интерфейс

### ethtool
***sudo ethtool <имя интерфейса>***
Используется для чтения, отображения настроек сетевого устройства и их настройки

### ping
***ping --help***
Вывести справку по команде
***ping <сайт или ip-адрес>***
По умолчанию отправляет 5 пакетов:

***ping <сайт или ip-адрес> -t***
:::warning
только в windows
Отправка неограниченного числа пакетов. В линукс- кастомное значение TTL
:::
***ping <сайт или ip-адрес> -c <кол-во пакетов>***
Отравить определенное количество пакетов

***ping <сайт или ip-адрес> -i <время в секундах>***
Интервал, с которым отсылаются пакеты. Если меньше 0.2 сек, то требуются root права

***sudo ping -f <сайт или ip-адрес>***
Используется для проверки на отказоустойчивость. В примере пинг запускался с сервера на Ubuntu. На ubuntu запущен tcpdump

***ping -s <размер пакета в байтах> <сайт или ip-адрес>***
Позволяет изменить размер icmp пакета на свое усмотрение.

***ping -q <сайт или ip-адрес>***
Позволяет не выводить ответы сервера, а сразу показать статистику

***ping -a <сайт или ip-адрес>***
Если сервер недоступен - вводим эту команду и идем чинить. Как только связь восстановиться - раздастся звуковой сигнал
### traceroute
***traceroute <сайт или ip-адрес>***
Позволяет просмотреть, каким путем идет трафик.

***!H*** Хост недостижим
***!N*** Сеть недостижима
***!P*** Протокол недоступен
***!S*** Ошибка в исходном маршруте
***!F*** Требуется фрагментация
Неполадки, вызванные целевой системой
Если в течение 3 секунд от целевой системы не будет получен ответ, то для всех запросов возникает тайм-аут, и в выводе команды указывается звездочка (*)
### mtr
Данная утилита командной строки сочетает в себе функции traceroute и ping.
***mtr <сайт или ip-адрес>***
В реальном времени выводит маршрут трафика и доступность по ICMP протоколу.

***mtr -c <кол-во пакетов> <сайт или ip-адрес>***
Позволяет отправить определенное количество пакетов и завершить выполнение программы.

***mtr <сайт или ip-адрес> -T***
Скрыть недоступные точки маршрута

### route
Эта утилита позволяет управлять маршрутами.
***sudo route add default gw <gateway ip>***
Данная команда добавляет шлюз по умолчанию.

***sudo route add -net <network ip/cidr> gw <gateway ip> <interface>***
Добавление маршрута

***sudo route del -net <network ip/cidr>***
Удаление маршрута

***sudo route add -host <ip-адрес> reject***
Отклонить пакеты от определенного адреса

***route add -net <ip-адрес> -netmask <значение маски> reject***
Отклонить пакеты из определенной сети

### nmcli
***sudo nmcli dev status***
Выводит статус по интерфейсам

***sudo nmcli con status***
Выводит статус по интерфейсам. С флагом ***-a*** - только активные подключения.

## Анализаторы трафика
### netstat (устарел)
***sudo netstat -tnlp***
В зависимости от опций выводит фильтрованную информацию. В данном примере выводит tcp-порты в режиме прослушивания и программы, которые их прослушивают

***netstat -r***
Просмотр таблицы маршрутизации ядра

### ss
***sudo ss -ta***
Данная команда позволяет вывести все открытые tcp-порты на сервере

***sudo ss -to***
Отобразить все активные TCP-соединения вместе с их таймерами, выполните следующую команду

### NetCat(nc)
***nc -zv <ip-адрес> <номера портов>***
Сканирование портов на исследуемой машине

Можно указывать порты в качестве диапазона:

***nc -nlv <номер порта>***
Прослушивание определенного порта

### nmap
Мощная утилита для сканирования
***nmap <ip-адрес/доменное имя>***

### host
***host <доменное имя>***
Утилита для перевода доменных имен в ip-адреса:

### dig
***dig <доменное имя>***
Аналогично *host*, но позволяет просмотреть записи DNS

### nslookup
***nslookup <доменное имя>***
Функционал аналогичен dig и host

## Анализаторы сетевых пакетов
### tcpdump
***sudo tcpdump -i <имя интерфейса>***
Позволяет перехватить пакеты с заданного интерфейса

***sudo tcpdump -c <количество пакетов> -i <имя интерфейса>***
Позволяет захватить определенное количество пакетов с определенного интерфейса

***sudo tcpdump -w <имя файла> -i <имя интерфейса>***
Запись перехваченных пакетов в файл

### Wireshark
Популярный, мощный, универсальный и простой в использовании инструмент для захвата и анализа пакетов в сети с коммутацией пакетов в режиме реального времени.

### bmon
Терминальный анализатор пакетов

# Команды-справки:
### whatis
Дает кратку справку о команде

### man
Расширенная справка о команде

Запись в файл:

### file
Данная команда позволяет узнать сведения о файле

# 1.2
## 2.1

**MAC-адрес компьютера:** 00:0c:29:56:92:ed
**IP-адрес компьютера**: 192.168.232.140
**Маска подсети:** 255.255.255.0
**Адрес широковещательной рассылки:** 192.168.232.255
## 2.2
Обновили пароль пользователя root.

Создание пользователя person

## 2.3

Проверяем, что настройки применились:

## 2.4
Правим конфигурацию через консоль:

Проверяем правильность и применяем конфиг:

## 2.5
Добавляем адреса dns-сервера:

Перезапускаем службы для применения настроек:

## 2.6
Проверяем доступность пинга:


## 2.7
Шифруем каталог для person1

Устанавливаем парольную фразу:

Защищаем файл подкачки.

Проверяем шифрование

Резервная копия наших данных если что-то пойдет не так
