#### Статический маршрут (Static route)

**На Raspberry PI, чтобы маршрут сохранился после рестарта, его необходимо добавлять в эту папку `/lib/dhcpcd/dhcpcd-hooks/`. Подробнее в отдельной заметке**

Добавить маршрут можно используя route или через ip ro. Он будет сохранен до следующей перезагрузки
**синтаксис route**
```bash
route add [-net|-host] <IP/Net> netmask gw <Gateway IP> dev <Int>X
```
Пример:
```bash
route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.0.1
route add -net 192.168.2.0/24 gw 192.168.0.1
route add -host 192.168.3.158 gw 192.168.0.1
```
**синтаксис ip ro**
```bash
ip route add <IP/Net> via <Gateway IP>
```
Все параметры можно посмотреть ip route help

Пример:
```bash
ip ro add 192.168.2.0/24 via 192.168.0.1
ip ro add 192.168.3.159/32 via 192.168.0.1
```
_в команде ip можно использовать сокращенный синтаксис ip ro … в место ip route …_
Для удаления статического маршрута используйте **del** вместо **add**

Добавить маршрут по умолчанию
```bash
ip route add default via 10.7.0.1 dev enp1s0
```
маршрут через 10.7.0.1(допустим наш роутер) через интерфейс с именем enp1s0

**Как сохранить статический маршрут**

_Все эти маршруты будут добавлены в память и сохранятся до перезагрузки. Если необходимо, добавлять маршруты при загрузке системы, необходимо прописать их в файл конфигурации интерфейсов (для ubuntu и debian). `/etc/network/interfaces`_

Добавим в конец файла следующую сточку:
```bash
up ip ro add 192.168.2.0/24 via 192.168.0.1
```
пример файла конфигурации.
```bash
root@linux:~# cat /etc/network/interfaces
```
```
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
    address 172.16.0.69
    netmask 255.255.255.0
    network 172.16.0.0
    broadcast 172.16.0.255
    gateway 172.16.0.1
    # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers 172.16.0.1 172.16.0.3
#static route
up ip ro add 192.168.0.0/16 via 172.16.0.2
```
**Как посмотреть маршруты в системе**
```bash
root@linux:~# netstat -rn
```
```
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         172.16.0.1      0.0.0.0         UG        0 0          0 eth0
172.16.0.0      0.0.0.0         255.255.255.0   U         0 0          0 eth0
192.168.0.0     172.16.0.2      255.255.0.0     UG        0 0          0 eth0
```
```bash
root@linux:~# ip ro sh
```
```
default via 172.16.0.1 dev eth0
172.16.0.0/24 dev eth0  proto kernel  scope link  src 172.16.0.69
192.168.0.0/16 via 172.16.0.2 dev eth0
```
или ещё короче
```bash
root@linux:~# ip r s
```
```
default via 172.16.0.1 dev eth0
172.16.0.0/24 dev eth0  proto kernel  scope link  src 172.16.0.69
192.168.0.0/16 via 172.16.0.2 dev eth0
```