# Практическая работа №1. Настройка сети в GNU/Linux
###### tags: `Организация сетевой безопасности`
---
## 1. Разворачивание Ubuntu GUI (desktop) и Ubuntu CLI (server)


---
## 2. Создание снимков виртуальных хостов


---
## 3. Настройка сети
### 3.1 Утилита ifconfig
ifconfig - [устаревшая](https://habr.com/ru/post/320278/) утилита из пакета net-tools, которая используется для настройки сетевых интерфейсов.
Синтаксис команды:
ifconfig [-v] [-a] [-s] [interface]
ifconfig [-v] interface [aftype] options | address ...
---
#### ifconfig

> вывод информации о поднятых интерфейсах
---
#### ifconfig -a

> вывод информации обо всех интерфейсах
---
#### ifconfig -s

> вывод краткой информации о поднятых интерфейсах
---
#### ifconfig -v

> вывод информации о поднятых интерфейсах и возможных пояснениях при наличии ошибок
---
#### ifconfig -a [inteface]

> вывод информации о конкретном интерфейсе
---
#### ifconfig [inteface] up

> активация интерфейса
---
#### ifconfig [inteface] down

> выключение интерфейса
---
#### ifconfig [interface] [ip add] netmask [netmask]

> задает определенному интерфейсу ip-адрес и маску сети
---
### 3.2 Утилита ping
ping - утилита для проверки доступности хоста при помощи ICMP-запросов.
Синтаксис команды:
ping [ -LRUbdfnqrvVaAB] [ -c count] [ -i interval] [ -l preload] [ -p pattern] [ -s packetsize] [ -t ttl] [ -w deadline] [ -F flowlabel] [ -I interface] [ -M hint] [ -Q tos] [ -S sndbuf] [ -T timestamp option] [ -W timeout] [ hop ...] destination
---
#### ping [host]

> проверка доступности хоста
---
#### ping -c [count] [host]

> проверка доступности хоста определенным количеством ECHO-запросов
---
#### ping -i [interval] [host]

> проверка доступности хоста используя нестандартный интервал при отправке ECHO-запросов
---
#### ping -I [interface] [host]

> проверка доступности хоста посылая ECHO-запросы с определенного интерфейса
---
### 3.3 Утилита traceroute
traceroute - утилита для сканирования ip-адресов и dns-имен хостов, находящихся на пути до конечного хоста.
Синтаксис команды:
traceroute [-46dFITUnreAV] [-f first_ttl] [-g gate,...] [-i device] [-m max_ttl] [-p port] [-s src_addr] [-q nqueries] [-N squeries] [-t tos] [-l flow_label] [-w waittime] [-z sendwait] [-UL] [-P proto] [--sport=port] [-M method] [-O mod_options] [--mtu] [--back] host [packet_len] traceroute6 [options]
- **!H**
Хост недостижим
- **!N**
Сеть недостижима
- **!P**
Протокол недоступен
- **!S**
Ошибка в исходном маршруте
- **!F**
Требуется фрагментация
- **\***
Неполадки, вызванные целевой системой
Если в течение 3 секунд от целевой системы не будет получен ответ, то для всех запросов возникает тайм-аут.
---
#### traceroute -I [host]

> показывает хосты по пути до [host], используя ICMP
---
### 3.4 Утилита mtr
mtr - утилита для сканирования ip-адресов и dns-имен хостов, находящихся на пути до конечного хоста, в интерактивном режиме.
Синтаксис команды:
mtr [-hvrctglspniu46] [--help] [--version] [--report] [--report-wide] [--report-cycles COUNT] [--curses] [--split] [--raw] [--no-dns] [--gtk] [--address IP.ADD.RE.SS] [--interval SECONDS] [--psize BYTES | -s BYTES] HOSTNAME [PACKETSIZE]
---
#### mtr [host]

> показывает хосты по пути до [host]
---
#### mtr -c [count] [host]

> показывает хосты по пути до [host] с ограничением в количестве отправляемых запросов
---
#### mtr [host]

> переключение в дисплейный режим
---
### 3.5 Утилита route
route - утилита для просмотра и настройки таблицы маршрутизации.
Синтаксис команды:
route [-v] [-A family] add [-net|-host] target [netmask Nm] [gw Gw] [metric N] [mss M] [window W] [irtt I] [reject] [mod] [dyn] [reinstate] [[dev] If]
---
#### route

> вывод таблицы маршрутизации
---
#### route add default gw [ip-addr]

> добавление стандартного шлюза
---
#### route add -net [ip-addr/nm] gw [ip-addr]

> добавление маршрута
---
#### route del -net [ip-addr/nm] gw [ip-addr]

> удаление маршрута
---
#### route add -host [ip-addr] reject

> запрет на обработку трафика, исходящего от определенного хоста
---
#### route add -net [ip-addr/nm] reject

> запрет на обработку трафика, исходящего из определенной сети
---
### 3.6 Утилита nmcli
nmcli - утилита для гибкой настройки сетевых интерфейсов.
nmcli [ OPTIONS ] OBJECT { COMMAND \| help }
---
#### nmcli dev status

> показывает сетевые интерфейсы
---
#### nmcli con show

> показывает сетевые подключения
---
### 3.7 Утилита ethtool
ethtool - утилита для изменения параметров настройки сетевой карты.
---
#### ethtool [interface]

> вывод информации о параметрах сетевой карты интерфейса
---
#### ethtool -s [interface] speed [num] duplex [mode]

> попытка изменить настройки сетевой карты
---
## 4. Сканирование сети
### 4.1 Утилита netstat
netstat - утилита, показывающая информацию о сетевых подключениях, таблиц маршрутизации, сетевых интерфейсах, членстве в групповой рассылке и преобразовании адресов при NAPT
---
#### netstat -tnlp

> вывод информации о прослушиваемых портах, tcp-сессиях и процессах, которые устанавливают эти подключения, поддерживая перевод названий хостов, портов и процессов в числовые значения
---
#### netstat -r

> вывод таблицы маршрутизации
---
### 4.2 Утилита ss
ss - утилита, показывающая информацию о состоянии сокетов.
---
#### ss -ta

> вывод информации о всех tcp-сокетах
---
#### ss -toa

> вывод информации о всех tcp-сокетах и времение действия активных tcp-сессий
---
### 4.3 Утилита nc
ns - утилита для создания/настройки сетевых подключений
---
#### nc -zv [ip-addr] [ports]

> выводит информацию о портах
---
#### nc -zv [ip-addr] [range ports] [ports]

> выводит информацию о портах
---
#### nc -p [port1] -w [sec] [ip-addr] [port2]

> открывает соединение с хоста и порта port1 на хост ip-addr по port2 с прерыванием после sec
---
#### nc -nlv [num_port]

> слушает num_port
---
### 4.4 Утилита nmap
nmap - мощный инструмент для сканирования сетей, хостов и портов.
---
#### nmap

> сканирование портов хоста
---
### 4.5 Утилита host
host - утилита для получения максимальной информации о dns-записях хоста
---
#### host [host]

> выводит dns-записи хоста
---
### 4.6 Утилита dig
dig - утилита для получения максимальной информации о dns-записях хоста
---
#### dig [host]

> выводит dns-записи хоста
---
### 4.5 Утилита nslookup
nslookup - утилита для получения информации о dns-записях хоста
---
#### nslookup [host]

> выводит dns-записи хоста
---
## 5. Анализаторы сетевого трафика
### 5.1 Утилита tcpdump
#### tcpdump -i [interface]

> указать, с какого интерфейса считывать трафик
---
#### tcpdump -c [count]

> указать количество пакетов
---
#### tcpdump -w [file]

> указать перенаправление вывода на запись в файл
---
### 5.2 Утилита wireshark
#### wireshark

> просмотр трафика
---
### 5.3 Утилита bmon
#### bmon

> простой интерактивный инспектор трафика
---
## 6. Утилита ip
#### ip a show

> вывод интерфейсов и их ip-адресов
---
#### ip a show dev [iface]

> вывод конкретного интерфейса
---
#### ip a add [ip-addr/netmask] dev [iface]

> добавление ip-адреса
---
#### ip a del [ip-addr/netmask] dev [iface]

> удаление ip-адреса
---
#### ip l show

> вывод информации об интерфейсах
---
#### ip l show dev [iface]

> вывод конкретного интерфейса
---
#### ip l set dev [iface] up/down

> активация/выключение интерфейса
---
#### ip r

> вывод таблицы маршрутизации
---
#### ip r add [network] via [gw]

> добавление маршрута
---
### ip r del [network] via [gw]

> удаление маршрута
---
## 7. Утилита man
#### man 1 man

> вывод 1 страницы мануала
---
## 8. Шифрование домашнего каталога
#### ecryptfs-migrate-home -u crypto-us
> шифрование домашнего каталога юзера


---
#### ecrypto-setup-swap
> шифрование swap'а

---