notes/Статический_маршрут_(static...

94 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#### Статический маршрут (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
```