Вся цель сети – получить трафик от точки A до точки B.
Когда компьютер запрашивает информацию у другого, пакеты направляются в пункт назначения, а затем обратно.
Иногда компьютеры нуждаются в небольшом руководстве о том, как отправить пакеты в пункт назначения.
Это называется маршрутизацией.
Чтобы помочь в этом, узлы используют концепцию таблицы маршрутизации, чтобы помочь решить, куда отправлять пакеты с конкретными адресами.
Давайте посмотрим, как настроить статический маршрут в CentOS / RHEL 6,7, используя 2 метода:
1. Использование NetworkManager
2. Использование файлов конфигурации /etc/sysconfig/network-scripts
CentOS / RHEL 7 с NetworkManager
1. Используйте nmcli, nmtui или инструменты GUI для изменения маршрутов сети
2. Чтобы добавить маршрут с помощью nmcli, измените свойство ipv4.routes соединения.
Например, чтобы добавить маршрут к сети 10.20.30.0/24 через 192.168.100.10 для соединения с именем «external»:
# nmcli connection modify external ipv4.routes "10.20.30.0/24 192.168.100.10"
3. Чтобы добавить дополнительные маршруты, используйте модификатор + (плюс) в свойстве ipv4.routes подключения:
# nmcli connection modify external +ipv4.routes "10.0.1.0/24 192.168.100.20"
4. Несколько маршрутов могут быть добавлены сразу, разделенные запятой:
# nmcli connection modify external ipv4.routes "10.20.30.0/24 192.168.100.10, 10.0.1.0/24 192.168.100.20"
Удаление маршрутов с помощью nmcli
1. Чтобы удалить маршрут, используйте модификатор – (минус) в свойстве ipv4.routes подключения, указав маршрут, который нужно удалить:
# nmcli connection modify external -ipv4.routes "10.0.1.0/24 192.168.100.20"
# nmcli connection modify external ipv4.routes ""
3. После любых изменений, приведенных выше, подключите соединение, чтобы внести изменения.
Например, после изменения свойств соединения с именем «external»:
# nmcli connection up external
CentOS / RHEL 6,7 без NetworkManager
1. Чтобы добавить статические маршруты, создайте или измените файл route- [interface] в каталоге /etc/sysconfig/network-scripts/, где [interface] – это имя интерфейса, к которому относятся маршруты.
Каждый маршрут должен отображаться в одной строке и принимать базовую форму [network/prefixс] через [gateway], где [network/prefix – это адрес удаленной сети с префиксом, а [gateway] – это IP-адрес следующего перехода.
Например, чтобы добавить маршрут в сеть 10.20.30.0/24 через 192.168.100.10 и маршрут к сети 10.0.1.0/24 через 192.168.10.20, чтобы оба были активны, когда eth0 поднялся:
# cat /etc/sysconfig/network-scripts/route-eth0 10.20.30.0/24 via 192.168.100.10 10.0.1.0/24 via 192.168.10.20
2. Интерфейс должен быть поднят снова, чтобы изменения вступили в силу:
# ifup eth0
3. Все версии RHEL, не использующие NetworkManager, также распознают старый синтаксис файлов route- [interface]:
ADDRESS[N]=X.X.X.X NETMASK[N]=Y.Y.Y.Y GATEWAY[N]=Z.Z.Z.Z
Например:
ADDRESS0=10.10.10.0 NETMASK0=255.255.255.0 GATEWAY0=192.168.1.2 ADDRESS1=20.20.20.0 NETMASK1=255.255.255.0 GATEWAY1=192.168.1.2
Этот формат имеет три поля: GATEWAY, NETMASK и ADDRESS.
В каждом поле должен быть добавлен номер, указывающий, к какому маршруту он относится.
В приведенном выше примере Z.Z.Z.Z является IP-адресом шлюза.
Последующие записи должны быть последовательно пронумерованы (например, ADDRESS1 =, NETMASK1 =, GATEWAY1 =).
Обратите внимание, что несколько записей должны быть последовательно пронумерованы и не должны пропускать значение (за ним следует 1, а не число больше 1).