Статическая маршрутизация

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Static Routing and the translation is 62% complete.
Other languages:
English • ‎русский

Что такое маршрут

Маршрут – это правило, устанавливаемое в вашем ядре, чтобы определить, какой физический сетевой интерфейс или какой шлюз использовать, чтобы достичь определённой сети (или отдельного компьютера). Существует множество типов маршрутизируемых протоколов, данная статья касается только маршрутизации IP протокола. IP-маршруты хранятся в ядре.

Показать таблицу маршрутизации с помощью iproute2:

user $ip route show
default via 192.168.1.1 dev wlan1 metric 1
192.168.50.0/24 dev lan proto kernel scope link src 192.168.50.1
127.0.0.0/8 via 127.0.0.1 dev lo 
192.168.1.0/24 dev wlan1 proto kernel scope link src 192.168.1.1

Или показать таблицу маршрутизации с использованием sys-apps/net-tools:

user $netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.50.0    0.0.0.0         255.255.255.0   U     0      0        0 lan
192.168.1.0     0.0.0.0         255.255.255.0   U     2000   0        0 wlan1
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         192.168.1.1     0.0.0.0         UG    2000   0        0 wlan1

Добавление статического маршрута

Чтобы добавить статический маршрут, необходимо знать IP и маску подсети, к которой прокладывается маршрут, и шлюз к этой подсети. В этом примере мы прокладываем маршрут к сети 10.10.10.0 с сетевой маской 255.255.255.0 через 192.168.1.50. sys-apps/iproute2 требует указания подсетей в стиле CIDR, поэтому в примере будет 10.10.10.0/24

Добавление статического маршрута с помощью sys-apps/iproute2

root #ip route add 10.10.10.0/24 via 192.168.1.50

Показать таблицу маршрутизации с использованием команды ip:

user $ip route
default via 192.168.1.1 dev wlan1 metric 1
10.10.10.0/24 dev wlan1 via 192.168.1.50 src 10.10.10.1
192.168.50.0/24 dev lan proto kernel scope link src 192.168.50.1
127.0.0.0/8 via 127.0.0.1 dev lo 
192.168.1.0/24 dev wlan1 proto kernel scope link src 192.168.1.1

Или показать таблицу маршрутизации с использованием netstat:

user $netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.10.10.0      192.168.1.50    255.255.255.0   UG    0      0        0 wlan1
192.168.50.0    0.0.0.0         255.255.255.0   U     0      0        0 lan
192.168.1.0     0.0.0.0         255.255.255.0   U     2000   0        0 wlan1
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         192.168.1.1     0.0.0.0         UG    2000   0        0 wlan1

На более старых системах вы, возможно, будете использовать команду route вместо вышеописанных, чтобы добавить статический маршрут:

root #route add -net 10.10.10.0 netmask 255.255.255.0 gw 192.168.1.50

Таблица маршрутизации отсортирована от наиболее конкретных маршрутов к наиболее общим, так она и прочитывается в процессе маршрутизации. Совпадение с наибольшим префиксом означает самую маленькую сеть, или сеть с самой длинной сетевой маской, или самый конкретный маршрут, например 255.255.255.255 находится на первой позиции в таблице маршрутизации

Adding a Permanent Static Route

For users of netifrc, to add a permanent static route, open your favorite text editor to /etc/conf.d/net and adjust accordingly. Make sure to refer to your current routing table for help.

Файл /etc/conf.d/net
...
routes_wlan1="10.10.10.0/24 via 192.168.1.50
    default via 192.168.1.1"
...

With dhcpcd as network manager the static route goes into /etc/dhcpcd.conf instead.

Both statements above mean:

  1. IP packets destined to the 10.10.10.0/24 network are send to 192.168.1.50
  2. IP packets destined to all 0.0.0.0/0 other networks are send to 192.168.1.1
Заметка
0.0.0.0/0 means all other networks without a prefix (Subnet mask), the default route

The default route 0.0.0.0/0 is used if:

  • the host has no physical or logical IP interface in the target network segment
  • the host has to send IP packets outside of its own IP network segment, and there is no specific route found in the routing table for target IP network

Смотрите также

  • Network management — lists network management software to establish and manage network connections.

External resources