# Практика №2. GRE-туннелирование
Выполнил: Кожемякин Данила Иванович
# Задание к практической работе:
- [ ] Проверить настройки в соответствии с топологией сети, предоставленной выше
- Все linux машинки с названиями Debian имеют операционную систему [debian-10-srv](https://disk.yandex.ru/d/vCRLw5v8ZcSTzQ) (Если отсутствует образ в EVE-NG, его необходимо добавить)
- Все linux машинки с названиями Kali имеют операционную систему [kali-2021](https://disk.yandex.ru/d/1PvLrHkTNrwKpw) (Если отсутствует образ в EVE-NG, его необходимо добавить)
- Mikrotik имеет версию [6.39](https://disk.yandex.ru/d/EW2rZ75A3GrMcg) или 6.47
- Firewall pfSense - версия [2.5.2](https://disk.yandex.ru/d/3JnDJSY77zt6-g)
# Описание практический работы:
В данной работе необходимо научиться строить GRE туннели на оборудовании CISCO, Mikrotik и Linux OS. Дополнительно - ознакомиться с возможностью маршрутизации через GRE-туннели
# Выполнение задания
## 1.Настройка GRE на маршрутизатора mikrotik.
Начнем с того, что нам требуется создать GRE интерфейс, в котором мы указаем локальный адрес и удалённый адрес устройства, с которым будет установлен GRE туннель
```
/interface gre
add allow-fast-path=no keepalive=3s,1 local-address=10.10.40.7 mtu=1400 name=\
tunnel3 remote-address=10.10.50.8
```
После создания интерфейса, ему нужно присвоить ip адрес
```
add address=172.10.101.1/30 interface=tunnel3 network=172.10.101.0
```
Производим аналогичную настройку на другом устройстве, с которым будет установлено туннелирование.
Результат:

## 2.Настройка GRE на маршрутизаторах CISCO.
На маршрутизатор CISCO GRE по моему мнению настраивается легче.
```
interface Tunnel1
ip address 172.10.100.1 255.255.255.252
ip mtu 1400
ip tcp adjust-mss 1360
tunnel source Ethernet0/1
tunnel destination 10.10.30.4
!
```
Аналогично настраиваем на другом маршрутизаторе CISCO, с которым будет установлен соединение.
Результат:

## 3.Настройка GRE на линукс машинках
Здесь главная проблема в том, что обе машинки находятся в сетках, трафик которых регулируют фаерволлы. Начнем с настройки PfSense
Правило для прохождения GRE трафика:

NAT правило для форвардинга GRE трафика на машинку, с которой будет устанавливать туннелирование:

Настройка linux firewall:
Самая сложная часть задания, т.к. нам нужно использовать дополнительные модули для работы с GRE туннелем:

После указания необходимых модулей, прописываем reboot и можем начинать работать с iptables

Здесь мы задаем также правила для прохождения трафика от адреса 192.168.2.2 по GRE туннелю.
В NAT правилах мы указываем адрес машинки, куда должен направляться маршрут, в данном случае с машинкой, с которой будет устанавливаться gre туннелирование
Теперь можно настроить GRE туннели на самих машинках:

Аналогично настраиваем на противоположной машинке.
Результат:
