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